S-JIS[2012-03-19/2012-06-12] 変更履歴

yum 〔オプション〕

RedHat系Linux(CentOSとか)でパッケージ(ソフトウェア)のダウンロードおよびインストールを行ってくれるコマンド。
(yumは、「ゆむ」と読んでいる人もいる(自分含む)が、「やむ」と言う人が多いようだ)


パッケージ探し

パッケージ名(の一部)から、そのパッケージを探す。

# yum search キーワード

インストール

パッケージを(ダウンロードして)インストールする。

# yum install パッケージ
# yum install -y パッケージ
# yum -y install パッケージ

「-y」を付けると、途中の確認時に「y」を自動的に入力する。

既にインストールされているものをもう一度インストールし直したい場合はreinstallを使う。

# yum reinstall パッケージ

reinstallでバージョンダウンしようとした際のエラーの例

アンインストール

インストール済みのパッケージを削除(アンインストール)する。

# yum remove パッケージ

確認

インストールされている(あるいはインストール可能な)パッケージを確認する方法。

# yum list
# yum list installed	…インストールされているものだけ表示

パッケージの情報を確認する方法。

# yum info パッケージ

依存関係の確認

パッケージの依存関係、又はコマンドがどのパッケージに入っていたかを確認する方法。

# yum provides パッケージ
# yum provides コマンドのフルパス

※ある環境に入っているコマンドが別の環境に入っていないとき、入っている環境でパッケージ名を確認して、それをインストールすることが出来る。

コマンド パッケージ
/usr/sbin/rpcinfo glibc-common

アップグレード

インストールされているパッケージをアップグレード(新しいバージョンに更新)する方法。[2012-03-31]

# yum upgrade パッケージ

バックグラウンドでの更新確認

yumによってインストールされたパッケージに関して、サーバーに新しいものが無いかどうかを自動的に確認する機能がある。
これが動いていると、その間、yum関連のコマンドが失敗する(待ち状態になる)。

Existing lock /var/run/yum.pid: another copy is running as pid 11188.
Another app is currently holding the yum lock; waiting for it to exit...
  The other application is: yum-updatesd-he
    Memory :  91 M RSS (415 MB VSZ)
    Started: Mon Mar 19 23:59:21 2012 - 02:01 ago
    State  : Sleeping, pid: 11188

こういった場合は、バックグラウンドで動いているyumを探してkillする。(yum-updatesd-heであれば、プロセスが2つ動いている模様。両方とも消す)

# ps aux | grep yum
# kill

参考: @ITのFedora Core 6でyumが実行できない場合は


リポジトリーの指定

yumでは、指定されたリポジトリー(アーカイブのある場所)からアーカイブをダウンロードする。
リポジトリーの設定は/etc/yum.repos.dというディレクトリーの下の設定ファイルで管理されている。

# cd /etc/yum.repos.d
# ls
CentOS-Base.repo CentOS-Media.repo CentOS-Debuginfo.repo CentOS-Vault.repo

新たにリポジトリーを追加するにはupdateを使う。

CDH3のリポジトリーを追加する例
# cd /etc/yum.repos.d
# wget http://archive.cloudera.com/redhat/cdh/cloudera-cdh3.repo
# yum update yum

yumを使ってインストールする場合、指定されたパッケージがどのリポジトリーにあるか探し、見つかった所からダウンロードする。[2012-03-31]

例えばhadoop-0.20のインストールの場合、cloudera-cdh3.repoの中に以下のようにアーカイブの場所が書かれている。

mirrorlist=http://archive.cloudera.com/redhat/cdh/3/mirrors

ウェブ上には、その場所に「mirrors」というファイルが置いてあり、その中は以下のようになっている。

http://archive.cloudera.com/redhat/cdh/3u3

つまり、3u3というディレクトリーを指している。(Hadoopのバージョンが上がれば、ここが更新される)
そして、実際のアーカイブはその下の「http://archive.cloudera.com/redhat/cdh/3u3/RPMS/noarch/」に置いてあり、そこからダウンロードされる。

(なので、アーカイブ自身はyumを使わなくてもダウンロードできる)


クリーン

yumではローカルにキャッシュ等の情報を持っていて、ある程度は毎回ネットワークにアクセスしないでも済むようになっている。[2012-03-31]

これらの情報を消すにはcleanを使う。

# yum clean all

all以外にも「expire-cache」「packages」「headers」「metadata」「dbcache」が指定できるが、allで全て消すのが後腐れが無いw


yumdownloader

yumでインストールに使用するrpmファイルをダウンロードする。[2012-06-12]

yumdownloaderは標準では入っていないので、インストールする必要がある。

# yum -y install yum-utils
# yumdownloader パッケージ

参考: yum/YUMのリポジトリからRPMをダウンロードする方法


UNIXコマンドへ戻る
メールの送信先:ひしだま