CentOSで様々なパッケージライブラリをインストールする際にyumを利用します。
perl, php, mysql, postfix, python, java, httpd 等々ソフトウェア開発に必要なものも大抵はyumコマンドでインストール可能です。
開発環境を整えたり、ライブラリのバージョンアップを行ったりする際にyumは利用しますので、yumを利用する際に最低限知っておきたいコマンドを紹介いたします。
yum list: パッケージリストを表示する
インストール可能な全パッケージを一覧表示します。
# yum list
yum list available: 特定のパッケージリストを表示する
特定パッケージがインストール可能か調べる場合に、指定文字列に該当するパッケージ名を表示します。指定文字列にはワイルドカードを使用することができます。(「*」を指定するとすべての文字列に該当するようになり、キーワードの前後に付与することでキーワードを含むパッケージ名がすべて表示されます。)
# yum list available '*キーワード*'
listの結果をgrepと組み合わせて表示することでも同じことができます。
# yum list | grep キーワード
yum list installed: インストール済みパッケージリストを表示する
インストール済みのパッケージを表示する場合はinstalledを指定します。特定のパッケージに絞りたい場合は上述と同じくgrepと組み合わせます。
# yum list installed
yum provides: 特定ライブラリを含むパッケージリストを表示する
特定ライブラリを含むyumパッケージリストを表示する場合はlistではなくprovidesを利用します。
# yum provides リポジトリ名/ライブラリ名
リポジトリ名はbaseやepelやremiなどですが、大抵はどこに含まれているか不明な状態で探すので、すべてを意味する「*」を指定します。
yum check-update: アップデート可能なパッケージリストを表示する
アップデート可能なパッケージリストを表示します。
# yum check-update
yum info: パッケージの詳細情報を表示する
パッケージの詳細情報を表示します。バージョンや容量、要約、ライセンス、説明などが表示されます。
# yum info パッケージ名
yum search: パッケージ名を検索して表示する
パッケージ名を検索して表示します。個人的にはlistとgrepを組み合わせたほうがリポジトリの所在までわかるのであまり使わないです。
# yum search パッケージ名
yum install: パッケージやリポジトリをインストールする
パッケージやリポジトリをインストールします。※ phpやperlといったパッケージ、epel-releaseなどのリポジトリパッケージ
# yum install パッケージ名またはリポジトリパッケージ名
インストールする際にインストールするかどうか確認メッセージが表示されます。1つ1つ確認せず強制的にインストールする場合は-yオプションを指定します。
# yum -y install パッケージ名
無効化された普段使用しないリポジトリからインストールする場合は--enablerepoオプションを使用します。
# yum --enablerepo=リポジトリ名1,リポジトリ名2,…リポジトリ名n install パッケージ名
yum remove: インストールしたパッケージをアンインストールする
インストール済みパッケージをアンインストールします。
# yum remove パッケージ名
アンインストールする際にアンインストールするかどうか確認メッセージが表示されます。1つ1つ確認せず強制的にアンインストールする場合は-yオプションを指定します。ただし、依存するパッケージも同時に削除されるため、-yを付ける場合はよくよく注意が必要です。
# yum -y remove パッケージ名
yum update: インストール可能なパッケージ群を最新バージョンへ更新する
パッケージをリポジトリで提供している最新版に更新します。※ リポジトリの内容が古いと最新パッケージは入手できません。
# yum update
インストールやアンインストールと同じく確認せず強制的に更新するには-yオプションを指定します。
# yum -y update
特定のパッケージのみアップデートするにはパッケージ名を指定します。
# yum update パッケージ名
無効化された通常使用しないリポジトリを指定してアップデートするには--enablerepoオプションを指定します。さらに特定のパッケージのみ更新する場合はパッケージ名も指定します。
# yum --enablerepo=リポジトリ名1,リポジトリ名2,…リポジトリ名n update パッケージ名
yum clean all: rpmファイルやヘッダなどのキャッシュをすべてクリアする
今までにダウンロードしたrpmファイルやヘッダファイルを削除します。ディスクの空き容量が増えます。※ updateをかけると再度ダウンロードが始まるので注意
# yum clean all
yum clean oldheaders: 古いヘッダのキャッシュをすべてクリアする
古いヘッダ情報をすべてクリアします。異なるバージョンのリポジトリを導入する際にキャッシュのせいでうまくインストールできない場合等に利用します。
# yum clean oldheaders
yum clean packages: ダウンロードしたパッケージをすべてクリアする
rpmファイルなど今までにダウンロードしたパッケージをすべてクリアします。ディスクの空き容量が増えます。
# yum clean packages
yum -v grouplist: インストール可能なパッケージグループを表示する
インストール可能なパッケージグループを表示します。※パッケージグループとは複数の関連したパッケージを1セットにしたもの。開発ツールをまとめてインストールしたりする場合に使われます。
# yum -v grouplist
yum groupinfo: パッケージグループの詳細情報を表示する
パッケージグループの詳細情報を表示します。
# yum groupinfo パッケージグループ名
yum groupinstall: パッケージグループをインストールする
パッケージグループをインストールします。
# yum groupinstall パッケージグループ名
yum repolist: 現在有効なリポジトリの一覧を表示する
現在有効になっているリポジトリの一覧を表示します。(repolist enabledとしても同じ)
# yum repolist
yum repolist disabled: 現在無効なリポジトリの一覧を表示する
現在有効になっているリポジトリの一覧を表示します。
# yum repolist disabled
yum repolist all: リポジトリの一覧を表示する
すべてのリポジトリ一覧を表示します。
# yum repolist all
※ なお、リポジトリファイルの所在は/etc/yum.repos.d/の下になります。