rpmコマンドの覚え書き
今日もコマンドを忘れてしまい、詰められたのでmanを眺めてメモにする
[root@v8148 ~]# rpm -q --scripts nss-3.16.1-4.el6_5.x86_64 postinstall scriptlet (using /bin/sh): # If we upgrade, and the shared filename is a regular file, then we must # remove it, before we can install the alternatives symbolic link. if [ $1 -gt 1 ] ; then # when upgrading or downgrading if ! test -L /usr/lib64/libnssckbi.so; then rm -f /usr/lib64/libnssckbi.so fi fi # Install the symbolic link # FYI: Certain other packages use alternatives --set to enforce that the first # installed package is preferred. We don't do that. Highest priority wins. /usr/sbin/update-alternatives --install /usr/lib64/libnssckbi.so \ libnssckbi.so.x86_64 /usr/lib64/nss/libnssckbi.so 10 /sbin/ldconfig postuninstall scriptlet (using /bin/sh): if [ $1 -eq 0 ] ; then # package removal /usr/sbin/update-alternatives --remove libnssckbi.so.x86_64 /usr/lib64/nss/libnssckbi.so else # upgrade or downgrade # If the new installed package uses a regular file (not a symblic link), # then cleanup the alternatives link. if ! test -L /usr/lib64/libnssckbi.so; then /usr/sbin/update-alternatives --remove libnssckbi.so.x86_64 /usr/lib64/nss/libnssckbi.so fi fi /sbin/ldconfig
- インストール済みパッケージを表示
[root@v8148 ~]# rpm -qa setup-2.8.14-20.el6_4.1.noarch basesystem-10.0-4.el6.noarch ncurses-base-5.7-3.20090208.el6.x86_64 ncurses-libs-5.7-3.20090208.el6.x86_64 libattr-2.4.44-7.el6.x86_64 zlib-1.2.3-29.el6.x86_64 ...
- 指定したパッケージによってインストールされたファイル・ディレクトリを表示
[root@v8148 ~]# rpm -ql wget-1.12-1.11.el6_5.x86_64 /etc/wgetrc /usr/bin/wget /usr/share/doc/wget-1.12 /usr/share/doc/wget-1.12/AUTHORS /usr/share/doc/wget-1.12/COPYING /usr/share/doc/wget-1.12/MAILING-LIST /usr/share/doc/wget-1.12/NEWS /usr/share/doc/wget-1.12/README ...
- あるファイルがどのパッケージによって作成されたか表示
[root@v8148 ~]# rpm -qf /usr/bin/ssltap nss-tools-3.16.1-4.el6_5.x86_64
- パッケージのインストール
[root@v8148 ~]# rpm -ivh postgresql-8.4.20-2.el6_6.i686.rpm
- パッケージのアンインストール
[root@v8148 ~]# rpm -e curl-7.19.7-37.el6_5.3.x86_64
- パッケージのアップデート
[root@v8148 ~]# rpm -Uvh postgresql-8.4.20-2.el6_6.i686.rpm
- パッケージのinfo表示
[root@v8148 ~]# rpm -qi openssl-1.0.1e-16.el6_5.15.x86_64 Name : openssl Relocations: (not relocatable) Version : 1.0.1e Vendor: CentOS Release : 16.el6_5.15 Build Date: 2014年08月14日 04時17分00秒 Install Date: 2014年09月16日 13時43分06秒 Build Host: c6b8.bsys.dev.centos.org Group : System Environment/Libraries Source RPM: openssl-1.0.1e-16.el6_5.15.src.rpm Size : 4209650 License: OpenSSL Signature : RSA/SHA1, 2014年08月14日 05時09分50秒, Key ID 0946fca2c105b9de Packager : CentOS BuildSystem <http://bugs.centos.org> URL : http://www.openssl.org/ Summary : A general purpose cryptography library with TLS implementation Description : The OpenSSL toolkit provides support for secure communications between machines. OpenSSL includes a certificate management tool and shared libraries which provide various cryptographic algorithms and protocols.
- -v以上の詳細表示
# -vを指定 [root@v8148 ~]# rpm -ihv postgresql-8.4.20-2.el6_6.i686.rpm エラー: 依存性の欠如: libc.so.6 は postgresql-8.4.20-2.el6_6.i686 に必要とされています libc.so.6(GLIBC_2.0) は postgresql-8.4.20-2.el6_6.i686 に必要とされています libc.so.6(GLIBC_2.1) は postgresql-8.4.20-2.el6_6.i686 に必要とされています libc.so.6(GLIBC_2.1.2) は postgresql-8.4.20-2.el6_6.i686 に必要とされています libc.so.6(GLIBC_2.1.3) は postgresql-8.4.20-2.el6_6.i686 に必要とされています libc.so.6(GLIBC_2.11) は postgresql-8.4.20-2.el6_6.i686 に必要とされています libc.so.6(GLIBC_2.2) は postgresql-8.4.20-2.el6_6.i686 に必要とされています libc.so.6(GLIBC_2.3) は postgresql-8.4.20-2.el6_6.i686 に必要とされています libc.so.6(GLIBC_2.3.3) は postgresql-8.4.20-2.el6_6.i686 に必要とされています libc.so.6(GLIBC_2.3.4) は postgresql-8.4.20-2.el6_6.i686 に必要とされています libc.so.6(GLIBC_2.4) は postgresql-8.4.20-2.el6_6.i686 に必要とされています libpq.so.5 は postgresql-8.4.20-2.el6_6.i686 に必要とされています libreadline.so.6 は postgresql-8.4.20-2.el6_6.i686 に必要とされています libssl.so.10 は postgresql-8.4.20-2.el6_6.i686 に必要とされています libssl.so.10(libssl.so.10) は postgresql-8.4.20-2.el6_6.i686 に必要とされています libz.so.1 は postgresql-8.4.20-2.el6_6.i686 に必要とされています postgresql-libs(x86-32) = 8.4.20-2.el6_6 は postgresql-8.4.20-2.el6_6.i686 に必要とされています # -vvを指定 [root@v8148 ~]# rpm -ihvv postgresql-8.4.20-2.el6_6.i686.rpm D: ============== postgresql-8.4.20-2.el6_6.i686.rpm D: loading keyring from pubkeys in /var/lib/rpm/pubkeys/*.key D: couldn't find any keys in /var/lib/rpm/pubkeys/*.key D: loading keyring from rpmdb D: opening db environment /var/lib/rpm cdb:mpool:joinenv D: opening db index /var/lib/rpm/Packages rdonly mode=0x0 D: locked db index /var/lib/rpm/Packages D: opening db index /var/lib/rpm/Name rdonly mode=0x0 D: read h# 153 Header sanity check: OK D: added key gpg-pubkey-c105b9de-4e0fd3a3 to keyring D: Using legacy gpg-pubkey(s) from rpmdb D: Expected size: 2706348 = lead(96)+sigs(1284)+pad(4)+data(2704964) D: Actual size: 2706348 D: postgresql-8.4.20-2.el6_6.i686.rpm: ヘッダ V3 RSA/SHA1 Signature, key ID c105b9de: OK D: ========== relocations D: added binary package [0] D: found 0 source and 1 binary packages D: ========== +++ postgresql-8.4.20-2.el6_6 i686/linux 0x1 D: opening db index /var/lib/rpm/Providename rdonly mode=0x0 D: read h# 155 ヘッダ V3 RSA/SHA1 Signature, key ID c105b9de: OK D: Requires: glibc YES (provides データベース D: Requires: glibc YES (キャッシュ済み) D: read h# 166 ヘッダ V3 RSA/SHA1 Signature, key ID c105b9de: OK D: Requires: initscripts YES (provides データベース D: Requires: initscripts YES (キャッシュ済み) D: Requires: libc.so.6 NO D: package postgresql-8.4.20-2.el6_6.i686 has unsatisfied Requires: libc.so.6 D: Requires: libc.so.6(GLIBC_2.0) NO D: package postgresql-8.4.20-2.el6_6.i686 has unsatisfied Requires: libc.so.6(GLIBC_2.0) D: Requires: libc.so.6(GLIBC_2.1) NO D: package postgresql-8.4.20-2.el6_6.i686 has unsatisfied Requires: libc.so.6(GLIBC_2.1) D: Requires: libc.so.6(GLIBC_2.1.2) NO D: package postgresql-8.4.20-2.el6_6.i686 has unsatisfied Requires: libc.so.6(GLIBC_2.1.2) D: Requires: libc.so.6(GLIBC_2.1.3) NO D: package postgresql-8.4.20-2.el6_6.i686 has unsatisfied Requires: libc.so.6(GLIBC_2.1.3) D: Requires: libc.so.6(GLIBC_2.11) NO D: package postgresql-8.4.20-2.el6_6.i686 has unsatisfied Requires: libc.so.6(GLIBC_2.11) D: Requires: libc.so.6(GLIBC_2.2) NO D: package postgresql-8.4.20-2.el6_6.i686 has unsatisfied Requires: libc.so.6(GLIBC_2.2) D: Requires: libc.so.6(GLIBC_2.3) NO D: package postgresql-8.4.20-2.el6_6.i686 has unsatisfied Requires: libc.so.6(GLIBC_2.3) D: Requires: libc.so.6(GLIBC_2.3.3) NO D: package postgresql-8.4.20-2.el6_6.i686 has unsatisfied Requires: libc.so.6(GLIBC_2.3.3) D: Requires: libc.so.6(GLIBC_2.3.4) NO D: package postgresql-8.4.20-2.el6_6.i686 has unsatisfied Requires: libc.so.6(GLIBC_2.3.4) D: Requires: libc.so.6(GLIBC_2.4) NO D: package postgresql-8.4.20-2.el6_6.i686 has unsatisfied Requires: libc.so.6(GLIBC_2.4) D: Requires: libpq.so.5 NO D: package postgresql-8.4.20-2.el6_6.i686 has unsatisfied Requires: libpq.so.5 D: Requires: libreadline.so.6 NO D: package postgresql-8.4.20-2.el6_6.i686 has unsatisfied Requires: libreadline.so.6 D: Requires: libssl.so.10 NO D: package postgresql-8.4.20-2.el6_6.i686 has unsatisfied Requires: libssl.so.10 D: Requires: libssl.so.10(libssl.so.10) NO D: package postgresql-8.4.20-2.el6_6.i686 has unsatisfied Requires: libssl.so.10(libssl.so.10) D: Requires: libz.so.1 NO D: package postgresql-8.4.20-2.el6_6.i686 has unsatisfied Requires: libz.so.1 D: Requires: postgresql-libs(x86-32) = 8.4.20-2.el6_6 NO D: package postgresql-8.4.20-2.el6_6.i686 has unsatisfied Requires: postgresql-libs(x86-32) = 8.4.20-2.el6_6 D: Requires: rpmlib(CompressedFileNames) <= 3.0.4-1 YES (rpmlib 提供) D: Requires: rpmlib(FileDigests) <= 4.6.0-1 YES (rpmlib 提供) D: Requires: rpmlib(PayloadFilesHavePrefix) <= 4.0-1 YES (rpmlib 提供) D: Requires: rtld(GNU_HASH) YES (provides データベース D: Requires: rpmlib(PayloadIsXz) <= 5.2-1 YES (rpmlib 提供) D: opening db index /var/lib/rpm/Conflictname rdonly mode=0x0 エラー: 依存性の欠如: libc.so.6 は postgresql-8.4.20-2.el6_6.i686 に必要とされています libc.so.6(GLIBC_2.0) は postgresql-8.4.20-2.el6_6.i686 に必要とされています libc.so.6(GLIBC_2.1) は postgresql-8.4.20-2.el6_6.i686 に必要とされています libc.so.6(GLIBC_2.1.2) は postgresql-8.4.20-2.el6_6.i686 に必要とされています libc.so.6(GLIBC_2.1.3) は postgresql-8.4.20-2.el6_6.i686 に必要とされています libc.so.6(GLIBC_2.11) は postgresql-8.4.20-2.el6_6.i686 に必要とされています libc.so.6(GLIBC_2.2) は postgresql-8.4.20-2.el6_6.i686 に必要とされています libc.so.6(GLIBC_2.3) は postgresql-8.4.20-2.el6_6.i686 に必要とされています libc.so.6(GLIBC_2.3.3) は postgresql-8.4.20-2.el6_6.i686 に必要とされています libc.so.6(GLIBC_2.3.4) は postgresql-8.4.20-2.el6_6.i686 に必要とされています libc.so.6(GLIBC_2.4) は postgresql-8.4.20-2.el6_6.i686 に必要とされています libpq.so.5 は postgresql-8.4.20-2.el6_6.i686 に必要とされています libreadline.so.6 は postgresql-8.4.20-2.el6_6.i686 に必要とされています libssl.so.10 は postgresql-8.4.20-2.el6_6.i686 に必要とされています libssl.so.10(libssl.so.10) は postgresql-8.4.20-2.el6_6.i686 に必要とされています libz.so.1 は postgresql-8.4.20-2.el6_6.i686 に必要とされています postgresql-libs(x86-32) = 8.4.20-2.el6_6 は postgresql-8.4.20-2.el6_6.i686 に必要とされています D: closed db index /var/lib/rpm/Conflictname D: closed db index /var/lib/rpm/Providename D: closed db index /var/lib/rpm/Name D: closed db index /var/lib/rpm/Packages D: closed db environment /var/lib/rpm
- 実際には実行せず-iや-eした際のチェックを行う(--test)
# install [root@v8148 ~]# rpm -i --test postgresql-8.4.20-2.el6_6.i686.rpm エラー: 依存性の欠如: libc.so.6 は postgresql-8.4.20-2.el6_6.i686 に必要とされています libc.so.6(GLIBC_2.0) は postgresql-8.4.20-2.el6_6.i686 に必要とされています libc.so.6(GLIBC_2.1) は postgresql-8.4.20-2.el6_6.i686 に必要とされています libc.so.6(GLIBC_2.1.2) は postgresql-8.4.20-2.el6_6.i686 に必要とされています libc.so.6(GLIBC_2.1.3) は postgresql-8.4.20-2.el6_6.i686 に必要とされています libc.so.6(GLIBC_2.11) は postgresql-8.4.20-2.el6_6.i686 に必要とされています libc.so.6(GLIBC_2.2) は postgresql-8.4.20-2.el6_6.i686 に必要とされています libc.so.6(GLIBC_2.3) は postgresql-8.4.20-2.el6_6.i686 に必要とされています libc.so.6(GLIBC_2.3.3) は postgresql-8.4.20-2.el6_6.i686 に必要とされています libc.so.6(GLIBC_2.3.4) は postgresql-8.4.20-2.el6_6.i686 に必要とされています libc.so.6(GLIBC_2.4) は postgresql-8.4.20-2.el6_6.i686 に必要とされています libpq.so.5 は postgresql-8.4.20-2.el6_6.i686 に必要とされています libreadline.so.6 は postgresql-8.4.20-2.el6_6.i686 に必要とされています libssl.so.10 は postgresql-8.4.20-2.el6_6.i686 に必要とされています libssl.so.10(libssl.so.10) は postgresql-8.4.20-2.el6_6.i686 に必要とされています libz.so.1 は postgresql-8.4.20-2.el6_6.i686 に必要とされています postgresql-libs(x86-32) = 8.4.20-2.el6_6 は postgresql-8.4.20-2.el6_6.i686 に必要とされています # erase [root@v8148 ~]# rpm -e --test libblkid-2.17.2-12.14.el6_5.x86_64 エラー: 依存性の欠如: libblkid.so.1()(64bit) は (インストール済み)util-linux-ng-2.17.2-12.14.el6_5.x86_64 に必要とされています libblkid.so.1()(64bit) は (インストール済み)e2fsprogs-1.41.12-18.el6_5.1.x86_64 に必要とされています libblkid.so.1(BLKID_1.0)(64bit) は (インストール済み)util-linux-ng-2.17.2-12.14.el6_5.x86_64 に必要とされています libblkid.so.1(BLKID_1.0)(64bit) は (インストール済み)e2fsprogs-1.41.12-18.el6_5.1.x86_64 に必要とされています libblkid.so.1(BLKID_2.15)(64bit) は (インストール済み)util-linux-ng-2.17.2-12.14.el6_5.x86_64 に必要とされています libblkid.so.1(BLKID_2.15)(64bit) は (インストール済み)e2fsprogs-1.41.12-18.el6_5.1.x86_64 に必要とされています libblkid.so.1(BLKID_2.17)(64bit) は (インストール済み)util-linux-ng-2.17.2-12.14.el6_5.x86_64 に必要とされています libblkid.so.1(BLKID_2.17)(64bit) は (インストール済み)e2fsprogs-1.41.12-18.el6_5.1.x86_64 に必要とされています libblkid = 2.17.2-12.14.el6_5 は (インストール済み)util-linux-ng-2.17.2-12.14.el6_5.x86_64 に必要とされています
- パッケージの更新履歴を見る
[root@v8148 ~]# rpm -q --changelog libblkid-2.17.2-12.14.el6_5.x86_64 * 水 4月 09 2014 Karel Zak <kzak@redhat.com> 2.17.2-12.14.el6_5 - fix #1085818 - hwclock --systohc can hang on busy or virtual machine * 火 8月 06 2013 Karel Zak <kzak@redhat.com> 2.17.2-12.14 - improve agetty patches for #816342 and #870854 * 火 7月 30 2013 Karel Zak <kzak@redhat.com> 2.17.2-12.13 - fix #816342 - agetty: improve CLOCAL flag management - fix #846790 - missing information about threads in kill(2) man page
- 依存するパッケージを確認
[root@v8148 ~]# rpm -qR libblkid-2.17.2-12.14.el6_5.x86_64 /bin/sh /sbin/ldconfig libblkid.so.1()(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.4)(64bit) libc.so.6(GLIBC_2.7)(64bit) libuuid = 2.17.2-12.14.el6_5 libuuid.so.1()(64bit) libuuid.so.1(UUID_1.0)(64bit) rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rtld(GNU_HASH) rpmlib(PayloadIsXz) <= 5.2-1
- 指定したパッケージに依存しているパッケージを確認
[root@v8148 ~]# rpm -q --whatrequires glibc libstdc++-4.4.7-4.el6.x86_64 pam-1.1.1-17.el6.x86_64 glibc-common-2.12-1.132.el6_5.4.x86_64