RPMパッケージマネージャおよび使用
一.RPMの紹介とその構成:
1.)RPMパッケージの概要:
rpmはソースパケット,バイナリパケット,Deltaパケットの3種類に分けられる.ソースパッケージはrpmで自動的にコンパイルされ、インストールされます.
2.)Linuxのパッケージマネージャ:
dpkg:debianリリースバージョンのパッケージマネージャ.
rpm:redhatリリース版のパッケージマネージャ.
3)パッケージ構成部分:
バイナリ:
/bin/sbin,/usr/bin/usr/sbin,/usr/local/bin
一部の特殊なプログラムは/libexecディレクトリに配置されています.
一部のデフォルトは/optディレクトリにインストールされています.
ライブラリファイル(ライブラリの開発、ライブラリの実行):
/lib64,/usr/lib64
プロファイル:
/etc
ヘルプファイル:
/usr/share/man
ヘルプファイル:マニュアルman、情報ページinfo.
4.)RPMパッケージマネージャ:
データベース:
プログラム名とバージョン番号.
パッケージ依存関係.
パッケージの機能説明.
生成した各ファイルパスチェックコードをインストールします.
プログラム構成表:
書類リスト.
アンインストール時に実行されるスクリプトをインストールします.
二.RPM使用操作:
1)RPMインストールパッケージコマンド.
2.)RPMアンインストールパッケージコマンド.
3)パッケージのアップグレードコマンド.
4)RPMクエリー操作コマンド.
5)パッケージソースの正当性、完全性検査.
三.RPMパッケージデータベース.
rpmデータベースの再構築:
まとめ:
アンインストールやクエリーを使用する場合は、パッケージのフルネームではなく、バージョン番号の前のアルファベットで操作します.
本当にrpmデータベースを再構築する必要がある場合は、再構築にバックアップする必要があります.
rpmパッケージをインストールする場合は、依存パッケージをインストールする必要がある場合は、辛抱強くインストールするか、yumを使用してインストールします.強制インストールを使用したり、依存関係のインストールを無視したりしないほうがいいです.インストールに成功しても、パッケージが実行できない可能性があります.
サードパーティ製パッケージのインストールについては、パッケージの正当性を検証することが望ましい.信頼できるサイトにダウンロードします.
1.)RPMパッケージの概要:
rpmはソースパケット,バイナリパケット,Deltaパケットの3種類に分けられる.ソースパッケージはrpmで自動的にコンパイルされ、インストールされます.
2.)Linuxのパッケージマネージャ:
dpkg:debianリリースバージョンのパッケージマネージャ.
rpm:redhatリリース版のパッケージマネージャ.
3)パッケージ構成部分:
バイナリ:
/bin/sbin,/usr/bin/usr/sbin,/usr/local/bin
一部の特殊なプログラムは/libexecディレクトリに配置されています.
一部のデフォルトは/optディレクトリにインストールされています.
ライブラリファイル(ライブラリの開発、ライブラリの実行):
/lib64,/usr/lib64
プロファイル:
/etc
ヘルプファイル:
/usr/share/man
ヘルプファイル:マニュアルman、情報ページinfo.
4.)RPMパッケージマネージャ:
データベース:
プログラム名とバージョン番号.
パッケージ依存関係.
パッケージの機能説明.
生成した各ファイルパスチェックコードをインストールします.
プログラム構成表:
書類リスト.
アンインストール時に実行されるスクリプトをインストールします.
二.RPM使用操作:
1)RPMインストールパッケージコマンド.
* waring key , 。 。
-i: 。
# rpm -i zsh-4.3.10-7.el6.x86_64.rpm
warning: zsh-4.3.10-7.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
-v: 。
# rpm -iv zsh-4.3.10-7.el6.x86_64.rpm
Preparing packages for installation...
zsh-4.3.10-7.el6
-vv: v 。
# rpm -ivv zsh-4.3.10-7.el6.x86_64.rpm
D: ============== zsh-4.3.10-7.el6.x86_64.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
-h: # , # 2% 。
# rpm -ivh zsh-4.3.10-7.el6.x86_64.rpm
Preparing... ########################################### [100%]
1:zsh ########################################### [100%]
--test: 。
# rpm -ivh --test zsh-4.3.10-7.el6.x86_64.rpm
Preparing... ########################################### [100%]
rpm -q ,--test 。
# rpm -q zsh
package zsh is not installed
--nodeps: 。
# rpm -ivh php-dba-5.3.3-26.el6.x86_64.rpm
error: Failed dependencies:
php-common(x86-64) = 5.3.3-26.el6 is needed by php-dba-5.3.3-26.el6.x86_64
, php-common , 。 , , 。
# rpm -ivh --nodeps php-dba-5.3.3-26.el6.x86_64.rpm
Preparing... ########################################### [100%]
1:php-dba ########################################### [100%]
# rpm -q php-dba
php-dba-5.3.3-26.el6.x86_64
--replacepkgs: , , , .rpmnew 。
zsh 。
#rpm -qc zsh
/etc/skel/.zshrc
...
, #hello word!
# rpm -ivh --replacepkgs zsh-4.3.10-7.el6.x86_64.rpm
Preparing... ########################################### [100%]
1:zsh ########################################### [100%]
, , hello woed。
2.)RPMアンインストールパッケージコマンド.
-e: rpm 。
。
# rpm -e zsh
warning: /etc/skel/.zshrc saved as /etc/skel/.zshrc.rpmsave
# rpm -q zsh
package zsh is not installed
3)パッケージのアップグレードコマンド.
-U: 。
# rpm -U zsh-4.3.10-7.el6.x86_64.rpm
warning: zsh-4.3.10-7.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
package zsh-4.3.10-7.el6.x86_64 is already installed
(gèng) , 。
-F: 。
--force: , 。
4)RPMクエリー操作コマンド.
-q: 。
# rpm -q zsh
zsh-4.3.10-7.el6.x86_64
-ap: 。
# rpm -qa | more
system-config-firewall-base-1.2.27-5.el6.noarch
tcp_wrappers-7.6-57.el6.x86_64
sinjdoc-0.5-9.1.el6.x86_64
gtksourceview2-2.8.2-4.el6.x86_64
dejavu-fonts-common-2.30-2.el6.noarch
...
-qi: 。
# rpm -qi zsh
Name : zsh Relocations: (not relocatable)
Version : 4.3.10 Vendor: CentOS
Release : 7.el6 Build Date: Mon 25 Nov 2013 01:40:59 AM C
Install Date: Sun 20 Jul 2014 11:01:39 AM CST Build Host: c6b9.bsys.dev.centos.o
Group : System Environment/Shells Source RPM: zsh-4.3.10-7.el6.src.rpm
Size : 5009102 License: BSD
Signature : RSA/SHA1, Mon 25 Nov 2013 03:33:46 AM CST, Key ID 0946fca2c105b9de
Packager : CentOS BuildSystem <
-ql: 。
# rpm -ql zsh | more
/bin/zsh
/etc/skel/.zshrc
/etc/zlogin
/etc/zlogout
/etc/zprofile
/etc/zshenv
/etc/zshrc
/usr/lib64/zsh
/usr/lib64/zsh/4.3.10
-qc: 。
# rpm -qc zsh
/etc/skel/.zshrc
/etc/zlogin
/etc/zlogout
/etc/zprofile
/etc/zshenv
/etc/zshrc
-qd: 。
# rpm -qd zsh | more
/usr/share/doc/zsh-4.3.10/BUGS
/usr/share/doc/zsh-4.3.10/CONTRIBUTORS
/usr/share/doc/zsh-4.3.10/FAQ
/usr/share/doc/zsh-4.3.10/FEATURES
/usr/share/doc/zsh-4.3.10/LICENCE
/usr/share/doc/zsh-4.3.10/MACHINES
/usr/share/doc/zsh-4.3.10/NEWS
-q --scriptes: 。
:
。
。
。
。
# rpm -q --scripts zsh
postinstall scriptlet (using /bin/sh):
if [ ! -f /etc/shells ] ; then
echo "/bin/zsh" > /etc/shells
else
grep -q "^/bin/zsh$" /etc/shells || echo "/bin/zsh" >> /etc/shells
fi
if [ -f /usr/share/info/zsh.info.gz ]; then
# This is needed so that --excludedocs works.
...
-qf: 。
# rpm -qf /etc/zshenv
zsh-4.3.10-7.el6.x86_64
-qp: 。
# rpm -qp zsh-4.3.10-7.el6.x86_64.rpm
zsh-4.3.10-7.el6.x86_64
5)パッケージソースの正当性、完全性検査.
rpm --import key
warning 。
# rpm --import /media/RPM-GPG-KEY-CentOS-6
# rpm -qp zsh-4.3.10-7.el6.x86_64.rpm
zsh-4.3.10-7.el6.x86_64
:
rpm -qa gpg-pubkey*
# rpm -qa gpg-pubkey*
gpg-pubkey-c105b9de-4e0fd3a3
rpm -qi gpg-pubkey-name
# rpm -qi gpg-pubkey-c105b9de-4e0fd3a3
Name : gpg-pubkey Relocations: (not relocatable)
Version : c105b9de Vendor: (none)
Release : 4e0fd3a3 Build Date: Sun 20 Jul 2014 11:13:27 AM C
Install Date: Sun 20 Jul 2014 11:13:27 AM CST Build Host: localhost
Group : Public Keys Source RPM: (none)
Size : 0 License: pubkey
Signature : (none)
Summary : gpg(CentOS-6 Key (CentOS 6 Official Signing Key) <[email protected]
Description :
...
三.RPMパッケージデータベース.
rpmデータベースの再構築:
rpm :/var/lib/rpm
:
rpm --initdb: , , , , 。
rpm --rebuilddb: , 。
# cd /var/lib/rpm
#tar czvf rpm-db.tgz ./__db00*
#rpm --rebuilddb
rpm :
warning: waiting for transaction lock on /var/lib/rpm/__db.000
error: can't create transaction lock on /var/lib/rpm/__db.000
。
まとめ:
アンインストールやクエリーを使用する場合は、パッケージのフルネームではなく、バージョン番号の前のアルファベットで操作します.
本当にrpmデータベースを再構築する必要がある場合は、再構築にバックアップする必要があります.
rpmパッケージをインストールする場合は、依存パッケージをインストールする必要がある場合は、辛抱強くインストールするか、yumを使用してインストールします.強制インストールを使用したり、依存関係のインストールを無視したりしないほうがいいです.インストールに成功しても、パッケージが実行できない可能性があります.
サードパーティ製パッケージのインストールについては、パッケージの正当性を検証することが望ましい.信頼できるサイトにダウンロードします.