MIRACLE

メールサービス申込 ユーザー登録&ログイン パートナー情報
お問い合わせ FAQ サイトマップ
MIRACLE LINUXの特長 製品紹介 サービス案内 購入 サポート 技術フォーラム

テクノロジー情報


Linux技術トレーニング 基本管理コース I

第2章 パッケージ管理


2. RPMコマンドの使い方
2-1. RPMの使い方
  • 問合せ
  • インストール/アンインストール
  • アップグレード
  • 検証
  • エラー処理

RPM の入手方法

RPM を使用する前に、パッケージがどこにあるかを調べる必要があります。ほとんどは製品インストール CD のAsianux/RPMS ディレクトリやコンパニオン CD の中にあります。また、製品発売後に ミラクル・リナックス が修正したパッケージは以下の場所にあります。
ミラクル・リナックスの Web サイト


2-2. 問い合わせ【1】
  • 現時点でインストール済みの1 つのパッケージを表示
    # /bin/rpm -q パッケージ名
  • 現時点でインストール済みのすべてのパッケージを表示
    # /bin/rpm -qa
  • パッケージの名前、説明、リリースなどのパッケージ情報を表示
    # /bin/rpm -qi インストール済みパッケージ名

パッケージの検索

rpm コマンドに-q オプションを付加することでパッケージの問い合わせができます。
パッケージ名の詳細が不明な場合は、以下のような方法で、インストール済みのパッケージを検索します。

# /bin/rpm ?qa | grep samba
samba-3.0.14a-26AX
RPMファル名

RPM パッケージには通常samba-3.0.14a-26AX.i386.rpmというようなファイル名が付けられています。それぞれ、以下の意味を示します。

  • パッケージ名(ソフトウェア名):samba
  • バージョン番号:3.0.14a
  • リリース番号:26AX
  • アーキテクチャ: i386
  • パッケージ名:ソフトウェア名+バージョン番号+リリース番号
    ⇒ samba-3.0.14a-26AX

2-3. 問い合わせ 【2】
  • 指定したファイルが含まれるパッケージについて問い合わせる
    # /bin/rpm -qf ファイル名
  • パッケージファイルについて問い合わせる
    # /bin/rpm -qip パッケージファイル名 
    -pを指定すると、まだインストールされていないパッケージファイルについても問い合わせが実行
  • パッケージに含まれるファイルの一覧を表示
    # /bin/rpm -ql インストール済みパッケージ名
    # /bin/rpm -qlp パッケージファイル名
    # /usr/bin/less パッケージファイル名

パッケージファイルを調べる

-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. インストール/アンインストール
  • インストール
    # /bin/rpm -ivh パッケージファイル名
    インストールテスト
    パッケージが正常にインストールできるかチェックする
    # /bin/rpm -ivh --test パッケージファイル名
  • アンインストール
    # /bin/rpm -e パッケージ名
    アンインストールテスト
    エラー出力に削除するファイルをリストする
    # /bin/rpm -evv --test パッケージファイル名

インストール/アンインストールの留意点

インストール時(アンインストール時)に依存関係でエラーになることがあります。その場合は、指定されたパッケージを先にインストール(アンインストール)してから、 目的のパッケージをインストール(アンインストール)する必要があります。 依存パッケージを無視する場合には、「--nodeps」オプションを指定します。

アンインストール際には、引数としてパッケージファイル名でなく、パッケージ名を指定します。パッケージ名が分からない場合には、rpm ?qa | grep ‘パッケージ名’ で検索してください。

# /bin/rpm -qa | grep samba
samba-3.0.14a-26AX
# /bin/rpm -e samba-3.0.14a-26AX

2-5. アップデート
  • 既存パッケージがインストールされていなければ、新規にインストール
    # /bin/rpm -Uvh パッケージファイル名
  • 既存パッケージがインストールされていなければ、何もしない
    # /bin/rpm -Fvh パッケージファイル名

アップデート(-U)を指定する

インストールされていないものは新規インストールされ、古いパッケージがインストールされているとバージョンアップされます。
古いバージョンのパッケージは自動的にアンインストールされます。アップグレードで以下のようなメッセージが表示されることがあります。

警告: /etc/samba/smb.conf は/etc/samba/smb.conf.rpmsave 
として保存されます

このメッセージは、既存の設定ファイルが新しいファイルによって置き換えられたことを意味します。2 つのファイルの違いを調査することで、引き続きシステムが正しく動作することを確認する必要があります。

アップグレード(-F)を指定する

インストールされているものだけを最新の状態にします。-U と違いパッケージがインストールされていなければ何もしません。
多数のパッケージの中からシステムにインストール済みのパッケージのみをアップグレードする場合は以下のコマンドを使用します。

# /bin/rpm -Fvh *.rpm

2-6.検証
  • # /bin/rpm -Fvh *.rpm
    # /bin/rpm -V パッケージ名
  • 特定のファイルを含むパッケージを検証する
    # /bin/rpm -Vf ファイル名

検証

インストールされたパッケージに含まれるファイルの現在の状態を検証し、ファイルの破損や矛盾を調べることが可能です。

  • インストールしたときの状態と比較する
    [/bin/rpm -V パッケージ名]
  • インストール済パッケージとRPMパッケージファイルを比較する
    [/bin/rpm -Vp パッケージファイル名]
  • 特定のファイルを含むパッケージについて、インストール時と比較する
    [/bin/rpm -Vf ファイル名(フルパス)]
  • インストール済みのすべてのパッケージについて、インストール時と比較する
    [/bin/rpm -Va]

RPMデータベースが破損した疑いがある場合に、このコマンドが役に立ちます。すべてが正常に検証された場合は何も出力されません。何らかの矛盾が見つかった場合はその内容が表示されます。


2-7. エラー時の例外処理
  • 同じバージョンを再インストール
    # /bin/rpm -ivh --replacepkgs パッケージファイル名
  • ファイルの競合を無視し、再インストール
    # /bin/rpm -ivh --replacefiles パッケージファイル名
  • 古いバージョンにダウングレード
    # /bin/rpm -Uvh --oldpackage パッケージファイル名

誤ってファイルを削除した

必要なファイルが削除された場合や、RPM からオリジナルの設定ファイルをインストールしたい場合に--replacepkgs オプションを使用すると、それがインストール済みのものと同じバージョンであってもエラーを無視し、再インストールができます。

ファイルが競合する

別のパッケージや同じパッケージの古いバージョンによってインストールされたファイルと新しいファイルが競合する場合、 --replacefiles オプションを使用すると、エラーを無視し、再インストールができます。

古いバージョンをインストール

新しいパッケージをインストールした結果不具合が発生したなどの理由により古いパッケージに戻す場合には、--oldpackage オプションを使用します。


第2章 1へ 第2章 3へ

■この資料の評価をお願いします。
とても参考になった
参考になった
どちらでもない
あまり参考にならなかった
まったく参考にならなかった

コメントがある場合は以下に記述してください。技術資料として取り上げてほしいテーマも受け付けています。

以下は任意です。

お名前(フルネーム) :
会社名 :
メールアドレス :
 

会社情報 採用情報 個人情報保護方針 情報セキュリティ基本方針 商標等取り扱い事項 English
Copyright(c)2000-2015 MIRACLE LINUX CORPORATION. All Rights Reserved.