LinuCレベル1 101試験の例題と解説
1.04.3yumコマンドによるパッケージ管理
LinuCレベル1 101試験の出題範囲から「1.04.3 yumコマンドによるパッケージ管理」についての例題を解いてみます。
ここでは、パッケージ管理コマンドについて確認しておきましょう。
例題
yumコマンドを使用して、パッケージ"httpd"を削除したい。
正しいコマンドを選択してください。
- yum clean httpd
- yum remove httpd
- yum purge httpd
- yum autoremove httpd
※この例題は実際の試験問題とは異なります。
解答と解説
正解は、「2. yum remove httpd」です。
yumコマンドは、パッケージ管理を行うためのコマンドです。パッケージのインストール・アンインストールを行ったり、パッケージの情報を確認したりすることができます。
yumコマンドやyumコマンドの関連ユーティリティの動作は、/etc/yum.confで設定がされています。
パッケージのリポジトリの設定は、/etc/yum.repos.dのディレクトリ配下に.repo ファイルを配置し、個々のリポジトリーを定義します。
yumコマンドの書式は以下の通りです。
yum [オプション] [サブコマンド] [パッケージ名]
主なサブコマンドを以下に記載します。
install | : | パッケージをインストールします。yum install [パッケージ名] のように使用します。 |
remove | : | パッケージをアンインストールします。yum remove [パッケージ名] のように使用します。 |
update | : | インストール済みのパッケージを最新版にアップデートします。yum update のように使用します。 |
upgrade | : | システム全体を最新のパッケージにアップグレードします。yum upgrade のように使用します。 |
list | : | インストール済みのパッケージや利用可能なパッケージを一覧表示します。yum list のように使用します。 |
search | : | パッケージの検索を行います。yum search [パッケージ名] のように使用します。 |
info | : | パッケージの詳細情報を表示します。yum info [パッケージ名] のように使用します。 |
check-update | : | インストール可能なパッケージのアップデートをチェックします。yum check-update のように使用します。 |
clean | : | キャッシュや一時ファイルをクリーンアップします。yum clean all のように使用します。 |
history | : | 過去の履歴を表示します。yum history のように使用します。 |
続いて、主なオプションを以下に記載します。
-y, --assumeyes:
確認プロンプトを表示せずに、すべての問い合わせに自動的に「yes」と回答します。
例えば、パッケージをインストールすると、以下のように確認プロンプトが表示されますが、"-y"オプションを指定すると、自動的にyesが選択され、確認プロンプトを表示せずにインストールを行うことができます。
# yum install httpd
Last metadata expiration check: 2:17:01 ago on Wed May 15 11:44:27 2024.
Dependencies resolved.
:
Total download size: 2.0 M
Installed size: 6.1 M
Is this ok [y/N]: ←*確認プロンプトが表示される
:
-c [設定ファイル], --config=[設定ファイル]:
指定された設定ファイルを読み込みます。これにより、デフォルトの設定ファイルの代わりに、別の設定ファイルを使用することができます。
以下のように使用します。
# yum -c /path/to/custom/yum.conf install http
/path/to/custom/yum.confを読み込んでhttpdをインストールできます。
-q, --quiet:
出力を抑制し、コマンドの実行が静かに行われるようにします。エラーメッセージ以外の出力が非表示になります。
以下のように使用します。
# yum -q install httpd
Is this ok [y/N]: y
Installed:
almalinux-logos-httpd-90.5.1-1.1.el9.noarch apr-1.7.0-12.el9_3.x86_64
:
mod_http2-2.0.26-2.el9_4.x86_64 mod_lua-2.4.57-8.el9.x86_64
インストール時の詳細情報を表示せずに、パッケージをインストールできます。
-v, --verbose:
コマンドの実行中に詳細なデバッグメッセージを表示するために使用されます。
以下のように使用します。
# yum -v install httpd
長いため省略しますが、インストールされたパッケージ名などの詳細を表示することができます。
パッケージ管理ツールとして、yumコマンドのほかに、rpmコマンドが存在します。
yumコマンドとrpmコマンドの違いは、例えば、yumはrpmパッケージを管理するだけでなく、依存関係の解決やリポジトリの管理などの機能も持っています。rpmコマンドでは、依存関係の解決やリポジトリの管理は手動で行う必要があります。
また、最近では、yumとほぼ同じ、dnfコマンドも登場しています。dnfコマンドは、yumの次の大きなメジャーバージョンとして使用されています。
選択肢の解説は以下です。
1.yum clean httpd
キャッシュや一時ファイルをクリーンアップするコマンドのため、誤りです。
また、cleanを使用する場合、指定できる引数が決まっています。有効な引数は以下の通りです。
- metadata: パッケージリストのメタデータをクリアします。
- packages: すべてのキャッシュされたパッケージを削除します。
- dbcache: yumのデータベースキャッシュを削除します。
- expire-cache: メタデータの有効期限が切れた場合にのみキャッシュを削除します。
- all: 全てのキャッシュを削除します。
以下のように使用します。
# yum clean all
2.yum remove httpd
パッケージをアンインストールするコマンドのため、正解です。
以下のように実行できます。
# yum remove httpd
Dependencies resolved.
=======================================================================================================================
Package Architecture Version Repository Size
=======================================================================================================================
Removing:
httpd x86_64 2.4.57-8.el9 @appstream 59 k
Removing unused dependencies:
:
Transaction Summary
=======================================================================================================================
Remove 12 Packages
Freed space: 6.1 M
Is this ok [y/N]: y
Running transaction check
Transaction check succeeded.
:
:
Removed
:
almalinux-logos-httpd-90.5.1-1.1.el9.noarch apr-1.7.0-12.el9_3.x86_64
:
mod_lua-2.4.57-8.el9.x86_64
Complete!
3.yum purge httpd
yumに、purgeというサブコマンドは存在しないため、誤りです。
4.yum autoremove httpd
autoremoveは、必要とされなくなった依存パッケージをすべて削除する際に使用します。
パッケージをインストールすると、それに依存する他のパッケージも一緒にインストールされます。しかし、依存していた他のパッケージが、後で不要になった場合、その不要になった依存パッケージを自動的に削除するために「yum autoremove」を使用することができます。
これにより、システムに不要な余分なパッケージが残らず、ディスクスペースを効率的に管理することができます。
つまり、yum autoremove httpd は、
「httpd パッケージの依存関係を削除する」という意味ではありますが、
「httpd パッケージを直接削除する」という意味ではありません。
よって、誤りです。
今回は、yumコマンドのサブコマンドについて主に確認を行いました。yumコマンドについて理解して、パッケージの管理を自由に行えるようにしましょう。
例題作成者
株式会社デージーネット 経営企画室営業SEチーム 宮本 郁実