RPMコマンドの使い方色々

潟若若菴遵

[CentOS]

本文

rpmコマンドの使い方です。man rpm したら書いてあることばかりなので、正しくはそちらを参照してください。

rpm コマンドの使い方色々

いつパッケージをインストール/更新したかを確認する "--last"

rpm で管理しているLinuxディストリビューションにおいて、いつパッケージを導入もしくは更新したかを知りたい時があります。"--last"オプションを使うと、パッケージをインストール時刻順に、 最新のパッケージが先頭になるような順で並べることが可能です。

$ rpm -qa --last |head -10
mediawiki119-1.19.24-1.el6.noarch             Wed Sep  9 08:12:52 2015
postgresql-libs-8.4.20-3.el6_6.x86_64         Wed Sep  9 08:12:50 2015
php-xml-5.3.3-46.el6_6.x86_64                 Wed Sep  9 08:12:50 2015
php-pgsql-5.3.3-46.el6_6.x86_64               Wed Sep  9 08:12:50 2015
php-mysql-5.3.3-46.el6_6.x86_64               Wed Sep  9 08:12:50 2015
libxslt-1.1.26-2.el6_3.1.x86_64               Wed Sep  9 08:12:50 2015
php-pdo-5.3.3-46.el6_6.x86_64                 Wed Sep  9 08:12:49 2015
mysql-server-5.1.73-5.el6_6.x86_64            Wed Sep  9 08:09:39 2015
perl-DBI-1.609-4.el6.x86_64                   Wed Sep  9 08:09:38 2015
perl-DBD-MySQL-4.013-3.el6.x86_64             Wed Sep  9 08:09:38 2015

この例では10件だけですが、head で制限しなければ、インストール済の全パッケージでこのような情報が表示されます。

設定ファイルを確認する {-c|--configfiles}

パケージ名を指定することで、そのパッケージに含まれるファイルのうち、設定ファイルとされているものの一覧を表示します(パッケージが正しく作られていることを前提としますが)

$ rpm -qc mysql-server
/etc/logrotate.d/mysqld
/var/log/mysqld.log

書き換わったファイルを確認する {-V|--verify}

$ sudo rpm -V rsyslog
S.5....T.  c /etc/logrotate.d/syslog
S.5....T.  c /etc/rsyslog.conf

なお、ファイルの改ざんチェックは、root 権限が必要なので、root権限で実行しないと、チェックに失敗することがあります。

$ sudo rpm -Va

で、全パッケージについてチェックすることも可能です。

そのパッケージに含まれている全ファイルを表示する {-l|--list}

$ rpm -ql sed
/bin/sed
/usr/share/doc/sed-4.2.2
/usr/share/doc/sed-4.2.2/AUTHORS
/usr/share/doc/sed-4.2.2/BUGS
/usr/share/doc/sed-4.2.2/COPYING
/usr/share/doc/sed-4.2.2/COPYING.DOC
/usr/share/doc/sed-4.2.2/NEWS
/usr/share/doc/sed-4.2.2/README
/usr/share/doc/sed-4.2.2/THANKS
/usr/share/doc/sed-4.2.2/sedfaq.txt.gz
/usr/share/info/sed.info.gz
/usr/share/locale/af/LC_MESSAGES/sed.mo
/usr/share/locale/ast/LC_MESSAGES/sed.mo
/usr/share/locale/ca/LC_MESSAGES/sed.mo
/usr/share/locale/cs/LC_MESSAGES/sed.mo
/usr/share/locale/da/LC_MESSAGES/sed.mo
/usr/share/locale/de/LC_MESSAGES/sed.mo
/usr/share/locale/el/LC_MESSAGES/sed.mo
/usr/share/locale/eo/LC_MESSAGES/sed.mo
/usr/share/locale/es/LC_MESSAGES/sed.mo
/usr/share/locale/et/LC_MESSAGES/sed.mo
/usr/share/locale/eu/LC_MESSAGES/sed.mo
/usr/share/locale/fi/LC_MESSAGES/sed.mo
/usr/share/locale/fr/LC_MESSAGES/sed.mo
/usr/share/locale/ga/LC_MESSAGES/sed.mo
/usr/share/locale/gl/LC_MESSAGES/sed.mo
/usr/share/locale/he/LC_MESSAGES/sed.mo
/usr/share/locale/hr/LC_MESSAGES/sed.mo
/usr/share/locale/hu/LC_MESSAGES/sed.mo
/usr/share/locale/id/LC_MESSAGES/sed.mo
/usr/share/locale/it/LC_MESSAGES/sed.mo
/usr/share/locale/ja/LC_MESSAGES/sed.mo
/usr/share/locale/ko/LC_MESSAGES/sed.mo
/usr/share/locale/nb/LC_MESSAGES/sed.mo
/usr/share/locale/nl/LC_MESSAGES/sed.mo
/usr/share/locale/pl/LC_MESSAGES/sed.mo
/usr/share/locale/pt/LC_MESSAGES/sed.mo
/usr/share/locale/pt_BR/LC_MESSAGES/sed.mo
/usr/share/locale/ro/LC_MESSAGES/sed.mo
/usr/share/locale/ru/LC_MESSAGES/sed.mo
/usr/share/locale/sk/LC_MESSAGES/sed.mo
/usr/share/locale/sl/LC_MESSAGES/sed.mo
/usr/share/locale/sr/LC_MESSAGES/sed.mo
/usr/share/locale/sv/LC_MESSAGES/sed.mo
/usr/share/locale/tr/LC_MESSAGES/sed.mo
/usr/share/locale/uk/LC_MESSAGES/sed.mo
/usr/share/locale/vi/LC_MESSAGES/sed.mo
/usr/share/locale/zh_CN/LC_MESSAGES/sed.mo
/usr/share/locale/zh_TW/LC_MESSAGES/sed.mo
/usr/share/man/man1/sed.1.gz

changelog を確認する {--changelog}

$ rpm --changelog -q sed |head -10
* 月  2月 10 2014 Jan Pacner <jpacner@redhat.com> - 4.2.2-5
- Related: #948598 (Man page scan results for sed; introduce -c argument, add
  help for -b --binary arguments, cleanup arguments & help)

* 金  1月 24 2014 Daniel Mach <dmach@redhat.com> - 4.2.2-4
- Mass rebuild 2014-01-24

* 金 12月 27 2013 Daniel Mach <dmach@redhat.com> - 4.2.2-3
- Mass rebuild 2013-12-27