パッケージ管理(yum) FC6

yum(Yellow dog Updater, Modified)は、RPMパッケージを操作する為のソフトウェアです。 yumでは、依存関係があるパッケージも自動的にインストールされます。また、yumを利用する事によって、セキュリティーホールのアップデートや、バグフィックスパッケージも、より簡単に行う事が可能です。さらには、システム全体のアップデートも、より簡単に行う事が可能です。
■レポジトリについて
Fedoraは自由なソフトウェアのみを提供している為、MP3等のように特許によって保護されている技術を利用したソフトウェアを配布していません。特許によって保護された技術を利用したFedora用のソフトウェアはFreshRPMもしくはrpm.livna.org から提供されています。FreshRPMrpm.livna.orgの両方のレポジトリを同時に利用すると問題が発生する可能性があります。利用する際はどちらかひとつにしてください。また、FedoraFAQが提供しているrpmでyum設定を行うには、FedoraFAQのyumに関する質問を参考にしてください。
FedoraFAQが更新されましたので、FedoraFAQが提供しているyumの設定ファイルをインストールすることにしました。 07/02/15

[root@linux ~]# rpm -Uvh http://www.fedorafaq.org/yum http://rpm.livna.org/livna-release-6.rpm
http://www.fedorafaq.org/yum を取得中
http://rpm.livna.org/livna-release-6.rpm を取得中
警告: /var/tmp/rpm-xfer.4X6tSX: ヘッダ V3 DSA signature: NOKEY, key ID a109b1ec
準備中...                   ########################################### [100%]
パッケージ livna-release-6-1 は既にインストールされています。
[root@linux ~]#

上記のようにlivna-release-6が既にインストールされている場合は、FedoraFAQが提供しているyumの設定ファイルのインストールが完了しません。
いったんlivna-release-6をアンインストールしてから再度インストールします。

[root@linux ~]# rpm -e livna-release-6
[root@linux ~]# rpm -Uvh http://www.fedorafaq.org/yum http://rpm.livna.org/livna-release-6.rpm
http://www.fedorafaq.org/yum を取得中
http://rpm.livna.org/livna-release-6.rpm を取得中
警告: /var/tmp/rpm-xfer.DLCrTP: ヘッダ V3 DSA signature: NOKEY, key ID a109b1ec
準備中...                   ########################################### [100%]
1:livna-release          ########################################### [ 50%]
2:yum-fedorafaq          ########################################### [100%]
[root@linux ~]

■ミラーについて
Fedora Core 6でもFedora Projectはミラーリストを用意しており、デフォルトで世界中のミラーに接続しにいきます。ただこのままだととんでもなく遅いサーバに接続しにいく場合があります。 Fedora Core 6では速いミラーを優先的に接続しにいくプラグインが提供されており、そのプラグインをインストールする事により、遅いサーバに接続する確立が非常に低くなります。そのプラグインをインストールするには以下のコマンドを入力してください。

[root@linux ~]# yum install yum-fastestmirror
Loading "installonlyn" plugin
Setting up Install Process
Setting up repositories
livna                     100% |=========================| 1.1 kB    00:00
core                      100% |=========================| 1.1 kB    00:00
updates                   100% |=========================| 1.2 kB    00:00
extras                    100% |=========================| 1.1 kB    00:00
Reading repository metadata in from local files
primary.xml.gz            100% |=========================|  80 kB    00:01
################################################## 198/198
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for yum-fastestmirror to pack into transaction set.
yum-fastestmirror-1.0-2.f 100% |=========================| 4.0 kB    00:00
---> Package yum-fastestmirror.noarch 0:1.0-2.fc6 set to be updated
--> Running transaction check
Dependencies Resolved
============================================================
Package                 Arch       Version          Repository        Size
============================================================
Installing:
yum-fastestmirror       noarch     1.0-2.fc6        extras            9.4 k
Transaction Summary
============================================================
Install      1 Package(s)
Update       0 Package(s)
Remove       0 Package(s)
Total download size: 9.4 k
Is this ok [y/N]: y
Downloading Packages:
(1/1): yum-fastestmirror- 100% |=========================| 9.4 kB    00:00
warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID 1ac70ce6
Importing GPG key 0x1AC70CE6 "Fedora Project "
Is this ok [y/N]: y
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing: yum-fastestmirror            ######################### [1/1]
Installed: yum-fastestmirror.noarch 0:1.0-2.fc6
Complete!
[root@linux ~]#

