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
yumでインストールに使用するrpmファイルをダウンロードする。[2012-06-12]
yumdownloaderは標準では入っていないので、インストールする必要がある。
# yum -y install yum-utils
# yumdownloader パッケージ
参考: yum/YUMのリポジトリからRPMをダウンロードする方法