Linux学習の——パッケージ管理rpm(八)
RPM 紹介する
Red Hat LinuxがRPMパッケージを発売する前に、Linuxオペレーティングシステムの下のソフトウェアは主にソースコードの形式で発表された.利用者にとっては自分でソフトウェアをコンパイルする必要があり、インストールもアンインストールも不便で、敷居が高い.プリコンパイルされたプログラムは、ライブラリファイルの依存性の問題で使用できないことが多い.
RPMはRed Hat Package Managerの略で、本意はRed Hatパッケージ管理であり、その名の通りRed Hatが貢献したパッケージ管理である.Fedora、Redhat、Mandriva、SuSE、YellowDogなど主流のリリースバージョンと、これらのリリースに加えて二次開発されたリリースバージョンが採用されています.
RPMには実行可能なバイナリプログラムが含まれています.このプログラムはWindowsのパッケージの.exeファイルと似ています.RPMパッケージには、プログラムの実行に必要なファイルも含まれています.これもWindowsのパッケージと似ています.Windowsのプログラムの実行には、.exeファイルのほかに、他のファイルもあります.
RPMパッケージ内のアプリケーションでは、自身が持っている追加ファイルが正常であることを保証するほか、パッケージの依存関係である他の特定のバージョンのファイルが必要になる場合があります.
RPMコマンドパラメータの意味
RPMの一般的なコマンドの略語オプションは、以下を参照してください.
q
Query(クエリー)
p
パッケージ
i
information
l
リスト
f
file(ファイル)
c
conf(プロファイル)
V
义齿
R
requires(依存性)
1 rpmコマンドでRPMパッケージを管理する
Red Hat Package Manager(RPMと略称)ツールパッケージは、操作が簡単で便利であるため、ソフトウェアのクエリー、インストール、アンインストール、アップグレード、検証などの機能を実現でき、Linuxユーザーのために多くの時間を節約できるため、Linuxの下でソフトウェアをインストール、削除するのに広く応用されている.rpmコマンドフォーマット:rpm[option][ソフトウェアインストールパッケージパスI名]RHEL 5インストールディスクのパッケージは、ディスクルートディレクトリのServerディレクトリに格納されます
2 RPMパッケージのインストール
.RPMパッケージは、通常、dhcp-3.0.5-18.el 5.i 386.rpmのようなファイル名を有する.パッケージ名(dhcp)、バージョン番号(3.0.5-18)、リリース版(el 5)、ハードウェアプラットフォーム(i 386)が含まれます.パッケージをインストールするには、次のコマンドを簡単に入力します.
rpm -ivh PackageName
パラメータ
フルネーム
説明する
i
install
インストール
v
verbose
インストールプロセス情報の表示
h
hash
インストールの進捗状況を「#」記号で示す
●RPMのインストールが完了すると、パッケージの名前が印刷され(必ずしもファイル名と同じではない)、インストールの進捗状況を示すために一連の番号が印刷されます.
3インストールRPMパッケージパッケージがインストールされました
パッケージがインストールされている場合、$rpm-ivh gedit-2.16.0-9.el 5.i 386.rpm Preparing….########################1 111111#[100%]package gedit-2.16.0-9.el 5.i 386 is already installedパッケージをインストールする場合は、「-replacepkgs」オプションを使用して、RPMはこのエラーメッセージを無視して強制的にインストールします.
4 RPMパッケージのインストール-ファイルの競合
インストールするパッケージの1つのファイルが他のパッケージのインストール時にインストールされている場合、次のエラーメッセージが表示されます.
RPMにこのエラー情報を無視させるには、--replacefilesコマンドラインオプションを使用します.
5、RPMパッケージのインストール-依存関係が解決されていない
・RPMパッケージは、他のパッケージに依存する場合があり、すなわち、特定のパッケージがインストールされた後にインストールする必要がある.パッケージをインストールするときに、このような未解決の依存関係がある場合.次の情報が表示されます.
●この問題を解決するには、依存するパッケージをインストールする必要があります.インストールを強制する場合は、「--nodeps」コマンドラインオプションを使用します.//できるだけそうしないでください.
6、パッケージの削除
rpm -e PackageName
パラメータ
フルネーム
説明する
e
erase
削除
7、RPMパッケージのアップグレードソフトウェアパッケージコマンド:
パラメータ
フルネーム
説明する
U
Update
更新
v
verbose
インストールプロセス情報の表示
h
hash
インストールの進捗を表示
RPMでは、インストールされている古いfooパッケージが自動的にアンインストールされ、情報は表示されません.実際には、-Uを使用してパッケージをインストールしたり、正常に動作したりすることができます.RPMがインテリジェントなパッケージアップグレードを実行するため、プロファイルを自動的に処理し、saving/etc/foo.conf as/etc/foo.conf.rpmsaveというプロンプトが表示される可能性があります.これは、プロファイルの変更が必ずしも上位に互換性があるとは限らないことを示します.そのため、RPMはファイルをバックアップしてから新しいファイルをインストールします.もう1つの問題は、古いバージョンのパッケージを使用して新しいバージョンのソフトウェアをアップグレードすると、RPMで次のエラーメッセージが発生することです.
・パッケージをダウングレードする必要がある場合は、--oldpackageオプションを使用します.
8、インストールされたインストールパッケージを問い合わせる
・コマンド:rpm-qを使用して、パッケージがインストールされているデータベースを問い合わせることができます.コマンドrpm-q fooを簡単に使用すると、fooパッケージのパッケージ名、バージョン番号、発行番号が印刷されます.
パッケージ名の指定に加えて、次のオプションを使用して、クエリーするパッケージの情報を指定できます.これらのオプションは、「パッケージ指定オプション」と呼ばれます.
9、その他の常用RPMのオプション
1、誤っていくつかのファイルを削除した場合、すべてのファイルを削除したとは確信できません.
パラメータ
フルネーム
説明する
V
Vertify
けんさ
a
all
すべて
チェック機能:ファイル削除が画面に表示されます.ファイルが失われたか破損していることが判明した場合は、再インストールまたはアンインストールできます.2、自分の知らないファイルに遭遇した場合、どのパッケージに属しているかを調べるには、次のコマンドを入力します.
パラメータ
フルネーム
説明する
q
query
検索
f
file
ファイル
3、koulesのRPMパッケージがシステムにインストールされているファイルを知りたい場合は、次のように入力します.
パラメータ
フルネーム
説明する
q
query
検索
l
list
ファイルリスト
p
package
パッケージ
10、yumの使用
yum(全称yellow dog updater,Modified)は、FedoraおよびRedHatおよびCentOSにおけるShellフロントエンドパッケージマネージャである.RPMパッケージ管理により、指定したサーバからRPMパッケージを自動的にダウンロードしてインストールすることができ、依存関係を自動的に処理し、依存するすべてのパッケージを一度にインストールすることができます.注意RHELでは、Yumは更新元を交換しないと正常に使用できません.
yumの一般的な操作:
コマンド#コマンド#
説明する
yum install PackageName
指定したインストールパッケージのインストール
yum update
すべて更新
yum update PackageName
指定パッケージの更新
yum check-update
更新可能なプログラムの確認
yum list
インストール済みおよびインストール可能なすべてのパッケージを表示
yum list PackageName
指定したパッケージのインストール状況を表示
yum remove PackageName
パッケージの削除
yum clean packages
キャッシュディレクトリの下にあるパッケージをクリア
yum info PackageName
パッケージ情報の表示PackageName
レッスン後の練習
Linuxディスクのミラーをオプティカル(光学式)ドライブに挿入し、「接続」を選択し、OKしたら「mount/dev/cdrom/mnt」を使用してCDを/mntにマウントします.
1、rpmコマンドを使用してシステムのgeditをアンインストールする.
2、rpmコマンドを使用してシステムにhttpdがインストールされているかどうかを照会する.
3、rpmコマンドを使用してシステムにインストールされたすべてのパッケージを検索する.
4、インストールディスクからgeditをインストールする.
5、再びgeditをアンインストールした後、アップグレードを使用してgeditをインストールする.
6、geditのパッケージがシステムにインストールされるファイルを表示する.
7、/usr/bin/geditを削除した後、geditパッケージが完全かどうかを照会し、欠落したファイルを探し出す.
8、rpmコマンドを使用して強制的にインストールgeditを上書きする.
9、クエリー/etc/gpm-root.confファイルがどのパッケージに属するか.
10.httpdパッケージをインストールし、依存するパッケージをインストールする
Red Hat LinuxがRPMパッケージを発売する前に、Linuxオペレーティングシステムの下のソフトウェアは主にソースコードの形式で発表された.利用者にとっては自分でソフトウェアをコンパイルする必要があり、インストールもアンインストールも不便で、敷居が高い.プリコンパイルされたプログラムは、ライブラリファイルの依存性の問題で使用できないことが多い.
RPMはRed Hat Package Managerの略で、本意はRed Hatパッケージ管理であり、その名の通りRed Hatが貢献したパッケージ管理である.Fedora、Redhat、Mandriva、SuSE、YellowDogなど主流のリリースバージョンと、これらのリリースに加えて二次開発されたリリースバージョンが採用されています.
RPMには実行可能なバイナリプログラムが含まれています.このプログラムはWindowsのパッケージの.exeファイルと似ています.RPMパッケージには、プログラムの実行に必要なファイルも含まれています.これもWindowsのパッケージと似ています.Windowsのプログラムの実行には、.exeファイルのほかに、他のファイルもあります.
RPMパッケージ内のアプリケーションでは、自身が持っている追加ファイルが正常であることを保証するほか、パッケージの依存関係である他の特定のバージョンのファイルが必要になる場合があります.
RPMコマンドパラメータの意味
RPMの一般的なコマンドの略語オプションは、以下を参照してください.
q
Query(クエリー)
p
パッケージ
i
information
l
リスト
f
file(ファイル)
c
conf(プロファイル)
V
义齿
R
requires(依存性)
1 rpmコマンドでRPMパッケージを管理する
Red Hat Package Manager(RPMと略称)ツールパッケージは、操作が簡単で便利であるため、ソフトウェアのクエリー、インストール、アンインストール、アップグレード、検証などの機能を実現でき、Linuxユーザーのために多くの時間を節約できるため、Linuxの下でソフトウェアをインストール、削除するのに広く応用されている.rpmコマンドフォーマット:rpm[option][ソフトウェアインストールパッケージパスI名]RHEL 5インストールディスクのパッケージは、ディスクルートディレクトリのServerディレクトリに格納されます
2 RPMパッケージのインストール
.RPMパッケージは、通常、dhcp-3.0.5-18.el 5.i 386.rpmのようなファイル名を有する.パッケージ名(dhcp)、バージョン番号(3.0.5-18)、リリース版(el 5)、ハードウェアプラットフォーム(i 386)が含まれます.パッケージをインストールするには、次のコマンドを簡単に入力します.
rpm -ivh PackageName
パラメータ
フルネーム
説明する
i
install
インストール
v
verbose
インストールプロセス情報の表示
h
hash
インストールの進捗状況を「#」記号で示す
[root@bogon Server]#rpm -ivh dhcp-3.0.5-18. el5.i386.rpm
Preparing... ####################### [100%]
1:dhcp ####################### [100%]
●RPMのインストールが完了すると、パッケージの名前が印刷され(必ずしもファイル名と同じではない)、インストールの進捗状況を示すために一連の番号が印刷されます.
3インストールRPMパッケージパッケージがインストールされました
パッケージがインストールされている場合、$rpm-ivh gedit-2.16.0-9.el 5.i 386.rpm Preparing….########################1 111111#[100%]package gedit-2.16.0-9.el 5.i 386 is already installedパッケージをインストールする場合は、「-replacepkgs」オプションを使用して、RPMはこのエラーメッセージを無視して強制的にインストールします.
[root@bogon Server]#rpm -ivh gedit-2.16.0-9.el5.i386.rpm --replacepkgs
4 RPMパッケージのインストール-ファイルの競合
インストールするパッケージの1つのファイルが他のパッケージのインストール時にインストールされている場合、次のエラーメッセージが表示されます.
[root@bogon Server]# rpm -ivh foo-1.0-1.i386.rpm
foo /usr/bin/foo conflicts with file from bar-1.0-1
error: foo-1.0-1 .i386.rpm cannot be installed
RPMにこのエラー情報を無視させるには、--replacefilesコマンドラインオプションを使用します.
[root@bogon Server]#rpm -ivh foo-1.0-1 .i386.rpm --replacefiles
5、RPMパッケージのインストール-依存関係が解決されていない
・RPMパッケージは、他のパッケージに依存する場合があり、すなわち、特定のパッケージがインストールされた後にインストールする必要がある.パッケージをインストールするときに、このような未解決の依存関係がある場合.次の情報が表示されます.
[root@bogon Server]#rpm -ivh httpd-2.2.3-22.el5.i386.rpm
error: Failed dependencies:
libapr-1 so.0 is needed by httpd-2.2.3-22 .el5.i386
libaprutil-1 .so.0 is needed by httpd-2.2.3-22.el5.i386
// A B B A
●この問題を解決するには、依存するパッケージをインストールする必要があります.インストールを強制する場合は、「--nodeps」コマンドラインオプションを使用します.//できるだけそうしないでください.
[root@bogon Server]#rpm -ivh httpd-2.2.3-22.el5.i386.rpm --nodeps
6、パッケージの削除
rpm -e PackageName
パラメータ
フルネーム
説明する
e
erase
削除
[root@bogon Server]#rpm -e httpd //
7、RPMパッケージのアップグレードソフトウェアパッケージコマンド:
パラメータ
フルネーム
説明する
U
Update
更新
v
verbose
インストールプロセス情報の表示
h
hash
インストールの進捗を表示
[root@bogon Server]#rpm -Uvh foo-2.0-1.i386.rpm
RPMでは、インストールされている古いfooパッケージが自動的にアンインストールされ、情報は表示されません.実際には、-Uを使用してパッケージをインストールしたり、正常に動作したりすることができます.RPMがインテリジェントなパッケージアップグレードを実行するため、プロファイルを自動的に処理し、saving/etc/foo.conf as/etc/foo.conf.rpmsaveというプロンプトが表示される可能性があります.これは、プロファイルの変更が必ずしも上位に互換性があるとは限らないことを示します.そのため、RPMはファイルをバックアップしてから新しいファイルをインストールします.もう1つの問題は、古いバージョンのパッケージを使用して新しいバージョンのソフトウェアをアップグレードすると、RPMで次のエラーメッセージが発生することです.
[root@bogon Server]#rpm -Uvh foo-1.0-1.i386.rpm
foo package foo-2.0-1 (which is newer) is already installed
error: foo-1.0-1.i386.rpm cannot be installed
・パッケージをダウングレードする必要がある場合は、--oldpackageオプションを使用します.
8、インストールされたインストールパッケージを問い合わせる
・コマンド:rpm-qを使用して、パッケージがインストールされているデータベースを問い合わせることができます.コマンドrpm-q fooを簡単に使用すると、fooパッケージのパッケージ名、バージョン番号、発行番号が印刷されます.
[root@bogon Server]#rpm -q foo
foo-2.0-1
パッケージ名の指定に加えて、次のオプションを使用して、クエリーするパッケージの情報を指定できます.これらのオプションは、「パッケージ指定オプション」と呼ばれます.
[root@bogon Server]#rpm -qa //
9、その他の常用RPMのオプション
1、誤っていくつかのファイルを削除した場合、すべてのファイルを削除したとは確信できません.
パラメータ
フルネーム
説明する
V
Vertify
けんさ
a
all
すべて
[root@bogon Server]#rpm -Va
チェック機能:ファイル削除が画面に表示されます.ファイルが失われたか破損していることが判明した場合は、再インストールまたはアンインストールできます.2、自分の知らないファイルに遭遇した場合、どのパッケージに属しているかを調べるには、次のコマンドを入力します.
パラメータ
フルネーム
説明する
q
query
検索
f
file
ファイル
[root@bogon Server]#rpm -qf /usr/X11R6/bin/xjewel
: xjewel-1.6-1
3、koulesのRPMパッケージがシステムにインストールされているファイルを知りたい場合は、次のように入力します.
パラメータ
フルネーム
説明する
q
query
検索
l
list
ファイルリスト
p
package
パッケージ
[root@bogon Server]#rpm -qlp koules-1.2-2.i386.rpm
10、yumの使用
yum(全称yellow dog updater,Modified)は、FedoraおよびRedHatおよびCentOSにおけるShellフロントエンドパッケージマネージャである.RPMパッケージ管理により、指定したサーバからRPMパッケージを自動的にダウンロードしてインストールすることができ、依存関係を自動的に処理し、依存するすべてのパッケージを一度にインストールすることができます.注意RHELでは、Yumは更新元を交換しないと正常に使用できません.
yumの一般的な操作:
コマンド#コマンド#
説明する
yum install PackageName
指定したインストールパッケージのインストール
yum update
すべて更新
yum update PackageName
指定パッケージの更新
yum check-update
更新可能なプログラムの確認
yum list
インストール済みおよびインストール可能なすべてのパッケージを表示
yum list PackageName
指定したパッケージのインストール状況を表示
yum remove PackageName
パッケージの削除
yum clean packages
キャッシュディレクトリの下にあるパッケージをクリア
yum info PackageName
パッケージ情報の表示PackageName
レッスン後の練習
Linuxディスクのミラーをオプティカル(光学式)ドライブに挿入し、「接続」を選択し、OKしたら「mount/dev/cdrom/mnt」を使用してCDを/mntにマウントします.
1、rpmコマンドを使用してシステムのgeditをアンインストールする.
[root@bogon Server]#rpm -e gedit
[root@bogon Server]#rpm -e gedit
error:package gedit is not installed
2、rpmコマンドを使用してシステムにhttpdがインストールされているかどうかを照会する.
[root@bogon Server]#rpm -q httpd
httpd-2.2.3-22.el5
[root@bogon Server]#
3、rpmコマンドを使用してシステムにインストールされたすべてのパッケージを検索する.
rpm -qa
4、インストールディスクからgeditをインストールする.
[root@bogon Server]#rpm -ivh gedit
warning: gedit-2.16.0-9.el5.i386.rpm: Header V3 DSA signature:NOKEY,key ID 370
17186
Preparing... ######################################[100%]
1:gedit #######################################[100%]
[root@bogon Server]#
5、再びgeditをアンインストールした後、アップグレードを使用してgeditをインストールする.
[root@bogon Server]#rpm -e gedit
[root@bogon Server]#rpm -Uvh gedit-2.16.0-9.el5.i386.rpm
warning: gedit-2.16.0-9.el5.i386.rpm: Header V3 DSA signature:NOKEY,key ID 370
17186
Preparing... #######################################[100%]
1:gedit #######################################[100%]
[root@bogon Server]#
6、geditのパッケージがシステムにインストールされるファイルを表示する.
[root@bogon Server]#rpm -qlp gedit-2.16.0-9.el5.i386.rpm
7、/usr/bin/geditを削除した後、geditパッケージが完全かどうかを照会し、欠落したファイルを探し出す.
[root@bogon Server]#rm /usr/bin/ gedit-2.16.0-9.el5.i386.rpm
[root@bogon Server]#rpm -V gedit-2.16.0-9.el5.i386.rpm
package gedit-2.16.0-9.el5.i386.rpm is not installed
[root@bogon Server]#
8、rpmコマンドを使用して強制的にインストールgeditを上書きする.
[root@bogon Server]#rpm -ivh gedit-2.16.0-9.el5.i386.rpm --replacepkgs
warning: gedit-2.16.0-9.el5.i386.rpm: Header V3 DSA signature:NOKEY,key ID 370
17186
Preparing... #######################################[100%]
1:gedit #######################################[100%]
[root@bogon Server]#
9、クエリー/etc/gpm-root.confファイルがどのパッケージに属するか.
[root@bogon Server]#rpm -qf /etc/gpm-root.conf
gpm-1.20.1-74.1
[root@bogon Server]#
10.httpdパッケージをインストールし、依存するパッケージをインストールする
[root@bogon Server]#rpm -ivh httpd-2.2.3-22.el5.i386.rpm
warning:httpd-2.2.3-22.el5.i386.rpm: Header V3 DSA signature:NOKEY,key ID 370
17186
error:Failed dependencies
libapr-1.s0.0 is needed by httpd-2.2.3-22.el5.i386
libaprutil-1.so.0 is needed by httpd-2.2.3-22.el5.i386
[root@bogon ~]#yum install httpd // yum ,
[root@bogon ~]# rpm -q httpd
httpd-2.2.3-22.el5
[root@bogon ~]#