yum

最終更新日時:2017-02-14 00:00:00
Linux系

yum は、rpm のインストールやアンインストール、アップデートなど、つまり管理するためのアプリケーションです。
rpm の管理アプリケーションは他に up2date 等もありますが、最近の RedHat 系では標準で使われているので、yum がもっともよく使われていると思って良いでしょう。

使い方


以下は主な使い方です。

 # yum [コマンド]


[コマンド]の内容は以下のとおり。

コマンド内容
check-update現在のシステムにインストールされているパッケージでアップデート可能なパッケージの一覧を表示
cleanダウンロードしたパッケージと古いヘッダを削除
info パッケージ名指定したパッケージの情報を表示
install パッケージ名指定したパッケージをインストール
listインストール可能なパッケージの一覧を表示
list installedインストール済みのパッケージ一覧を表示
provides パッケージ名パッケージに含まれるファイルの一覧を表示
remove パッケージ名指定したパッケージを削除する
updateアップデート可能な全パッケージをアップデート
update パッケージ名指定したパッケージをアップデート


トラブルシューティング


yum updateした際に、以下のようなエラーが出ることがあります。

 http://mirror.centos.org/centos/4/addons/i386/repodata/repomd.xml: [Errno 12] Timeout: <urlopen error timed out>
 Trying other mirror.
 Cannot open/read repomd.xml file for repository: addons
 failure: repodata/repomd.xml from addons: [Errno 256] No more mirrors to try.
 Error: failure: repodata/repomd.xml from addons: [Errno 256] No more mirrors to try.


これは、文字通り mirror.centos.org につながらなかった際に表示されるのですが、かなり頻発します。
このような時は、ミラーサイトを取得せず、baseurlを直接指定してしまった方が速いです。
リポジトリを以下のように変更します。

 baseurl=http://ftp.riken.jp/Linux/centos/$releasever/os/$basearch/


なおリポジトリは、通常以下となります。

 /etc/yum.repos.d/CentOS-Base.repo



サポート終了したバージョンで使用する


古い CentOS では、既に yum のサポートが終了しています。
しかし、そうは言っても OS のアップデートというのは面倒なので、そうそう簡単にバージョンアップも出来ません。
このような場合には、通常以下のようなエラーが出ます。

 # yum update
 not using ftp, http[s], or file for repos, skipping - 4 is not a valid release or hasnt been released yet
 Cannot find a valid baseurl for repo: update
 Error: Cannot find a valid baseurl for repo: update


このような場合には、リポジトリを http://vault.centos.org/ にすることで、延命可能です。
例えば、CentOS4 系であれば、以下のような感じです。

 baseurl=http://vault.centos.org/4.9/os/$basearch/


上記は os の設定ですが、update 等他の baseurl も同様に変更することで対応可能です。

追加リポジトリ


yum は、設定されたリポジトリからファイルを取得してきます。
このリポジトリ設定を追加すると、デフォルトでは対応していないパッケージも yum 管理下に追加できます。
追加可能なリポジトリは以下のサイトが詳しいです(^_^;

yumリポジトリ一追加リスト 完全版


お問い合わせは 掲示板 にて。