yumコマンドの仕組みと動作

 yumコマンドは、Red Hat系Linuxディストリビューション(例: CentOS, Fedora)で使用されるパッケージ管理ツールで、rpmコマンドに比べて大きな利点があります。それは、依存関係を自動的に解決する機能です。yumコマンドは、実行されるとリポジトリにアクセスし、パッケージの情報を検索、ダウンロード、インストールを行います。

リポジトリの概要

 リポジトリとは、パッケージの保管庫です。yumコマンドは、指定されたリポジトリにアクセスしてパッケージの情報を検索し、必要なパッケージやその依存パッケージを一括してダウンロードおよびインストールします。リポジトリには以下の2種類があります。

リポジトリの種類説明
内部リポジトリ社内ネットワークに存在し、社内のみアクセス可能なリポジトリ。企業や組織内で使用される。
外部リポジトリインターネット上に公開され、広くアクセス可能なリポジトリ。クラウド上に存在することも多い。
リポジトリの種類

yumコマンドがリポジトリを使うメリット

yumコマンドがリポジトリを利用することで得られる主なメリットは以下の通りです。

  1. 依存関係の自動解決
     yumコマンドは、インストールするパッケージが依存している他のパッケージも自動的にダウンロードし、一括でインストールします。これにより、ユーザーが手動で依存関係を解決する必要がなくなり、作業効率が大幅に向上します。
  2. 簡単なアップデート管理
     システム全体のパッケージを一度に最新のバージョンにアップデートすることが可能です。セキュリティパッチの適用や新機能の導入が容易になります。
  3. 統一された管理
     リポジトリ内のパッケージは一元管理されており、信頼性のあるパッケージのみをインストールすることで、システムの安定性とセキュリティが向上します。

yumコマンドの設定ファイル

yumコマンドの動作やリポジトリの設定は、いくつかの設定ファイルによって管理されています。

主な設定ファイル

設定ファイル説明
/etc/yum.confyumコマンドの動作に関する基本的な設定が記載されているファイル。
/etc/yum.repos.d/yumがアクセスするリポジトリサーバの情報が記載された「.repo」拡張子を持つファイルが格納されているディレクトリ。
主な設定ファイル
/etc/yum.conf ファイルの例
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=3

 このファイルには、yumコマンドがどのように動作するかに関する設定が記述されています。例えば、cachedirはキャッシュの保存場所、logfileはログファイルの場所を指定しています。

/etc/yum.repos.d/ ディレクトリのファイル群の例
CentOS-Base.repo       CentOS-Media.repo    CentOS-fasttrack.repo
CentOS-CR.repo         CentOS-Sources.repo  CentOS-x86_64-kernel.repo
CentOS-Debuginfo.repo  CentOS-Vault.repo

 これらのファイルには、それぞれのリポジトリに関する設定が記載されており、yumコマンドはこれらのファイルを参照してリポジトリにアクセスします。

まとめ

 yumコマンドは、依存関係の自動解決やリポジトリを利用した効率的なパッケージ管理を実現する強力なツールです。設定ファイルを適切に管理することで、システムの安定性とセキュリティを保ちながら、容易にパッケージのインストールやアップデートが行えます。