【 rpm 】コマンド(応用編その2)――パッケージの情報を調べる(2):Linux基本コマンドTips(49)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。前回に続き、今回も「rpm」コマンドの応用編を解説します。
本連載では、Linuxの基本的なコマンドについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、パッケージのインストールやアップデート、アンインストールを行う「rpm」コマンドの応用編です。
rpmコマンドとは?
「rpm」は、Red Hat系のLinuxディストリビューションで使われている“RPM(Red Hat Package Manager)パッケージ”を扱うことができるパッケージ管理コマンドです。
RPMの作法に従ってインストールしたソフトウェアは、「RPMデータベース」と呼ばれるデータベースで管理されます。RPMデータベースを参照することで、現在、システムにインストールされているパッケージやそのバージョンなどが分かるようになっています。アンインストールする際も、このRPMデータベースの情報が使われます。
なお、CentOSなどで使われている「Yum」というパッケージ管理システム(コマンド名:yum)も、RPMデータベースを参照しています(本連載第42回参照)。
書式
rpmコマンドの基本操作(問い合わせ関係)
rpm -qip パッケージファイル名
(パッケージの情報(説明など)を表示する)
rpm -qlp パッケージファイル名
(パッケージからインストールされたファイルの一覧を表示する)
rpm -qRp パッケージファイル名
(パッケージが依存しているファイルを表示する)
※「-p」はパッケージファイル(RPMファイル)を指定するためのオプション。インストールされているパッケージを調べる場合は「rpm -qi パッケージ名」のように指定する(本連載第48回参照)。
rpmコマンドの主なオプション
rpmコマンドの主なオプションは次の通りです。
短いオプション | 長いオプション | 意味 |
---|---|---|
-i | --install パッケージファイル名 | パッケージをインストールする |
-U | --upgrade パッケージファイル名 | パッケージをアップグレードする(「--install」と同じオプションが使用可能) |
-F | --freshen パッケージファイル名 | 以前のバージョンがインストールされているときのみパッケージをアップグレードする |
-e | --erase パッケージ | パッケージをアンインストール(削除)する |
-q | --query | 問い合わせ(パッケージ情報の表示と検索) |
-V | --verify | パッケージを検査する |
短いオプション | 長いオプション | 意味 |
---|---|---|
-v | 情報表示を増やす | |
-vv | 「-v」指定時よりも詳細な情報を表示する(デバッグ用) | |
--quiet | 情報表示を減らす(エラーメッセージのみになる) |
短いオプション | 長いオプション | 意味 |
---|---|---|
-h | --hash | インストール時の経過を「#」マーク(ハッシュマーク)で表示する |
--test | 実際のインストールなどは行わず、テストのみ行う | |
--nodeps | パッケージの依存関係を検証しない |
短いオプション | 長いオプション | 意味 |
---|---|---|
--excludepath OLDPATH | パスの名前が「OLDPATH」で始まるファイルをインストールしない | |
--excludedocs | 「man」なども含め、文書であるとマーク付されたファイルをインストールしない | |
--includedocs | 文書ファイルをインストールする(デフォルト) | |
--ignoresize | インストール前に、ディスクの空き領域をチェックしない | |
--ignorearch | パッケージのアーキテクチャ(CPUなど)がインストール先と一致しなくてもインストールやアップグレードを行う | |
--ignoreos | パッケージのOSがインストール先と一致しなくてもインストールやアップグレードを行う | |
--nosignature | パッケージまたはへッダの署名を検査しない | |
--nosuggest | 不明な依存性を解消するパッケージを提案しない | |
--noscriopts | ファイルの配置だけを行いスクリプトは実行しない | |
--force | 「--replacepkgs」「--replacefiles」「--oldpackage」相当 | |
--replacepkgs | 指定したパッケージが既にインストールされていてもインストールする | |
--replacefiles | 他のパッケージによってインストールされたファイルを置き換えてしまう場合でもインストールする | |
--oldpackage | インストール済みのパッケージよりもバージョンが古くても更新する |
短いオプション | 長いオプション | 意味 |
---|---|---|
-a | --all | インストールされているパッケージを一覧表示する |
-i | パッケージの情報を表示する | |
--provides | パッケージが提供する機能(ライブラリなど)を表示する | |
-R | --requires | 依存しているファイル名を表示する |
--changelog | パッケージの更新情報を表示する | |
-l | --list | パッケージに含まれるファイルを表示する |
-c | --configfiles | 設定ファイルのみを表示する(「-l」を指定したものと見なす) |
-d | --docfiles | 文書ファイルのみを表示する(「-l」を指定したものと見なす) |
-f ファイル名 | --file ファイル名 | 指定したファイルがどのパッケージからインストールされたのかを表示する(フィールドあるいはフルパスで指定) |
-p | パッケージ名ではなく、RPMパッケージファイルを指定して問い合わせる |
短いオプション | 長いオプション | 意味 |
---|---|---|
--initdb | RPMデータベースの存在を確認し、ない場合は初期化をする | |
--rebuilddb | 既存のデータベースからRPMデータベースを再構築する |
どんなパッケージがインストールされるかを調べる
パッケージファイル(RPM)ファイルに対し、パッケージの情報やインストールされるファイルを調べたい場合は、「-qilp」オプションを使用します。
「-q」は問い合わせのオプション、「-i」はパッケージの情報、「-l」はパッケージのリストで、「-p」はパッケージ名ではなく、パッケージファイルを指定するときに使用するオプションです。
なお、「-i」オプションを「-q」オプションと同時に使用する場合は、インストールではなく、問い合わせ内容を示すオプションとして機能します。
コマンド実行例
rpm -qip パッケージファイル名
(パッケージの情報を表示する)
rpm -qlp パッケージファイル名
(パッケージからインストールされたファイルを表示する)
rpm -qilp パッケージファイル名
(パッケージの情報とインストールされたファイルを表示する)(画面1)
パッケージの依存先を調べる
RPMパッケージをインストールする前に、どのようなパッケージに依存しているのか、何が必要なのかを調べるには、「-R(--require)」オプションを使用します。
コマンド実行例
rpm -qRp パッケージファイル名
(指定したパッケージの依存先を調べる)(画面2)
「-R(--require)」オプションで表示できるのは“○○というライブラリのバージョン××”といった情報で、具体的にどのパッケージをインストールするかは、別途、名前やパッケージの情報などを元に調べる必要があります。
依存するファイルがシステムに存在しない場合は、パッケージはインストールされません(「--nodeps」オプションを付けていない場合)。「rpm -i --test パッケージファイル名」のように、「--test」オプション付きで実行することで、実際にはインストールや更新、アンインストールせずに、警告などが表示されるかどうかをテストすることができます(画面3)。
なお、「yum」コマンドの場合は、依存しているパッケージが存在しなくても、同時にインストールすることができます。yumが使えるならば「yum install パッケージ名」(本連載第42回参照)、yumのパッケージリストにないなどで、パッケージファイルからインストールしたい場合は「yum localinstll パッケージファイル名」(次回解説)を実行するとよいでしょう。
パッケージが提供する機能を調べる
「-R(--require)」オプションの逆に、“このパッケージはどんな機能を提供するのか”を調べる場合は「--provides」オプションを使用します。
インストール前のパッケージファイルであれば「rpm -qp --provides パッケージファイル名」、インストール済みのパッケージであれば「rpm -q --provides パッケージ名」のように実行します。
コマンド実行例
rpm -qp --provides パッケージファイル名
(指定したパッケージファイルが提供する機能を調べる)(画面4)
筆者紹介
西村 めぐみ(にしむら めぐみ)
PC-9801N/PC-386MからのDOSユーザー。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。のち退社し、専業ライターとして活動を開始。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『はじめてでもわかるSQLとデータ設計』『シェルの基本テクニック』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。
Copyright © ITmedia, Inc. All Rights Reserved.