[linux] yumコマンドの使い方 – パッケージの管理/インストール
yum
は、Linuxのパッケージ管理システムで、主にRed Hat系ディストリビューション(RHEL、CentOS、Fedoraなど)で使用されます。
yum
を使うことで、パッケージのインストール、更新、削除、検索が簡単に行えます。
パッケージのインストールはyum install パッケージ名
、更新はyum update
、削除はyum remove パッケージ名
で実行します。
また、yum search キーワード
でパッケージを検索できます。
yum
は依存関係も自動的に解決してくれるため、便利です。
- yumコマンドの基本的な使い方
- パッケージのインストール方法
- システム全体のパッケージ更新
- リポジトリの管理手法
- yumのキャッシュ管理の重要性
yumコマンドとは
yum
(Yellowdog Updater Modified)は、Red Hat系のLinuxディストリビューションで使用されるパッケージ管理ツールです。
主にソフトウェアのインストール、更新、削除を簡単に行うことができ、依存関係の解決も自動で行います。
これにより、ユーザーは手動で依存関係を管理する手間を省くことができます。
yumの概要
yum
は、リポジトリからパッケージを取得し、インストールや更新を行います。- コマンドラインインターフェースを通じて操作され、スクリプトからも利用可能です。
- デフォルトで設定されているリポジトリから、必要なパッケージを簡単にインストールできます。
yumとRPMの違い
特徴 | yum | RPM |
---|---|---|
依存関係の管理 | 自動で依存関係を解決 | 手動で依存関係を解決する必要がある |
リポジトリの利用 | リポジトリからパッケージを取得 | ローカルファイルからのみインストール |
コマンドの簡便さ | 簡単なコマンドで複数の操作が可能 | 単一のパッケージに対する操作のみ |
yumのメリット
- 簡単な操作: コマンド一つで複数のパッケージを管理できるため、手間が省けます。
- 依存関係の自動解決: 必要なライブラリやパッケージを自動でインストールしてくれるため、エラーが少なくなります。
- リポジトリの利用: 公式リポジトリやサードパーティのリポジトリを利用することで、最新のソフトウェアを簡単に入手できます。
- 更新管理: システム全体のパッケージを一括で更新できるため、セキュリティや機能の向上が容易です。
yumコマンドの基本的な使い方
yum
コマンドは、パッケージの管理を簡単に行うための強力なツールです。
以下では、基本的な使い方を説明します。
パッケージのインストール
パッケージをインストールするには、以下のコマンドを使用します。
yum install パッケージ名
例:httpd
パッケージをインストールする場合
yum install httpd
Installed: httpd.x86_64 0:2.4.6-93.el7.centos
パッケージの更新
インストール済みのパッケージを更新するには、次のコマンドを使用します。
yum update パッケージ名
例:httpd
パッケージを更新する場合
yum update httpd
Updated: httpd.x86_64 0:2.4.6-93.el7.centos
パッケージの削除
不要なパッケージを削除するには、以下のコマンドを使用します。
yum remove パッケージ名
例:httpd
パッケージを削除する場合
yum remove httpd
Removed: httpd.x86_64 0:2.4.6-93.el7.centos
パッケージの検索
インストール可能なパッケージを検索するには、次のコマンドを使用します。
yum search 検索キーワード
例:httpd
に関連するパッケージを検索する場合
yum search httpd
httpd.x86_64 : The Apache HTTP Server
httpd-tools.x86_64 : Tools for use with the Apache HTTP Server
パッケージの情報表示
特定のパッケージに関する詳細情報を表示するには、以下のコマンドを使用します。
yum info パッケージ名
例:httpd
パッケージの情報を表示する場合
yum info httpd
Name : httpd
Version : 2.4.6
Release : 93.el7.centos
Architecture: x86_64
依存関係の解決
yum
は、パッケージをインストールする際に必要な依存関係を自動で解決します。
例えば、httpd
をインストールする際に必要なライブラリも自動的にインストールされます。
特に、複数のパッケージを同時にインストールする場合に便利です。
yum install httpd php
このコマンドを実行すると、httpd
とphp
に必要な依存関係も自動的にインストールされます。
パッケージのインストール方法
yum
を使用してパッケージをインストールする方法には、いくつかのアプローチがあります。
以下では、さまざまなインストール方法について説明します。
単一パッケージのインストール
単一のパッケージをインストールするには、次のコマンドを使用します。
yum install パッケージ名
例:wget
パッケージをインストールする場合
yum install wget
Installed: wget.x86_64 0:1.14-18.el7
複数パッケージの同時インストール
複数のパッケージを同時にインストールすることも可能です。
パッケージ名をスペースで区切って指定します。
yum install パッケージ名1 パッケージ名2
例:curl
とgit
を同時にインストールする場合
yum install curl git
Installed: curl.x86_64 0:7.29.0-42.el7
Installed: git.x86_64 0:1.8.3.1-6.el7
特定バージョンのパッケージをインストール
特定のバージョンのパッケージをインストールするには、パッケージ名の後にバージョンを指定します。
yum install パッケージ名-バージョン
例:httpd
の特定バージョン(2.4.6-93.el7.centos)をインストールする場合
yum install httpd-2.4.6-93.el7.centos
Installed: httpd.x86_64 0:2.4.6-93.el7.centos
グループパッケージのインストール
yum
では、関連するパッケージをまとめてインストールする「グループパッケージ」を利用することができます。
グループ名を指定してインストールします。
yum groupinstall "グループ名"
例:Development Tools
グループをインストールする場合
yum groupinstall "Development Tools"
Installed: gcc.x86_64 0:4.8.5-44.el7
Installed: make.x86_64 1:3.82-24.el7
このように、yum
を使用することで、単一のパッケージから複数のパッケージ、特定のバージョン、さらには関連するパッケージのグループを簡単にインストールすることができます。
パッケージの更新と管理
yum
を使用して、システムのパッケージを効率的に更新・管理する方法について説明します。
これにより、最新のセキュリティパッチや機能を簡単に適用できます。
システム全体のパッケージを更新
システム全体のすべてのパッケージを一括で更新するには、次のコマンドを使用します。
yum update
このコマンドを実行すると、インストールされているすべてのパッケージが最新のバージョンに更新されます。
Updated: httpd.x86_64 0:2.4.6-93.el7.centos
Updated: curl.x86_64 0:7.29.0-42.el7
特定パッケージのみを更新
特定のパッケージだけを更新したい場合は、パッケージ名を指定します。
yum update パッケージ名
例:httpd
パッケージを更新する場合
yum update httpd
Updated: httpd.x86_64 0:2.4.6-93.el7.centos
パッケージの自動更新設定
yum
では、yum-cron
を使用してパッケージの自動更新を設定することができます。
これにより、定期的にパッケージが自動で更新されるようになります。
yum-cron
をインストールします。
yum install yum-cron
- 設定ファイルを編集します。
vi /etc/yum/yum-cron.conf
- 自動更新の設定を行います。
update_cmd
をdefault
に設定することで、全パッケージの自動更新が可能です。
yum-cron
サービスを起動します。
systemctl start yum-cron
systemctl enable yum-cron
更新履歴の確認
過去に行ったパッケージの更新履歴を確認するには、以下のコマンドを使用します。
yum history
このコマンドを実行すると、過去の更新やインストールの履歴が表示されます。
特定のトランザクションの詳細を確認するには、トランザクションIDを指定します。
yum history info トランザクションID
例:トランザクションIDが5
の場合
yum history info 5
Transaction ID : 5
Begin time : Thu 01 Jan 2023 12:00:00 PM JST
Begin rpmdb : Thu 01 Jan 2023 12:00:00 PM JST
End time : Thu 01 Jan 2023 12:05:00 PM JST
End rpmdb : Thu 01 Jan 2023 12:05:00 PM JST
User : root <root>
Return-Code : Success
Command Line : update
このように、yum
を使用することで、システム全体のパッケージの更新や特定のパッケージの更新、自動更新の設定、更新履歴の確認が簡単に行えます。
パッケージの削除
yum
を使用して不要なパッケージを削除する方法について説明します。
これにより、システムのクリーンアップや不要なソフトウェアの管理が容易になります。
単一パッケージの削除
特定のパッケージを削除するには、以下のコマンドを使用します。
yum remove パッケージ名
例:httpd
パッケージを削除する場合
yum remove httpd
Removed: httpd.x86_64 0:2.4.6-93.el7.centos
このコマンドを実行すると、指定したパッケージがシステムから削除されます。
依存関係を考慮した削除
yum
は、削除するパッケージに依存している他のパッケージも考慮して削除を行います。
依存関係がある場合、削除するパッケージとその依存パッケージが一緒に削除されることがあります。
例:httpd
を削除する場合、依存しているphp
パッケージも削除される可能性があります。
yum remove httpd
Removed: httpd.x86_64 0:2.4.6-93.el7.centos
Dependency Removed: php.x86_64 0:5.4.16-36.el7
このように、yum
は依存関係を自動で考慮し、必要なパッケージも一緒に削除します。
削除後のキャッシュクリア
パッケージを削除した後、yum
のキャッシュをクリアすることで、ディスクスペースを節約できます。
キャッシュをクリアするには、以下のコマンドを使用します。
yum clean all
このコマンドを実行すると、すべてのキャッシュが削除され、システムのクリーンアップが行われます。
Cleaning repos: base extras updates
Cleaning up everything
このように、yum
を使用してパッケージを削除する際には、単一パッケージの削除、依存関係を考慮した削除、削除後のキャッシュクリアを行うことで、システムを効率的に管理できます。
yumのキャッシュ管理
yum
は、パッケージのインストールや更新を効率的に行うために、ダウンロードしたパッケージやメタデータをキャッシュとして保存します。
キャッシュ管理を適切に行うことで、ディスクスペースの節約やパフォーマンスの向上が図れます。
以下では、yum
のキャッシュ管理について説明します。
キャッシュの確認
現在のキャッシュの状態を確認するには、以下のコマンドを使用します。
yum cache list
このコマンドを実行すると、キャッシュに保存されているパッケージやリポジトリの情報が表示されます。
Loaded plugins: fastestmirror
base | 3.6 kB 00:00
extras | 2.9 kB 00:00
updates | 2.9 kB 00:00
キャッシュのクリア
不要なキャッシュを削除することで、ディスクスペースを節約できます。
キャッシュをクリアするには、以下のコマンドを使用します。
yum clean all
このコマンドを実行すると、すべてのキャッシュが削除されます。
特定のキャッシュのみをクリアしたい場合は、以下のコマンドを使用できます。
- メタデータのクリア
yum clean metadata
- パッケージキャッシュのクリア
yum clean packages
Cleaning repos: base extras updates
Cleaning up everything
キャッシュの保存期間設定
yum
では、キャッシュの保存期間を設定することができます。
これにより、古いキャッシュが自動的に削除され、ディスクスペースを効率的に管理できます。
設定ファイルは/etc/yum.conf
にあります。
- 設定ファイルを開きます。
vi /etc/yum.conf
metadata_expire
の値を変更します。
例えば、1時間(3600秒)に設定する場合は、以下のように記述します。
metadata_expire=3600
この設定により、メタデータは1時間ごとに更新され、古いキャッシュは自動的に削除されます。
このように、yum
のキャッシュ管理を適切に行うことで、システムのパフォーマンスを向上させ、ディスクスペースを効率的に利用することができます。
リポジトリの管理
yum
を使用する際、リポジトリはパッケージのソースとなります。
リポジトリを適切に管理することで、必要なソフトウェアを効率的にインストール・更新できます。
以下では、リポジトリの管理方法について説明します。
リポジトリの追加
新しいリポジトリを追加するには、リポジトリの設定ファイルを作成します。
設定ファイルは通常、/etc/yum.repos.d/
ディレクトリに保存されます。
以下の手順でリポジトリを追加します。
- 新しいリポジトリの設定ファイルを作成します。
vi /etc/yum.repos.d/myrepo.repo
- 設定ファイルに以下の内容を記述します。
[myrepo]
name=My Custom Repository
baseurl=http://myrepo.example.com/centos/7/x86_64/
enabled=1
gpgcheck=1
gpgkey=http://myrepo.example.com/RPM-GPG-KEY
この設定により、myrepo
という名前のリポジトリが追加されます。
リポジトリの削除
不要なリポジトリを削除するには、該当する設定ファイルを削除します。
rm /etc/yum.repos.d/myrepo.repo
このコマンドを実行すると、myrepo
リポジトリが削除されます。
リポジトリの有効化/無効化
リポジトリを一時的に無効化したり、有効化したりすることができます。
リポジトリの設定ファイルを編集し、enabled
の値を変更します。
- 設定ファイルを開きます。
vi /etc/yum.repos.d/myrepo.repo
enabled
の値を変更します。
- 有効化する場合(1に設定)
enabled=1
- 無効化する場合(0に設定)
enabled=0
この変更により、リポジトリの有効化または無効化が行われます。
リポジトリの一覧表示
現在設定されているリポジトリの一覧を表示するには、以下のコマンドを使用します。
yum repolist
このコマンドを実行すると、利用可能なリポジトリのリストが表示されます。
repo id repo name status
base CentOS-7 - Base 10,000
extras CentOS-7 - Extras 500
updates CentOS-7 - Updates 1,000
myrepo My Custom Repository 200
このように、リポジトリの管理を適切に行うことで、yum
を通じて必要なパッケージを効率的にインストール・更新することができます。
yumの設定ファイル
yum
の設定ファイルは、パッケージ管理の動作を制御するための重要な要素です。
これにより、リポジトリの設定やキャッシュの管理、プロキシの設定などを行うことができます。
以下では、yum
の設定ファイルについて詳しく説明します。
設定ファイルの場所と役割
yum
の主な設定ファイルは、/etc/yum.conf
です。
このファイルには、全体的な設定が含まれており、リポジトリの設定は通常、/etc/yum.repos.d/
ディレクトリ内の個別の.repo
ファイルに保存されます。
- /etc/yum.conf:
yum
の全体設定を管理するファイル - /etc/yum.repos.d/: 各リポジトリの設定ファイルを格納するディレクトリ
設定ファイルの編集方法
設定ファイルを編集するには、テキストエディタを使用します。
以下の手順でyum.conf
を編集できます。
- 設定ファイルを開きます。
vi /etc/yum.conf
- 必要な設定を変更します。
例えば、キャッシュの保存期間を設定する場合は、以下のように記述します。
metadata_expire=3600
- 編集が完了したら、ファイルを保存して終了します。
プロキシ設定
yum
をプロキシ経由で使用する場合、設定ファイルにプロキシの情報を追加する必要があります。
以下の手順でプロキシ設定を行います。
/etc/yum.conf
を開きます。
vi /etc/yum.conf
- 以下の行を追加または編集します。
proxy=http://プロキシサーバー:ポート番号
proxy_username=ユーザー名
proxy_password=パスワード
この設定により、yum
は指定したプロキシサーバーを経由してインターネットに接続します。
ミラーサイトの設定
ミラーサイトを使用することで、パッケージのダウンロード速度を向上させることができます。
ミラーサイトを設定するには、リポジトリの設定ファイルを編集します。
/etc/yum.repos.d/
内のリポジトリ設定ファイルを開きます。
vi /etc/yum.repos.d/myrepo.repo
baseurl
をミラーサイトのURLに変更します。
[myrepo]
name=My Custom Repository
baseurl=http://ミラーサイトのURL/centos/7/x86_64/
enabled=1
gpgcheck=1
gpgkey=http://ミラーサイトのURL/RPM-GPG-KEY
この設定により、指定したミラーサイトからパッケージがダウンロードされるようになります。
このように、yum
の設定ファイルを適切に管理することで、パッケージ管理の効率を向上させることができます。
応用例
yum
は基本的なパッケージ管理だけでなく、さまざまな応用が可能です。
以下では、yum
の応用例をいくつか紹介します。
yum-cronを使った自動更新
yum-cron
を使用すると、システムのパッケージを自動的に更新することができます。
これにより、手動での更新作業を省略し、常に最新の状態を保つことができます。
yum-cron
をインストールします。
yum install yum-cron
- 設定ファイルを編集します。
vi /etc/yum/yum-cron.conf
- 自動更新の設定を行い、
update_cmd
をdefault
に設定します。 yum-cron
サービスを起動し、自動更新を有効にします。
systemctl start yum-cron
systemctl enable yum-cron
yum historyを使った操作履歴の確認
yum history
コマンドを使用すると、過去に行ったパッケージのインストールや更新の履歴を確認できます。
これにより、どのパッケージがいつ更新されたかを把握できます。
yum history
特定のトランザクションの詳細を確認するには、トランザクションIDを指定します。
yum history info トランザクションID
yum-utilsを使った高度な操作
yum-utils
は、yum
の機能を拡張するためのツール集です。
これにより、より高度な操作が可能になります。
yum-utils
をインストールするには、以下のコマンドを使用します。
yum install yum-utils
yum-utils
を使用すると、例えば、repo-pkgs
コマンドを使って特定のリポジトリからインストールされているパッケージを一覧表示できます。
repo-pkgs list --repo=リポジトリ名
yumで特定のアーキテクチャのパッケージをインストール
yum
では、特定のアーキテクチャ(例えば、x86_64やi386)のパッケージをインストールすることも可能です。
アーキテクチャを指定するには、以下のようにします。
yum install パッケージ名.x86_64
例:httpd
のx86_64版をインストールする場合
yum install httpd.x86_64
yumでローカルRPMファイルをインストール
yum
を使用して、ローカルに保存されているRPMファイルをインストールすることもできます。
これにより、インターネットに接続できない環境でもパッケージをインストールできます。
yum localinstall /path/to/package.rpm
例:mypackage.rpm
をインストールする場合
yum localinstall /home/user/mypackage.rpm
このように、yum
を活用することで、さまざまな応用が可能となり、システム管理をより効率的に行うことができます。
よくある質問
まとめ
この記事では、yum
コマンドを使用したパッケージ管理の基本から応用まで、さまざまな操作方法について詳しく解説しました。
特に、パッケージのインストール、更新、削除、キャッシュ管理、リポジトリの設定など、実際の運用に役立つ情報を提供しました。
これを機に、yum
を活用してシステムのパッケージ管理を効率化し、より快適なLinux環境を構築してみてください。