May 18, 2016

yum でリストファイルからインストールする

マジで良く忘れるので書いておく。主な用途としては、パッケージバージョンを同じにしたいとき。調査検証するとき用。

まず sosreport の installed-rpms とか rpm コマンドで以下の様なファイルを作っておく。

Deployment_Guide-ja-JP-5.8-1.el5.centos.noarch
GConf2-2.14.0-9.el5.i386
ImageMagick-6.2.8.0-12.el5.i386
MAKEDEV-3.23-1.2.i386
NetworkManager-0.7.0-13.el5.i386
~~ 以下略 ~~

読み込ませつつ、完全なバージョン指定でインストール。

# yum install $(<installed-rpms.txt) -y

ちなみに xargs で渡しても良い。

# cat installed-rpms.txt | xargs yum install -y

最後に diff して余分なパッケージは取り除いておく。

ちなみに el5 系で rpm -qa | sort とかした場合 %{ARCH} とか足りない場合があるので、以下で対応する。

# rpm -qa --qf="%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n"|sort

© Kazuhisa Hara 2014-2018