■yumレポジトリ設定ファイルの変更
上記設定で速いミラーを優先的に接続しにいくプラグインをインストールしたのですが、アップデートでエラーになることが多かったのでレポジトリ設定ファイルを以下のように変更します。
fedora-core.repo

[root@linux ~]# vi /etc/yum.repos.d/fedora-core.repo
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/$releasever/$basearch/os/
mirrorlist=http://fedora.redhat.com/download/mirrors/fedora-core-$releasever
↓
baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/$releasever/$basearch/os/
#mirrorlist=http://fedora.redhat.com/download/mirrors/fedora-core-$releasever

fedora-updates.repo

[root@linux ~]# vi /etc/yum.repos.d/fedora-updates.repo
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/$releasever/$basearch/
mirrorlist=http://fedora.redhat.com/download/mirrors/updates-released-fc$releasever
↓
baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/$releasever/$basearch/
#mirrorlist=http://fedora.redhat.com/download/mirrors/updates-released-fc$releasever

fedora-extras.repo

[root@linux ~]# vi /etc/yum.repos.d/fedora-extras.repo
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/extras/$releasever/$basearch/
mirrorlist=http://fedora.redhat.com/download/mirrors/fedora-extras-$releasever
↓
baseurl=http://download.fedora.redhat.com/pub/fedora/linux/extras/$releasever/$basearch/
#mirrorlist=http://fedora.redhat.com/download/mirrors/fedora-extras-$releasever

■yumのデータベース情報更新
ローカルに保存されているrpmヘッダ情報を最新の情報に更新します。

yumのデータベース情報更新
[root@linux ~]# yum list
Loading "fastestmirror" plugin
Loading "installonlyn" plugin
Setting up repositories
Loading mirror speeds from cached hostfile
Reading repository metadata in from local files
・
・
・
インストールパッケージの確認
[root@linux ~]# yum list installed
Loading "fastestmirror" plugin
Loading "installonlyn" plugin
Setting up repositories
Loading mirror speeds from cached hostfile
Reading repository metadata in from local files
・
・
・
yum-fastestmirror.noarch                 1.0-2.fc6              installed
yum-metadata-parser.i386                 1.0-8.fc6              installed
yum-updatesd.noarch                      3.0-6                  installed
zenity.i386                              2.16.0-1.fc6           installed
zip.i386                                 2.31-1.2.2             installed
zlib.i386                                1.2.3-3                installed
zlib-devel.i386                          1.2.3-3                installed

■アップデート情報の確認

アップデート情報の確認
[root@linux ~]# yum check-update
Loading "fastestmirror" plugin
Loading "installonlyn" plugin
Setting up repositories
Loading mirror speeds from cached hostfile
Reading repository metadata in from local files
・
・
・
yxorg-x11-xinit.i386                      1.0.1-2.FC5.0          updates
xterm.i386                               213-1.FC5              updates
yelp.i386                                2.14.3-1.fc5           updates
ypbind.i386                              3:1.19-1               updates
yum.noarch                               2.6.1-0.fc5            updates

■一括アップデート
インストールされているパッケージを全てアップデートします。

