【 yum 】コマンド(応用編その3)――パッケージ/システムをアップデートする:Linux基本コマンドTips(45)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回も、「yum」コマンドの応用編を紹介します。
本連載では、Linuxの基本的なコマンドについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回も、ソフトウェア(パッケージ)のインストールなど、“パッケージ管理”を行う「yum」コマンドの応用編を紹介します。
- [参考]yumコマンド(基礎編)――ソフトウェア(パッケージ)をインストールする/アンインストールする(本連載 第42回)
- [参考]yumコマンド(応用編)――ファイルから収録パッケージを調べる(本連載 第43回)
- [参考]yumコマンド(応用編その2)――プログラムグループのリストを表示する(本連載 第44回)
yumコマンドとは?
「yum」は、Red Hat系のLinuxディストリビューションで使われている“RPMパッケージ”を扱うためのパッケージ管理コマンドです。
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」パッケージをアップデートする)
パッケージのアップデートをチェックする
「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」で始まる全てのパッケージがアップデート可能かどうかを確認する)
システム全体をアップデートする
パッケージ名を指定せずに「yum update」のみで実行すると、システム全体がアップデートされます(画面4)。この場合も、まずアップデート対象が表示されるので、「y」でアップデートを実行します(画面5、画面6)。アップデート内容によっては、もう一度メッセージが表示されることがあるので、席を離れたいなど、一気に実行したい場合は「yum -y update」のように「-y」オプションを追加して、確認メッセージを省略しましょう。
コマンド実行例
yum update
(システムをアップデートする)
yum -y update
(確認メッセージなしでアップデートする)
実行結果に、「更新」したパッケージの他に「置換」されたパッケージが表示されることがあります。これは、パッケージ名が変更されたり、同等なパッケージがインストールされたなどで削除されたパッケージです(次項参照)。
どのようなパッケージがアップデート対象になっているかだけを確認したい場合は「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)。
筆者紹介
西村 めぐみ(にしむら めぐみ)
PC-9801N/PC-386MからのDOSユーザー。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。のち退社し、専業ライターとして活動を開始。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『はじめてでもわかるSQLとデータ設計』『シェルの基本テクニック』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。
Copyright © ITmedia, Inc. All Rights Reserved.