連載
» 2016年09月06日 05時00分 UPDATE

Linux基本コマンドTips(45):【 yum 】コマンド(応用編その3)――パッケージ/システムをアップデートする

本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回も、「yum」コマンドの応用編を紹介します。

[西村めぐみ,@IT]
「Linux基本コマンドTips」のインデックス

Linux基本コマンドTips一覧

 本連載では、Linuxの基本的なコマンドについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回も、ソフトウェア(パッケージ)のインストールなど、“パッケージ管理”を行う「yum」コマンドの応用編を紹介します。

yumコマンドとは?

 「yum」は、Red Hat系のLinuxディストリビューションで使われている“RPMパッケージ”を扱うためのパッケージ管理コマンドです。


yumコマンドの書式

yum [オプション] コマンド [パッケージ名など]

※[ ]は省略可能な引数を示しています



yumコマンドの基本操作

yum install パッケージ名

(パッケージおよびそのパッケージに必要なパッケージを同時にインストールする)

yum update パッケージ名

(指定したパッケージがインストールされている場合、アップデートする。パッケージを指定しなかった場合はシステム全体がアップデート対象となる)

yum erase パッケージ名

(パッケージをアンインストールする。指定したパッケージに依存するパッケージも削除するかどうかの確認メッセージが表示される)




yumの主なコマンド

 yumで使える主なコマンドは次の通りです。

●パッケージ操作関係
コマンド 実行内容
install パッケージをインストールする
reinstall パッケージを再インストールする
downgrade パッケージをダウングレードする
erase パッケージを削除する
update システムのパッケージを更新する
update-minimal 「重要な更新」だけを更新する
upgrade 不要になったパッケージを考慮しながらパッケージを更新する
distribution-synchronization 最新の利用可能なバージョンへインストール済みパッケージを同期する
localinstall パッケージファイル(RPMファイル)を指定してインストールする
localupdate パッケージファイル(RPMファイル)を指定してアップデートする

●情報関係のコマンド
コマンド 実行内容
info パッケージもしくはパッケージグループの詳細を表示する
list パッケージグループの一覧を表示する
deplist パッケージの依存性の一覧を表示する
groups パッケージグループの情報を表示する
search 指定した文字列でパッケージの詳細を検索する
provides ファイルなどを指定して、該当するファイルを提供するパッケージを検索する
repolist ソフトウェアリポジトリの構成を表示する
version ホストが利用できるリポジトリのバージョンを表示する

●メンテナンス関係のコマンド・その他
コマンド 実行内容
check rpmデータベースの問題を確認する
check-update 更新に利用できるパッケージを確認する
clean キャッシュデータを削除する
shell 対話型のシェル(yumシェル)を実行する
updateinfo リポジトリの更新情報を表示する


yumコマンドの主なオプション

 yumコマンドの主なオプションは次の通りです。

短いオプション 長いオプション 意味
-y --assumeyes 全ての問い合わせに「yes」で応答したものとして実行する
--assumeno 全ての問い合わせに「no」で応答したものとして実行する
-t --tolerant エラーを黙認する
-R 分 --randomwait=分 最大の待ち時間を指定する
-c 構成ファイル --config=構成ファイル 構成ファイルを指定する
--installroot=場所 インストール先を指定する
--downloaddir=場所 ダウンロード先を指定する
--downloadonly ダウンロードだけを行う
-C --cacheonly パッケージの情報をダウンロードせずキャッシュだけを使用する
-x パッケージ --exclude=パッケージ 除外するパッケージを指定する(ワイルドカードも使用可能)
--color=指定 出力メッセージを色付きにするかどうかを「always」「auto」「never」のいずれかで指定する
-q --quiet 実行時にメッセージを出力しない
-v --verbose 詳しいメッセージを出力する


パッケージをアップデートする

 「yum update パッケージ名」で、パッケージをアップデートします。なお、この操作にはルート権限が必要になります。

 コマンドを実行すると更新内容が表示されます(画面1)。処理の開始前には確認メッセージが表示され、「y」を入力すると更新が始まります(画面2)。確認メッセージを省略したい場合は、「-y」オプションを使用します。

コマンド実行例

yum update perl

(「perl」パッケージをアップデートする)

yum -y update perl

(確認メッセージなしで「perl」パッケージをアップデートする)


画面1 画面1 更新される内容が表示される。「y」と入力すると処理が始まる
画面2 画面2 もう一度確認メッセージが出たら「y」を入力して続行する


パッケージのアップデートをチェックする

 「yum check-update パッケージ」で、指定したパッケージがアップデート可能かどうかを確認できます。なお、「yum check-update」は一般ユーザーの権限で実行できます。

 パッケージ名にはワイルドカード(*)を指定することもできます。例えば、「yum check-update perl」では、先述の例(パッケージをアップデートする)で「perl」のアップデートが完了しているので、“アップデート対象なし”ということで何も表示されません。

 対して、ワイルドカードを用いた「yum check-update perl*」の場合は、名前が「perl」で始まるパッケージが全てチェックされます(画面3)。以下の実行例では、「perl-Git」パッケージなどがアップデート可能であることが分かります。

コマンド実行例

yum check-update perl

(「perl」パッケージがアップデート可能かどうかを確認する)

yum check-update perl*

(名前が「perl」で始まる全てのパッケージがアップデート可能かどうかを確認する)


画面3 画面3 1つ目は「perl」パッケージを、2つ目は名前が「perl」から始まるパッケージに更新があるかどうかを確認している


システム全体をアップデートする

 パッケージ名を指定せずに「yum update」のみで実行すると、システム全体がアップデートされます(画面4)。この場合も、まずアップデート対象が表示されるので、「y」でアップデートを実行します(画面5画面6)。アップデート内容によっては、もう一度メッセージが表示されることがあるので、席を離れたいなど、一気に実行したい場合は「yum -y update」のように「-y」オプションを追加して、確認メッセージを省略しましょう。

コマンド実行例

yum update

(システムをアップデートする)

yum -y update

(確認メッセージなしでアップデートする)


画面4 画面4 「yum update」を実行する
画面5 画面5 「y」を入力して、システムのアップデート処理を開始する
画面6 画面6 アップデート処理が終了した

 実行結果に、「更新」したパッケージの他に「置換」されたパッケージが表示されることがあります。これは、パッケージ名が変更されたり、同等なパッケージがインストールされたなどで削除されたパッケージです(次項参照)。

 どのようなパッケージがアップデート対象になっているかだけを確認したい場合は「yum check-update」を実行します。この場合、置換されるなどで削除されるパッケージは「不要なパッケージ」として表示されます。



「yum update」と「yum upgrade」の違いは?

 「yum update」に似たコマンドとして、「yum upgrade」があります。「yum upgrade」は「yum update --obsoletes」相当のコマンドで、システム全体の更新と同時に「obsolete(廃止)」、つまり不要になったパッケージを削除するというオプションです。

 ただし、CentOSの場合は「/etc/yum.conf」で「obsoletes=1」が設定されているため、「yum update」でも「yum upgrade」でも動作は同じです(画面7)。

画面7 画面7 前項の「yum update」を実行する直前の「yum check-update」の様子


筆者紹介

西村 めぐみ(にしむら めぐみ)

PC-9801N/PC-386MからのDOSユーザー。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。のち退社し、専業ライターとして活動を開始。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『はじめてでもわかるSQLとデータ設計』『シェルの基本テクニック』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。


Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。