yum の使用方法
RPMパッケージをインストールするための, CentOS (RedHat系Linux distribution)でのパッケージ管理ツール. RPM関係の情報も参照.
問題解決の具体策の一部は, トラブル解決 # yum関連を参照.
依存パッケージも同時インストールされるし, パッケージの検索などもできるので便利.
使い方が分からなかったら... 掲示板への質問やGoogle検索の前に,まずは man yum してみること. それすらやりたくないのなら,あなたは UNIX系列のOS利用者として向いてません. とっとと使うのをやめるほうがいいでしょう.
yum のレポジトリ関連設定
- /etc/yum.repos.d/ 以下にある *.repo などのファイル (例: epel.repo, fedora.repo, thirs.repo など)
- 参照するレポジトリの on/off をしたい場合は, 対象となる *.repo ファイル内の enabled 部分を修正
yum で参照する・有効化されているレポジトリの表示:
yum repolist all yum repolist enabled
enabled = 1 # 参照する (on) enabled = 0 # 参照しない (off)
- 一時的な on/off ならば,yum のオプションで変更
# yum --disablerepo=epel --disablerepo=fedora ほげほげ
- 以前使えていた repository が,ある時には使えなくなっている (あるいは,一部パッケージが欠落している,など)... という場面がある. その場合, yum update が途中で失敗し,アップデートできない.そんなときは, うまく取得できない情報元になっている repository を一時的に off にすればよかろう. 実際,そんな目に何度か遭遇したので.
EPEL レポジトリの追加
EPEL (Extra Packages for Enterprise Linux) レポジトリを追加. これを追加すれば,yum 一発でインストールできるものをかなり増やせる(はず). 例えば,denyhosts や MediaWiki はこれを追加しないと見つけてくれなかった.
- 64-bit, CentOS 5.4 or 5.5 の場合
# wget http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/5/x86_64/epel-release-5-4.noarch.rpm # rpm -ivh epel-release-5-4.noarch.rpm
- CentOS 6.x の場合
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-6.noarch.rpm
上記以外にも,様々な レポジトリが存在する. 例の一つとして EPEL レポジトリについて掲載したが, その他の情報は数多くのサイトに掲載されているので省略.
ELrepo の追加
kernel module に特化したレポジトリ. munin 関連の設定で, 必要となる kernel module (kmod*)の導入が用意になるので追加.
rpm -Uvh http://elrepo.org/elrepo-release-0.1-1.el5.elrepo.noarch.rpm
例えば,CPUの温度計測に必要なモジュール (Intel Xeon 系なら coretemp, AMD Opteron 系 なら k10 など)の導入は 以下のように実行:
yum --disablerepo=\* --enablerepo=elrepo install kmod-coretemp lm_sensors yum --disablerepo=\* --enablerepo=elrepo install kmod-k10temp lm_sensors
上記の場合,ELrepo のパッケージのみに限定してパッケージ導入. なお,ELrepo の kmod-* を入れる際には,対応する lm_sensors もELrepo から取ったものにしておく方が良さそう(情報は未確認だが)なので, lm_seonsors も同時導入.
- Intel Xeon L5410 搭載の server (Dell PowerEdge R300)では,sensors-detect に失敗(最後のlm-sensors の再起動部分のみ).Xeon X3000 番台搭載のサーバでは, 問題無く成功.原因特定の時間が無いので,とりあえず pending.
Adobe yum レポジトリの追加
64bit版 Adobe flash プラグインの場合(checked 2015-05-30; CentOS 7.1.1503).
rpm -ivh http://linuxdownload.adobe.com/adobe-release/adobe-release-x86_64-1.0-1.noarch.rpm yum search flash yum install -y flash-plugin
Adobe Reader, flash などの yum インストールのために.
rpm -ivh http://linuxdownload.adobe.com/adobe-release/adobe-release-i386-1.0-1.noarch.rpm rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux yum search Adobe yum install -y AdobeReader_jpn
OSインストール後の yum 使用
新規インストール時に不足するライブラリ・コマンドなどを yum でインストール. 基本的な流れは下記:
- 開発環境.これが無いと,手動インストール時に困る.
- ftp クライアントや wgrib/wgrib2 など.
- jasper は, wgrib2 の手動コンパイルや CDO 本体インストールの事前準備 で必要.
CentOS 5.x 系列
NetCDF 3.x のコンパイル時に必要だったので, compat-libstdc++-33 を入れる. また,個人的によく使うツールとして ncftp や wgrib, wgrib2 なども追加.
yum groupinstall "Development Tools" "Development Libraries" yum groupinstall "X Software Development" yum -y install compat-libstdc++-33 ncftp wgrib wgrib2 yum -y install jasper jasper-devel
なお,Xの開発環境は, GMT のコンパイル時に xgrid でコケる(libXaw 関連)のがうざったいので付けてるだけ. xgrid 関連を除き,通常の自分の使い方では, X の開発環境が必要になった経験は無い(はず). 大多数のエンドユーザには、不要なパッケージ群だと思われる.
ただし,私の場合はLinuxインストールの直後にGMTを入れるので, それ以降の tar ball コンパイル時にはX開発環境がインストール済みになっている. つまり,気づいていないだけかもしれない.
CentOS 6.x 系列
CentOS 6.x では,compat-libstdc++-33 は必須ではなかった. 入れても問題ないが. CentOS 5.x 同様,ncftp, wgrib, wgrib2, jasper 関連なども追加.
yum groupinstall "Additional Development" "Desktop Platform Development" yum groupinstall "Development tools" yum -y install ncftp wgrib wgrib2 jasper jasper-devel
CentOS 7.x 系列
CentOS 7.x では,GNOME がどうしても好きになれず不採用. 代わりにXfceを使う. CentOS 5.x & 6.x 同様,ncftp, wgrib, wgrib2, jasper 関連なども追加.
yum groupinstall "Compatibility Libraries" yum groupinstall "Development tools" "Xfce" yum -y install ncftp wgrib wgrib2 jasper jasper-devel yum -y install libXt-devel libXaw-devel (GMT セットアップ時に必要)
関連ページ (hysk 内)
- Linux 個人設定 (hysk) # インストール後の設定の概要: インストール後の各種設定のまとめ.yum を使って,開発環境をまとめて突っ込む.
- Linux 個人設定(hysk) # PC移行・OS更新時の作業工程:
- GNOMEアプリが落ちる: ウィンドウ環境の再インストール
主なオプション
- yum check-update
- アップデート可能なパッケージ一覧の表示
- yum clean all
- ダウンロード済みのパッケージや古いヘッダを削除.
- yum clean oldheaders
- 古いヘッダを削除.
- yum clean packages
- ダウンロード済みのパッケージを削除.
- yum deplist パッケージ名
- 指定したパッケージが依存する他のパッケージをリスト表示. udunits2 を yum で入れたら netcdf まで突っ込まれるのが嫌だったので確認した(2016-02-28). CDO の更新インストール時(See CDOセットアップ).
- yum info
- yum info パッケージ名
- yum install パッケージ名
- yum list
- 利用可能なパッケージ一覧の表示
- yum list installed
- インストール済みのパッケージ一覧の表示
- yum list updates
- アップデート可能なパッケージ一覧の表示
- yum provides 検索対象
- 検索対象が含まれるパッケージ情報を表示
- yum remove パッケージ名
- yum repolist [all|enabled|disabled]
- レポジトリの表示.全てか有効なものだけか,など.
- yum search キーワード
- キーワードでパッケージ検索. 検索対象は,RPMファイルの Name, Packager, Summary, Description の各フィールド
- yum update
- yum update パッケージ名
- yumのキャッシュ用ディスク
- /var/cache/yum/ (サイズの確認 du -h /var/cache/yum )
group 関連オプション
yum group* 使い方
grouplist, groupinstall, groupremove, groupupdate, groupinfo
- yum grouplist
- グループリストの表示. なお,単なる個人的好みだが,私はコマンドラインで日本語を使いたくないので, root の LANG は C にしてる.
- yum groupinfo "group name"
- グループ内のパッケージをリスト表示.
- yum groupinstall "group name"
- グループ内のパッケージ全部インストール
- yum groupremove "group name"
- グループ内のパッケージ全削除
yum group 関連メモ
- 新規インストール後,必要ソフト・コマンドを一括操作するときに使う.
- CentOS 6.5 でのGNOME のトラブル時にも, ウィンドウシステムの一括再インストールで利用 (See GNOMEアプリが落ちる; 2014-02-22).
yum プラグイン
fastestmirror, versionlockなど
fastestmirror
fastest と名乗っている割には,とてつもなく遅い事がたびたびある. そんな時には,fastestmirror の判断規準となっているキャッシュファイルを削除してみる.
# cat /etc/yum/pluginconf.d/fastestmirror.conf (略) hostfilepath=/var/cache/yum/timedhosts.txt <= こいつ (略) # rm /var/cache/yum/timedhosts.txt
これでサーバとの通信に要する時間を再計測してくれるので, 大抵の場合は早いサーバを見つけてくれて,ストレスが大幅に軽減されるだろう. それでも遅い場合は,fastestmirror に任せるのをやめるしかない. 早そうなサーバを調べて,決め打ちしてしまえば良いだろう. その方法はいろんな人が書いてあるので割愛.
See also トラブル解決 # yum 関連
versionlock
- yum によるアップデートをしたくないものを指定. ユーザが望まないパッケージのアップデートを防ぐために使う. セキュリティパッチなどへの対応は自己責任でおこなうこと.
- /etc/yum/pluginconf.d/versionlock.list に, アップデートしたくない RPM パッケージ名を書く.
$ cat /etc/yum/pluginconf.d/versionlock.list kernel-2.6.18-128.7.1.el5.centos.plus kernel-headers-2.6.18-128.7.1.el5.centos.plus kernel-devel-2.6.18-128.7.1.el5.centos.plus kernel-xen-devel-2.6.18-128.4.1.el5.centos.plus
自分が経験したトラブル
Move to トラブル解決 # yum 関連
情報源
更新履歴
Date | Changes |
---|---|
2016-02-27 |
yum のトラブルとその解決法を,
トラブル解決 # yum関連に移設.
ページ内の参照用IDを付け替え. 番号付けのルールは, Linux tips (hysk) # 自分専用ルール・HTML に従う. |
2009-xx-xx | 多分,このくらいの時期に記載開始. |