[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の違い

スクロールできます
特徴yumRPM
依存関係の管理自動で依存関係を解決手動で依存関係を解決する必要がある
リポジトリの利用リポジトリからパッケージを取得ローカルファイルからのみインストール
コマンドの簡便さ簡単なコマンドで複数の操作が可能単一のパッケージに対する操作のみ

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

このコマンドを実行すると、httpdphpに必要な依存関係も自動的にインストールされます。

パッケージのインストール方法

yumを使用してパッケージをインストールする方法には、いくつかのアプローチがあります。

以下では、さまざまなインストール方法について説明します。

単一パッケージのインストール

単一のパッケージをインストールするには、次のコマンドを使用します。

yum install パッケージ名

例:wgetパッケージをインストールする場合

yum install wget
Installed: wget.x86_64 0:1.14-18.el7

複数パッケージの同時インストール

複数のパッケージを同時にインストールすることも可能です。

パッケージ名をスペースで区切って指定します。

yum install パッケージ名1 パッケージ名2

例:curlgitを同時にインストールする場合

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を使用してパッケージの自動更新を設定することができます。

これにより、定期的にパッケージが自動で更新されるようになります。

  1. yum-cronをインストールします。
yum install yum-cron
  1. 設定ファイルを編集します。
vi /etc/yum/yum-cron.conf
  1. 自動更新の設定を行います。

update_cmddefaultに設定することで、全パッケージの自動更新が可能です。

  1. 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にあります。

  1. 設定ファイルを開きます。
vi /etc/yum.conf
  1. metadata_expireの値を変更します。

例えば、1時間(3600秒)に設定する場合は、以下のように記述します。

metadata_expire=3600

この設定により、メタデータは1時間ごとに更新され、古いキャッシュは自動的に削除されます。

このように、yumのキャッシュ管理を適切に行うことで、システムのパフォーマンスを向上させ、ディスクスペースを効率的に利用することができます。

リポジトリの管理

yumを使用する際、リポジトリはパッケージのソースとなります。

リポジトリを適切に管理することで、必要なソフトウェアを効率的にインストール・更新できます。

以下では、リポジトリの管理方法について説明します。

リポジトリの追加

新しいリポジトリを追加するには、リポジトリの設定ファイルを作成します。

設定ファイルは通常、/etc/yum.repos.d/ディレクトリに保存されます。

以下の手順でリポジトリを追加します。

  1. 新しいリポジトリの設定ファイルを作成します。
vi /etc/yum.repos.d/myrepo.repo
  1. 設定ファイルに以下の内容を記述します。
[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の値を変更します。

  1. 設定ファイルを開きます。
vi /etc/yum.repos.d/myrepo.repo
  1. 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を編集できます。

  1. 設定ファイルを開きます。
vi /etc/yum.conf
  1. 必要な設定を変更します。

例えば、キャッシュの保存期間を設定する場合は、以下のように記述します。

metadata_expire=3600
  1. 編集が完了したら、ファイルを保存して終了します。

プロキシ設定

yumをプロキシ経由で使用する場合、設定ファイルにプロキシの情報を追加する必要があります。

以下の手順でプロキシ設定を行います。

  1. /etc/yum.confを開きます。
vi /etc/yum.conf
  1. 以下の行を追加または編集します。
proxy=http://プロキシサーバー:ポート番号
proxy_username=ユーザー名
proxy_password=パスワード

この設定により、yumは指定したプロキシサーバーを経由してインターネットに接続します。

ミラーサイトの設定

ミラーサイトを使用することで、パッケージのダウンロード速度を向上させることができます。

ミラーサイトを設定するには、リポジトリの設定ファイルを編集します。

  1. /etc/yum.repos.d/内のリポジトリ設定ファイルを開きます。
vi /etc/yum.repos.d/myrepo.repo
  1. 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を使用すると、システムのパッケージを自動的に更新することができます。

これにより、手動での更新作業を省略し、常に最新の状態を保つことができます。

  1. yum-cronをインストールします。
yum install yum-cron
  1. 設定ファイルを編集します。
vi /etc/yum/yum-cron.conf
  1. 自動更新の設定を行い、update_cmddefaultに設定します。
  2. 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とdnfの違いは?

yumdnfはどちらもRed Hat系のLinuxディストリビューションで使用されるパッケージ管理ツールですが、いくつかの違いがあります。

  • パフォーマンス: dnfyumよりも高速で、より効率的な依存関係の解決を行います。
  • APIの改善: dnfは新しいAPIを持ち、プラグインの開発が容易になっています。
  • メモリ使用量: dnfはメモリ使用量が少なく、より軽量です。
  • コマンドの互換性: dnfyumのコマンドと互換性があり、ほとんどのyumコマンドがそのまま使用できますが、いくつかの新しい機能も追加されています。

yumでインストールしたパッケージを確認するには?

yumでインストールしたパッケージを確認するには、以下のコマンドを使用します。

yum list installed

このコマンドを実行すると、システムにインストールされているすべてのパッケージのリストが表示されます。

また、特定のパッケージのインストール状況を確認するには、以下のようにパッケージ名を指定します。

yum list installed パッケージ名

yumで依存関係のエラーが出た場合の対処法は?

yumで依存関係のエラーが発生した場合、以下の対処法を試みることができます。

  1. パッケージの更新: 依存関係の問題が古いパッケージに起因している場合、システム全体を更新することで解決できることがあります。
yum update
  1. 特定のパッケージをインストール: エラーが発生している依存パッケージを手動でインストールすることも考えられます。
yum install 依存パッケージ名
  1. キャッシュのクリア: キャッシュが原因で依存関係のエラーが発生することもあるため、キャッシュをクリアして再試行します。
yum clean all
  1. リポジトリの確認: 必要なパッケージが正しいリポジトリに存在するか確認し、必要に応じてリポジトリを追加または有効化します。

これらの方法を試しても解決しない場合は、エラーメッセージをよく確認し、具体的な依存関係の問題を特定することが重要です。

まとめ

この記事では、yumコマンドを使用したパッケージ管理の基本から応用まで、さまざまな操作方法について詳しく解説しました。

特に、パッケージのインストール、更新、削除、キャッシュ管理、リポジトリの設定など、実際の運用に役立つ情報を提供しました。

これを機に、yumを活用してシステムのパッケージ管理を効率化し、より快適なLinux環境を構築してみてください。

  • URLをコピーしました!
目次から探す