本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、「rpm」コマンドの基礎を解説します。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
本連載では、Linuxの基本的なコマンドについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、パッケージのインストールやアップデート、アンインストールを行う「rpm」コマンドの基礎編です。
「rpm」は、Red Hat系のLinuxディストリビューションで使われている“RPM(Red Hat Package Manager)パッケージ”を扱うことができるパッケージ管理コマンドです。
RPMの作法に従ってインストールしたソフトウェアは、「RPMデータベース」と呼ばれるデータベースで管理されます。RPMデータベースを参照することで、現在、システムにインストールされているパッケージやそのバージョンなどが分かるようになっています。アンインストールする際も、このRPMデータベースの情報が使われます。
なお、CentOSなどで使われている「Yum」というパッケージ管理システム(コマンド名:yum)も、RPMデータベースを参照しています(本連載第42回参照)。
rpm -ivh パッケージファイル名
(パッケージをインストールする)
rpm -Uvh パッケージファイル名
(パッケージを更新する)
rpm -evh パッケージ名
(パッケージをアンインストールする)
※「-v」は処理中のパッケージ名を、「-h」は進捗状況を表示するオプション
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 -i パッケージファイル名」で、指定したパッケージをインストールします。なお、「-i」オプションだけではメッセージが全く表示されないので、「-v」オプションと「-h」オプションを一緒に指定するとよいでしょう(画面1)。
rpm -i パッケージファイル名
(パッケージをメッセージなしでインストールする)
rpm -ivh パッケージファイル名
(パッケージ名と経過表示付きでインストールする)
画面1 rpmコマンドで「nkf バージョン2.0.7」をインストールした様子。パッケージに署名がないため、警告メッセージが表示されている(「--nosignature」オプションで無視することが可能)「rpm -U パッケージファイル名」で、指定したパッケージをアップデートします。「-i」オプションと同様、「-v」オプションと「-h」オプションを一緒に指定すると、アップデート状況が分かりやすくなるでしょう。
「-U」オプションでは指定したパッケージがインストールされていなかった場合、新規インストールが行われます。インストール済みのパッケージだけを対象にしたい場合は、「-F」オプションを使用します。
rpm -U パッケージファイル名
(パッケージをメッセージなしでアップデートする)
rpm -Uvh パッケージファイル名
(パッケージ名と経過表示付きでアップデートする)
「rpm -e パッケージ名」で、指定したパッケージをアンインストールします(画面3)。
rpm -e パッケージファイル名
(パッケージをメッセージなしでアンインストールする)
rpm -evh パッケージファイル名
(パッケージ名と経過表示付きでアンインストールする)
PC-9801N/PC-386MからのDOSユーザー。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。のち退社し、専業ライターとして活動を開始。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『はじめてでもわかるSQLとデータ設計』『シェルの基本テクニック』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。
Copyright © ITmedia, Inc. All Rights Reserved.