|
||||
Linux技術トレーニング 基本管理コース I第2章 パッケージ管理
2. RPMコマンドの使い方2-1. RPMの使い方
RPM の入手方法
RPM を使用する前に、パッケージがどこにあるかを調べる必要があります。ほとんどは製品インストール CD のAsianux/RPMS ディレクトリやコンパニオン CD の中にあります。また、製品発売後に ミラクル・リナックス が修正したパッケージは以下の場所にあります。 2-2. 問い合わせ【1】
パッケージの検索
rpm コマンドに-q オプションを付加することでパッケージの問い合わせができます。 # /bin/rpm ?qa | grep samba samba-3.0.14a-26AXRPMファル名 RPM パッケージには通常samba-3.0.14a-26AX.i386.rpmというようなファイル名が付けられています。それぞれ、以下の意味を示します。
2-3. 問い合わせ 【2】
パッケージファイルを調べる
-q を指定することで、パッケージファイルからそのパッケージに含まれるファイルを問合せを行ったり、逆にあるファイルを指定し、そのファイルが含まれるパッケージを問い合わせることができます。 # /bin/rpm -qlp samba-common-3.0.14a-26AX.i386.rpm ・・・ /lib/libnss_winbind.so.2 ・・・↑samba-common-3.0.14a-26AX.i386.rpm には libnss_winbind.so.2 ライブラリが含まれる # /bin/rpm -qf /lib/libnss_winbind.so.2 samba-common-3.0.14a-26AX↑/lib/libnss_winbind.so.2ライブラリは、samba-common-3.0.14a-26AXパッケージからインストールされたもの 2-4. インストール/アンインストール
インストール/アンインストールの留意点
インストール時(アンインストール時)に依存関係でエラーになることがあります。その場合は、指定されたパッケージを先にインストール(アンインストール)してから、 目的のパッケージをインストール(アンインストール)する必要があります。 依存パッケージを無視する場合には、「--nodeps」オプションを指定します。 アンインストール際には、引数としてパッケージファイル名でなく、パッケージ名を指定します。パッケージ名が分からない場合には、rpm ?qa | grep ‘パッケージ名’ で検索してください。 # /bin/rpm -qa | grep samba samba-3.0.14a-26AX # /bin/rpm -e samba-3.0.14a-26AX 2-5. アップデート
アップデート(-U)を指定する
インストールされていないものは新規インストールされ、古いパッケージがインストールされているとバージョンアップされます。 警告: /etc/samba/smb.conf は/etc/samba/smb.conf.rpmsave として保存されます このメッセージは、既存の設定ファイルが新しいファイルによって置き換えられたことを意味します。2 つのファイルの違いを調査することで、引き続きシステムが正しく動作することを確認する必要があります。 アップグレード(-F)を指定する
インストールされているものだけを最新の状態にします。-U と違いパッケージがインストールされていなければ何もしません。 # /bin/rpm -Fvh *.rpm 2-6.検証
検証
インストールされたパッケージに含まれるファイルの現在の状態を検証し、ファイルの破損や矛盾を調べることが可能です。
RPMデータベースが破損した疑いがある場合に、このコマンドが役に立ちます。すべてが正常に検証された場合は何も出力されません。何らかの矛盾が見つかった場合はその内容が表示されます。 2-7. エラー時の例外処理
誤ってファイルを削除した
必要なファイルが削除された場合や、RPM からオリジナルの設定ファイルをインストールしたい場合に--replacepkgs オプションを使用すると、それがインストール済みのものと同じバージョンであってもエラーを無視し、再インストールができます。 ファイルが競合する別のパッケージや同じパッケージの古いバージョンによってインストールされたファイルと新しいファイルが競合する場合、 --replacefiles オプションを使用すると、エラーを無視し、再インストールができます。 古いバージョンをインストール新しいパッケージをインストールした結果不具合が発生したなどの理由により古いパッケージに戻す場合には、--oldpackage オプションを使用します。 |