yum
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リポジトリ一追加リスト 完全版