(最終更新月:2023年5月)
✔このような方へ向けて書かれた記事となります
「RPMコマンドの使い方が知りたい!」
「RPMコマンドって何ができるの?」
「RPMコマンドの使用例が見てみたい」
✔当記事を通じてお伝えすること
- RPMコマンドの基本
- RPMコマンドの使い方・書き方
- RPMコマンドの実践における使用例
当記事では、RPMコマンドの基本的な使い方から高度な使い方、トラブルシューティングまでを網羅し、初心者でもRPMコマンドを使いこなせるようになることを目指します。
具体的なコマンドの実行例や、各操作の背後にある理由も説明し、理解を深められるよう構成されています。
ぜひ最後までご覧ください。
RPMコマンドで知っておくべき基礎知識
RPMコマンドについての基本を確認していきましょう。
必ず目を通し、理解しておくことが必要です。
- RPMとは
- RPMコマンドの重要性
RPMとは
RPM(RPM Package Manager)は、Red Hat LinuxをはじめとするRPMベースのLinuxディストリビューションで利用されるパッケージ管理システムです。
ソフトウェアのインストール、アップデート、削除などを簡単におこなえます。
例えばあるアプリケーションをインストールする際に、必要なファイル群や設定ファイルがひとつのパッケージとしてまとめられ、簡単にインストールできるのです。
RPMコマンドの重要性
RPMコマンドは、パッケージの管理を効率的かつ簡単におこなうために必要です。
正しい使い方を覚えることで、システム管理者やLinuxユーザーが多くの時間と手間を節約できます。
RPMコマンドを使うことで、インストールされているパッケージのバージョンを一元的に管理できるため、システムの安定性も向上します。
RPMコマンドの基本用語3選
RPMコマンドを使用するうえでの基本用語を3つだけ紹介します。
必ず出てくる用語なので、覚えておきましょう。
- パッケージ
- リポジトリ
- 依存関係
パッケージ
パッケージは、ソフトウェアのプログラムや設定ファイル、ドキュメントなどがひとまとめにされたものです。
RPMでは、これらのファイル(パッケージ)が圧縮された形で配布され、インストールやアップデートが容易になっています。
例えばWebサーバーソフトウェアであるApacheをインストールする際、RPMパッケージにより必要なファイルや設定がまとめられており、簡単に導入できるのです。
リポジトリ
リポジトリは、パッケージの集合をインターネット上に公開している場所です。
リポジトリを利用することで、必要なパッケージを簡単にダウンロードしてインストールできます。
例えば、EPEL(Extra Packages for Enterprise Linux)リポジトリは、Red Hat Enterprise LinuxやCentOSなどのディストリビューションで利用できる、追加のパッケージを提供している場所です。
依存関係
依存関係とは、あるパッケージが別のパッケージに依存している状態です。
RPMコマンドは、依存関係を解決して必要なパッケージを自動的にインストールしてくれます。
例えばあるアプリケーションが特定のライブラリを必要とする場合、そのアプリケーションをインストールする際に、RPMコマンドは必要なライブラリも同時にインストールしてくれます。
RPMコマンドでパッケージを操作する方法
RPMコマンドでパッケージを操作する方法をご紹介します。
主なものは以下の5つです。
- パッケージのインストール
- パッケージのアップデート
- パッケージの削除
- パッケージの情報を表示
- インストール済みパッケージの一覧表示
パッケージのインストール
RPMコマンドを使ってパッケージをインストールするには、以下のコマンドを実行します。
sudo yum install パッケージ名
例えば、Apache Webサーバーをインストールする場合は以下のコマンドを実行します。
sudo yum install httpd
パッケージのアップデート
インストール済みのパッケージをアップデートするには、以下のコマンドを実行します。
sudo yum update パッケージ名
すべてのパッケージをアップデートする場合は、パッケージ名を省略します。
sudo yum update
パッケージの削除
インストール済みのパッケージを削除するには、以下のコマンドを実行します。
sudo yum remove パッケージ名
例えば、Apache Webサーバーを削除する場合は以下のコマンドを実行します。
sudo yum remove httpd
パッケージの情報を表示
特定のパッケージの情報を表示するには、以下のコマンドを実行します。
yum info パッケージ名
例えば、Apache Webサーバーの情報を表示する場合は以下のコマンドを実行します。
yum info httpd
インストール済みパッケージの一覧表示
インストール済みのパッケージの一覧を表示するには、以下のコマンドを実行します。
yum list installed
RPMコマンドのオプション一覧
RPMコマンドのオプションを見ておきましょう。
オプションを使えば、さまざまなことが簡単におこなえるようになります。
オプション名 | 説明 | 実例 |
---|---|---|
-i, –install | パッケージをインストールします。 | rpm -i httpd.rpm |
-U, –upgrade | パッケージをアップグレードします。 | rpm -U httpd.rpm |
-e, –erase | パッケージをアンインストールします。 | rpm -e httpd |
-qa, –query | インストール済みのパッケージを一覧表示します。 | rpm -qa |
-qi, –query | インストール済みのパッケージの情報を表示します。 | rpm -qi httpd |
-ql, –query | インストール済みのパッケージのファイル一覧を表示します。 | rpm -ql httpd |
-qf, –query | 指定したファイルが属するパッケージを表示します。 | rpm -qf /etc/httpd/conf/httpd.conf |
-qp, –query | RPMファイルの情報を表示します。 | rpm -qp httpd.rpm |
-ql, –query | RPMファイルに含まれるファイル一覧を表示します。 | rpm -qlp httpd.rpm |
–checksig | パッケージの署名を確認します。 | rpm –checksig httpd.rpm |
-V, –verify | インストール済みのパッケージの整合性を検証します。 | rpm -V httpd |
-ivh, –install | パッケージをインストールし、進行状況と結果を表示します。 | rpm -ivh httpd.rpm |
-Uvh, –upgrade | パッケージをアップグレードし、進行状況と結果を表示します。 | rpm -Uvh httpd.rpm |
–import | 公開鍵をインポートします。 | rpm –import /path/to/RPM-GPG-KEY |
–rebuilddb | RPMデータベースを再構築します。 | rpm –rebuilddb |
–setperms | インストール済みパッケージのファイルのパーミッションを修正します。 | rpm –setperms httpd |
–setugids | インストール済みパッケージのファイルの所有者とグループを修正します。 | rpm –setugids httpd |
–test | インストールやアップグレードをシミュレートします。 | rpm -Uvh –test httpd.rpm |
RPMコマンドのインストールとアップデート
RPMコマンドのインストールやアップデート方法について見ていきましょう。
まだ準備ができていない方はこちらをご覧ください。
- RPMコマンドのインストール方法
- RPMコマンドのアップデート方法
RPMコマンドのインストール方法
RPMコマンドは、ほとんどのRPMベースのLinuxディストリビューションでデフォルトでインストールされています。
もしインストールされていなければ、ディストリビューションのドキュメントに従ってインストールしてください。
例えば、CentOSの場合、以下のコマンドを実行することで、RPMコマンドをインストールできます。
sudo yum install rpm
RPMコマンドのアップデート方法
RPMコマンド自体のアップデートは、以下のコマンドです。
sudo yum update rpm
または
sudo dnf update rpm
このコマンドを実行することで、RPMコマンドが最新バージョンにアップデートされます。
定期的にアップデートをおこなえば、セキュリティやパフォーマンスの面での改善を享受できます。
RPMコマンドでリポジトリを管理する方法
レポジトリの管理方法を見ていきましょう。
リポジトリも追加したり、削除したりができます。
- リポジトリの追加
- リポジトリの削除
- リポジトリの一覧表示
- リポジトリの優先順位の設定
リポジトリの追加
新しいリポジトリを追加するには、リポジトリの設定ファイルを`/etc/yum.repos.d/`ディレクトリに配置します。
設定ファイルは、通常`.repo`という拡張子です。
リポジトリの提供者が提供する設定ファイルをダウンロードし、適切な場所に配置することで追加できます。
リポジトリの削除
リポジトリを削除するには、`/etc/yum.repos.d/`ディレクトリ内の対象リポジトリの設定ファイルを削除します。
注意して対象の設定ファイルを削除し、必要に応じてシステムを再起動することで、リポジトリが削除されます。
リポジトリの一覧表示
現在システムに登録されているリポジトリの一覧を表示するには、以下のコマンドを実行します。
yum repolist
リポジトリの優先順位の設定
リポジトリの優先順位を設定することで、同じパッケージが複数のリポジトリで提供されている場合に、どのリポジトリからインストールするかを制御できます。
方法は、`yum-plugin-priorities`プラグインをインストールし、リポジトリの設定ファイルに`priority`オプションを追加することで可能。
以下のコマンドでプラグインをインストールできます。
sudo yum install yum-plugin-priorities
RPMコマンドの高度な使い方
RPMコマンドの応用した使い方はこちら。
ここまでの内容が理解できれば、次のステップへ進みましょう。
- パッケージの検索
- パッケージの依存関係の確認
- パッケージのダウンロード
- パッケージの署名の確認
- RPMコマンドのショートカットとエイリアス
パッケージの検索
リポジトリ内のパッケージを検索するには、以下のコマンドを実行します。
yum search キーワード
例えば、「httpd」というキーワードでパッケージを検索する場合は、以下のコマンドを実行します。
yum search httpd
パッケージの依存関係の確認
パッケージの依存関係を確認するには、以下のコマンドを実行します。
yum deplist パッケージ名
例えば、Apache Webサーバーの依存関係を確認する場合は以下のコマンドを実行します。
yum deplist httpd
パッケージのダウンロード
パッケージをダウンロードするだけでインストールはおこなわずに、ダウンロードしたパッケージを保管しておきたい場合は、`yum-downloadonly`プラグインを利用します。
以下のコマンドでプラグインをインストールできます。
sudo yum install yum-plugin-downloadonly
プラグインがインストールされたら、以下のコマンドを実行してパッケージをダウンロードします。
sudo yum install –downloadonly –downloaddir=ダウンロード先ディレクトリ パッケージ名
パッケージの署名の確認
パッケージの署名を確認することで、パッケージの信頼性や改ざんの有無を検証できます。
以下のコマンドを実行して、パッケージの署名を確認します。
rpm –checksig パッケージファイル名
例えば、ダウンロードした`httpd.rpm`の署名を確認する場合は、以下のコマンドを実行します。
rpm --checksig httpd.rpm
RPMコマンドのショートカットとエイリアス
RPMコマンドの一部は、ショートカットやエイリアスを利用することで、より短いコマンドで実行できます。
例えば、`yum install`の代わりに`yum -y`、`yum update`の代わりに`yum -u`を使えます。
これらのショートカットやエイリアスは、作業効率を向上させるために活用できます。
RPMコマンドのトラブルシューティング
RPMコマンドでよくあるトラブルシューティングについても、目を通しておきましょう。
いざというときに解決が早まります。
- よくあるエラーメッセージと対処法
- RPMコマンドのログを確認する方法
よくあるエラーメッセージと対処法
RPMコマンドの使用中にエラーが発生することがあります。
その際、エラーメッセージを確認し、適切な対処をおこないましょう。
例えば依存関係の問題がある場合は、必要なパッケージをインストールすることで解決できます。
以下のエラーと対処法を参考にしてください。
エラーメッセージ | 対処法 |
---|---|
Failed dependencies | 依存関係の問題がある場合、必要なパッケージをインストールしてから再度インストールを試みます。 |
package_name is already installed | すでにインストールされているパッケージは、アップグレードまたは削除してから再度インストールを試みます。 |
package_name is not installed | アンインストールを試みる前に、対象のパッケージがインストールされているか確認します。 |
public key not available: NO_PUBKEY | パッケージの署名を確認するために、公開鍵をインポートします。 |
package_name has missing requires | 必要な依存パッケージが不足している場合、それらをインストールしてから再度インストールを試みます。 |
Header V3 DSA/SHA1 Signature, key ID badkeyid: BAD | パッケージの署名が無効または破損している場合、正しいパッケージを取得して再度インストールを試みます。 |
Error: Cannot retrieve repository metadata (repomd.xml) | リポジトリの設定が正しくない場合、リポジトリの設定を確認し、修正してから再度試みます。 |
Error: Cannot find a valid baseurl for repo: base/7/x86_64 | ネットワーク接続が正しくない場合、ネットワーク設定を確認し、修正してから再度試みます。 |
error: Failed to initialize NSS library | NSSライブラリの問題がある場合、NSSパッケージを再インストールしてから再度試みます。 |
error: Failed to initialize User-Agent library | User-Agentライブラリの問題がある場合、関連するパッケージを再インストールしてから再度試みます。 |
Transaction check error | トランザクションの問題がある場合、RPMデータベースを再構築してから再度試みます。 |
error: unpacking of archive failed on file /path/to/file: cpio: open | パッケージのアーカイブが破損している場合、正しいパッケージを取得して再度インストールを試みます。 |
RPMコマンドのログを確認する方法
RPM関連のログは、`/var/log/yum.log`に保存されています。
このログファイルを確認することで、過去のインストールやアップデートの履歴が確認可能。
問題が発生した際には、このログを参照して原因を特定することができます。
まとめ
当記事では、RPMコマンドの基本概念や操作方法を説明しました。
以下のとおり使いこなすことで、Linuxシステムの管理が効率的におこなえるでしょう。
- パッケージのインストール
- パッケージのアップデート
- パッケージの削除など
RPMコマンドを使えば、さまざまなパッケージ管理が簡単におこなえるようになります。
ただ単にダウンロード・インストールするだけではなく、いろいろなことができるのです。
ほかのコマンドももちろんですが、使いこなしてマスターしておきましょう。