パッケージの一括アップデート
[root@linux ~]# yum update
Loading "fastestmirror" plugin
Loading "installonlyn" plugin
Setting up repositories
Loading mirror speeds from cached hostfile
Reading repository metadata in from local files
・
・
・
Transaction Summary
============================================================
Install      1 Package(s)
Update      18 Package(s)
Remove       0 Package(s)
Total download size: 23 M
Is this ok [y/N]: y ← インストールして良いかの確認
Downloading Packages:
(1/19): rsh-0.17-37.fc6.i 100% |=========================|  43 kB    00:00
(2/19): libbeagle-0.2.10- 100% |=========================|  43 kB    00:00
(3/19): autofs-5.0.1-0.rc 100% |=========================| 643 kB    00:01
・
・
・
Cleanup   : gdb                          ####################### [36/38]
Cleanup   : system-config-users          ####################### [37/38]
Cleanup   : mutt                         ####################### [38/38]
Installed: bluez-gnome.i386 0:0.6-1.fc6
Updated: autofs.i386 1:5.0.1-0.rc2.17 beagle.i386 0:0.2.10-5.fc6 beagle-evolution.i386 0:0.2.10-5.fc6 beagle-gui.i386 0:0.2.10-5.fc6 bind-libs.i386 30:9.3.3-4.fc6 bind-utils.i386 30:9.3.3-4.fc6 bluez-utils.i386 0:3.7-2 frysk.i686 0:0.0.1.2006.10.23.rh1-1.fc6 gdb.i386 0:6.5-13.fc6 libbeagle.i386 0:0.2.10-5.fc6 mutt.i386 5:1.4.2.2-3.fc6 qt.i386 1:3.3.7-0.1.fc6 rsh.i386 0:0.17-37.fc6 shadow-utils.i386 2:4.0.17-7.fc6 system-config-date.noarch 0:1.8.8-1.fc6 system-config-users.noarch 0:1.2.47-1.fc6 tar.i386 2:1.15.1-21.fc6 vnc-server.i386 0:4.1.2-5.fc6
Replaced: bluez-pin.i386 0:0.30-5
Complete!・

アップデートしてよいかの問い合わせに全て” y “で回答するためには -y オプションを指定します。

パッケージの一括アップデート
[root@linux ~]# yum -y update

■yumによるパッケージ更新時にエラーが表示される場合
yumコマンドでパッケージの更新を行った際に、エラーが表示されることがある。これはyumのデータベースが壊れていることが考えられるので、以下のコマンドを実行してyumのデータベースをクリアしてみる。

[root@linux ~]#  yum clean all
[root@linux ~]#  yum update

■その他のコマンド
パッケージのインストール

[root@linux ~]# yum install パッケージ名

パッケージのアップデート

[root@linux ~]# yum update パッケージ名

パッケージの検索

[root@linux ~]# yum search パッケージ名

パッケージの詳細表示

[root@linux ~]# yum info パッケージ名

パッケージのアンインストール

[root@linux ~]# yum remove パッケージ名

■yumの自動実行
最初、yum-updatesdでパッケージの自動更新を行うように設定したのですが、どうもうまく機能してないようでしたので、cronでアップデートするようにしました。(2006/12/10変更)
Fedora Core 6では、システムの起動時にyum-updatesdを実行し、1時間おきにアップデートパッケージの有無をチェックする為、このサービスが動作している間はyumコマンドが実行できません。cronでアップデートを行った時にyum-updatesdが動いているとうまくアップデートできない可能性があるので、yum-updatesdのサービスは停止します。
■yum-updatesdのサービスを停止

現在実行中のyum-updatesdを停止
[root@linux ~]# service yum-updatesd stop
yum-updates を停止中:                                      [  OK  ]
システム起動時のyum-updatesdの実行も停止
[root@linux ~]# chkconfig yum-updatesd off

■yum updateの定期自動実行設定

パッケージ自動更新スクリプト作成
[root@linux ~]# vi /root/yum_upgrade.sh
#!/bin/sh
/usr/bin/yum -y update yum > /dev/null 2>&1 ; \
/usr/bin/yum -y update > /dev/null 2>&1
パッケージ自動更新スクリプトへ実行権限付加
[root@linux ~]# chmod 700 /root/yum_upgrade.sh
自動で実行する為にcronに登録します
[root@linux ~]# crontab -e
00 06 * * * /root/yum_upgrade.sh