【コマンド】yum

yumLinux

「yum」(Yellow dog Updater, Modified) は Yellow Dog Linux で採用されている RPMパッケージ管理ソフトウェアである

「yum」は RPMパッケージ のダウンロードからインストール/アップデートまで一括で行い
Vine Linux でいう「apt-get」、Windows でいうなら「Windows Update」みたいなものである

また、依存関係を考慮しながら、インストールやアンインストールすることができるのでオペレーションはかなり容易である

用語

リポジトリ・・・
英語で「貯蔵庫」や「(資源・情報)の宝庫」という意味であり、「yum」でいうなら、RPMパッケージを保管しているサイト、例えば、理研(“http://ftp.riken.jp“)などがこれに当たる

GPG(GNU Privacy Guard)・・・
公開鍵暗号方式を用いて安全に通信を行うためのツール

書式

yum (オプション) [コマンド] <パッケージ>

オプション

-y 「yes/no」の問い合わせがあったときにすべて「yes」で処理する
-c コンフィグファイルを指定する(指定なしの場合は”/etc/yum.conf” を参照する)
-C リポジトリ情報をローカルキャッシュから参照する
–enablerepo= <リポジトリ名> /etc/yum.repos.d/*.repo に記載されている無効(“enabled=0”)のリポジトリ を一回限り有効にする
–disablerepo= <リポジトリ名> /etc/yum.repos.d/*.repo に記載されている有効(“enabled”の記載なし)のリポジトリ を一回限り無効にする
-x [package], –exclude= <パッケージ名> 指定されたパッケージを処理対象外にする。「update」コマンドなどパッケージ複数対象の時など、アップデート対象から除外したいパッケージが出てきたらこのオプションを使用する
–version 「yum」コマンドのバージョンを表示します.
–noplugins すべてのプラグイン(“/etc/yum/pluginconf.d/*.conf”)を無効にして実行する
–nogpgcheck gpg 署名の検査を無効にして実行する

コマンド

check-update、list updates アップデート可能なパッケージの一覧を表示
clean metadata ダウンロードしたメタデータを削除
clean headers ダウンロードしたヘッダを削除
clean packages ダウンロードしたパッケージを削除
clenan dbcache メタデータに高速にアクセスするためのDBキャッシュを削除
clean all ダウンロードしたメタデータ、ヘッダ、パッケージ、DBキャッシュとtimedhosts.txt (mirroサイトと接続に要する時間のリスト)を削除
clean plugins
info 利用可能なパッケージの情報を表示
info <パッケージ名> 指定したパッケージの情報を表示
install <パッケージ名>、update <パッケージ名>、upgrade <パッケージ名> 指定したパッケージをインストール及びアップデート
update、upgrade アップデート可能な全パッケージをアップデート
list 利用可能なパッケージの一覧を表示
list installed インストール済みのパッケージ一覧を表示
provides <設定ファイル名> 設定ファイルなどを提供しているパッケージ名を調べる remove <パッケージ名> 指定したパッケージをアンインストールする。指定したパッケージと依存関係があるパッケージは、削除するかどうか問い合わせる
search <キーワード> キーワードでパッケージを検索する。検索の対象は、「yum list」結果の Name、Packager、Dummary、Descriptionの各フィールド
makecache リポジトリ情報を更新
shell [ファイル名] ファイルを読み込ませて処理させる。ファイル名指定無しは対話的入力モードとなる
deplist <パッケージ名> パッケージの依存関係を調べる
repolist [all | enabled | disabled] リポジトリ情報の表示
help [コマンド] コマンドのヘルプ

設定ファイル

“/etc/yum.conf”
「yum」の基本設定ファイル

    1 [main]
2 cachedir=/var/cache/yum
3 keepcache=0
4 debuglevel=2
5 logfile=/var/log/yum.log
6 distroverpkg=redhat-release
7 tolerant=1
8 exactarch=1
9 obsoletes=1
10 gpgcheck=1
11 plugins=1
12
13 # Note: yum-RHN-plugin doesn’t honor this.
14 metadata_expire=1h
15
16 installonly_limit = 5
17
18 # PUT YOUR REPOS HERE OR IN separate files named file.repo
19 # in /etc/yum.repos.d

1:グローバルセクション
2:キャッシュを蓄えるディレクトリを指定。配下にリポジトリIDのサブディレクトリが作られ、そこにヘッダ、データベース、メタデータ、パッケージなどが保管される
3:ダウンロードしたパッケージを残す(“/var/cache/yum/<リポジトリ名>/packages”)
4:”yum” で処理した時の直接ターミナルに出るデバッグレベル[0-10](数字が大きいほどより詳細メッセージ)
5:ログファイル抽出先の指定
6:”yum” がディストリビューションのリリースバージョンを判断するために参照するパッケージ名
7:”yum” で複数パッケージ指定した時、 インストール済みのパッケージがあっても、エラーで止まること無く続行する
8:”update” の際、インストールされているパッケージのアーキテクチャとアップデート版のアーキテクチャが同じでないとアップデートしない
9:”yum” でのパッケージのアップデートにより、関連パッケージの構成や依存関係が変わってしまい、別のパッケージがアンインストールされなければならない場合がある時の実行の有無
10:GPG 署名検査の実行の有無を各リポジトリで指定しない場合はこの値が使用される
11:プラグイン実行の有無 1=YES
14:メタデータの使用期間(d or h or m)
16:システムのカーネルパッケージ保持数を指定。指定数より大きくなると古いカーネルは削除される

“/etc/yum.repos.d/CentOS-Base.repo”
リポジトリ情報の設定ファイル

    1 [base]
2 name=CentOS-$releasever – Base
3 mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
4 #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
5 gpgcheck=1
6 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
7 enabled=1

1:リポシトリ名
2:設定についての説明、「$releasever」・・・OSのバージョン、「$basearch」・・・アーキテクチャ。
3:ミラーリストの記載されているサーバのURL
4:ミラーサーバのURL
5:GPG鍵を使用したの有無。1が有効。0が無効
6:GPG鍵の場所
7:設定の有無を指定

※”CentOS-Base.repo” は既にローカルにダウンロードしているパッケージを使い、インストール及びアップデートを行うための設定ファイル

“/etc/yum/pluginconf.d/fastestmirror.conf”
サーバ応答時間を計るプラグインの設定ファイル

    1 [main]
2 enabled=1
3 verbose=0
4 socket_timeout=3
5 hostfilepath=/var/cache/yum/timedhosts.txt
6 maxhostfileage=10
7 maxthreads=15
8 #exclude=.gov, facebook

1:グローバルセクション
2:「fastestmirror」の設定の有無
3:「yum」処理中にリポジトリの応答時間の出力の有無
4:
5:リポジトリのURL及びそれへの応答時間情報ファイルの場所指定

処理の流れ

「yum」は “xxx.repo” に指定されているミラーリストの記載されているサーバにアクセスし、ミラーサーバの情報を読み込む
(“baseurl” にミラーサーバのアドレスを指定し、ミラーリストサーバを介せず、直接リポジトリにアクセスする事も可能)

ここで「yum-fastestmirror」がインストールされてると、ミラーリストに書かれた全てのミラーサーバとの応答時間を計り、その結果を “timedhosts.txt” に保存し、一番応答時間の早いサーバから、パッケージをダウンロードする

その他

リポジトリ追加手順などはコチラ

タイトルとURLをコピーしました