yumはパッケージの統合管理システムだ。
RPMパッケージを管理するもので、rpmコマンドを使うよりも便利で使いやすい。
このページではyumとは?とyumコマンドの使い方、リポジトリの追加方法についてお伝えした。
パッケージが何かよくわからない方は下記ページを先に見ていただくのがいいだろう。
yumとは?
yumは「Yellowdog Updater Modified」の略だ。
元々はYellow Dog Linuxのパッケージ管理システムであるYUP「Yellowdog Updater」というものが前身にあった。その統合パッケージ管理システムをRedHatへ改変移植したものが現在のyumとなる。
役割としてはRPMパッケージを統合管理するというものだ。RPM単体ではパッケージ情報、依存関係などの情報を持ち合わせているものの、それを統合的に管理運用するシステムがない。ユーザの手間を減らすためにできたのがyumだ。
yumはRPMの情報を管理し統合、依存関係を自動的に解決してくれる。DebianでいうところのAPTと同じ立ち位置になる。yumを使用することでディストリビューションのパッケージアップデートやパッケージの検索、パッケージ削除、パッケージの情報表示などができるようになる。
yumコマンドの使い方
yumは以下のようにyumコマンドを操作して使う。後ほど一覧でご紹介するが、下記さえ使えればほとんどの場合、OKだ。
# yum check-update
リポジトリにアップデートがないかチェックをかける。
# yum update
リポジトリにアップデート、チェックおよび実際にアップデートする。
# yum install <pkg>
リポジトリからパッケージをインストールする。なお依存関係にあるパッケージも自動的に解決してくれる。
# yum search <pkg>
リポジトリからパッケージを検索する。
# yum remove <pkg>
インストールされているパッケージを削除する。
# yum info <pkg>
インストールされているパッケージの情報を表示する。
# yum list installed
インストールされているパッケージ一覧を表示
yumの設定ファイルを確認してみる
デフォルトの設定で殆ど問題にならないと思うが、少々のぞいてみよう。
# vi /etc/yum.conf
- cachedirキャッシュとデータベースファイルを格納する場所。
- keepcacheインストール後ヘッダとキャッシュを保持するか?
- debuglevelは0から10まで指定でき高い値ほど詳細な情報を表示する。
- logfileログファイルの保存場所。
- exactarchパッケージの更新時には正しいアーキテクチャーを考慮するかどうか。
- obsoletesパッケージがスペックファイル内において別のパッケージを廃止するように宣言している場合の挙動に関して。
- gpgcheckの検証を行うかどうか?基本的に有効にしておく。
- plugins追加したプラグインを有効にするかどうか全体の設定基本的に有効のままでよい。
- installonly_limit単一のパッケージにおいて同時にインストール可能なバージョンの最大数、例えばカーネルなど。
- bugtracker_urlバグトラッカへのrul
- urldistroverpkgディストリビューション判別のための識別ラベル。
他のリポジトリに関しては「/etc/yum.repos.d」にファイルを別途用意記述するようになっている。
リポジトリを追加する
リポジトリとはパッケージの提供元のことだ。作成元ということではなく、配布してくれている場所だと思ってほしい。
リポジトリは世界中にたくさんあり、それぞれ配っているパッケージが違う。そのためyumはリポジトリを追加することによって、パッケージのバリエーションを増やすことができる。
最終的には手動でrepoファイルを用意すれば、事実上どこのリポジトリも追加できるが、安易にリポジトリを追加するのはセキュリティ上良くない。そのため、どのようなものなのかの概要は把握しておくこと。
今回はEPELというリポジトリを追加してみる
https://fedoraproject.org/wiki/EPEL/ja
EPELはRHEL 向けの高品質アドオンパッケージ郡である。Fedora プロジェクトで有志によって作成されている。信頼度が高いため、安心して使えるリポジトリだ。
# yum install epel-release
追加したら最新の状態に保とう。
# yum update
この時点でGPGのキー取り込みに関して聞かれるが「y」で問題ない。
リポジトリ有効化リポジトリ無効化はrepoファイルの記述などから指定可能だ。追加したリポジトリが有効かどうかは
# yum repolist all
で確認できる。画像はgrepで絞り込んであるがメインの「epel/x86_64」が有効になっていれば問題ない。
epel以外にも有用なリポジトリは多々ある。必要なときに随時「リポジトリ名 インストール方法」で検索するといいだろう。基本的には
- yum --enablerepo=レポジトリ名 ですでに使えるか確認し
- なければwgetで取得、rpmでインストール
- 必要であればviコマンドで加工
という手順になる。
yumコマンドのサブコマンド
最後にyumコマンドのサブコマンドを表でまとめて、ご紹介しておこう。
サブコマンド | 説明 |
check-update | アップデート対象のパッケージリストを表示する |
update パッケージ名 | 指定したパッケージをアップデートする |
install パッケージ名 | 指定したパッケージをインストールする |
remove パッケージ名 | 指定したパッケージをアンインストールする |
info パッケージ名 | 指定したパッケージの情報を表示する |
list | 全パッケージ情報をリスト表示する |
repolist | リポジトリ一覧を表示する |
search キーワード | パッケージ情報をキーワードで検索する |
search all キーワード | パッケージをキーワードで検索する(パッケージ名及び説明文等すべて) |
grouplist | パッケージグループをリスト表示する |
groupinstall グループ | 指定したグループのパッケージをインストールする |
まとめ
このページではyumの使い方、リポジトリの追加方法についてまとめた。
新しいことを実施しようとしたら、まずyumでインストールするところから始める。サーバーを構築するなど、スキルアップには必須だ。ぜひ使い方を掴んでいただきたい。
yumかYUMか統一した方が良い
ご指摘いただきありがとうございます。
公式サイト(http://yum.baseurl.org/)によればパッケージ管理システムについて言及する時は「Yum」と頭文字が大文字となり、コマンドについて言及する場合は全て小文字となるようですが、記述揺れを避けるために全て小文字のyumに統一します。
引き続き、ご愛読のほど、よろしくお願いいたします。