やるきなし

2014/05/02 17:23 / RPM パケージからの差分を見る

なぜか CentOS 5 を触ることになった.

rpm -V [package_name]

でインストールした時点からのファイルに加えられた変更を確認できるが,その差分まで見たい時の話.

まず rpm を拾ってくる.これは http://www.cyberciti.biz/faq/yum-downloadonly-plugin/ のMethod #2を参考にしつつ,yum-utils に入っている yumdownloader を使う.

yumdownloader [package_name]

でカレントディレクトリにrpmを取得できる.

あとは http://superuser.com/questions/194928/view-configuration-file-changes-with-rpm-or-yum を参考に rpmpeek を使う.

rpmpeek は rpmdevtools に含まれていて,rpmdevtools は EPEL (extra packages for enterprise Linux)に入っている (参考: Available Repositories for CentOS).ということで,yumで rpmdevtools を installするために epel-release-5-4.noarch.rpm (とか)を拾ってきてrpmで突っ込んであとは yum install rpmdevtools する.

あとはrpmpeakを叩くだけ.

RPM=package_name
for FILE in `rpm -V $RPM | sed -e 's+^[^/]*++' | grep '^/etc/'` ; do
  rpmpeek $RPM*.rpm diff -uw .$FILE $FILE
done

Related articles