2010年5月30日日曜日

CentOS 5 - Yumしてみよう

とある作業のため、Apache を実行できる環境がほしくなったのですが、
CentOS 5 をインストールした状態で1年以上放置してあるPCがあるので
こいつを使ってみようと思います。

インストールしたのがだいぶ前なので OS のバージョンがちょっと古いですが、
OS バージョンアップして動かなくなるとめんどくさいので
OS はこのまま行きます。

サーバは公開せず、完全にテスト用にローカルで動かすだけなので
まぁセキュリティにしてもそこまで問題にはならないと思います。

んでもまぁ、Apache くらいは勉強のためにバージョンアップやら何やら
やってみようということで、Yum です。

Yum というのは 簡単にいえば、Windows でいうところの Windows Update みたいなものです。

で、以下 Yum のセットアップ~アップデートの作業です。

●Yum を使えるようにする
1. Yum のインストールは省略。普通にOS入れれば動きます。

2. 本によると、Yum を利用するためには GPG公開鍵をインストールする必要があります。
とあるのでGPG公開鍵をインストール

/usr/hare/doc/centos-release-4/RPM-GPG-KEY にインストールされていると本には書いてあるのですが、
うちのは CentOS 5 なのでここにはありません。
どこだ?


# find / -name "*RPM-GPG-KEY*" -print
/usr/share/doc/rpm-4.4.2/RPM-GPG-KEY
/etc/pki/rpm-gpg/RPM-GPG-KEY-beta
/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5


3つでました。


# cat /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.2.6 (GNU/Linux)

mQGiBEWfB6MRBACrnYW6yKMT+MwJlCIhoyTxGf3mAxmnAiDEy6HcYN8rivssVTJk
CFtQBlBOpLV/OW2YtKrCO2xHn46eNfnMri8FGT8g+9JF3MUVi7kiV1He4iJynHXB
+F2ZqIvHf3IaUj1ys+p8TK64FDFxDQDrGQfIsD/+pkSGx53/877IrvdwjwCguQcr
Ioip5TH0Fj0OLUY4asYVZH8EAIqFHEqsY+9ziP+2R3/FyxSllKkjwcMLrBug+cYO
LYDD6eQXE9Mq8XKGFDj9ZB/0+JzK/XQeStheeFG75q3noq5oCPVFO4czuKErIRAB
qKbDBhaTj3JhOgM12XsUYn+rI6NeMV2ZogoQCC2tWmDETfRpYp2moo53NuFWHbAy
XjETA/sHEeQT9huHzdi/lebNBj0L8nBGfLN1nSRP1GtvagBvkR4RZ6DTQyl0UzOJ
RA3ywWlrL9IV9mrpb1Fmn60l2jTMMCc7J6LacmPK906N+FcN/Docj1M4s/4CNanQ
NhzcFhAFtQL56SNyLTCk1XzhssGZ/jwGnNbU/aaj4wOj0Uef5LRGQ2VudE9TLTUg
S2V5IChDZW50T1MgNSBPZmZpY2lhbCBTaWduaW5nIEtleSkgPGNlbnRvcy01LWtl
eUBjZW50b3Mub3JnPohkBBMRAgAkBQJFnwekAhsDBQkSzAMABgsJCAcDAgMVAgMD
FgIBAh4BAheAAAoJEKikR9zoViiXKlEAmwSoZDvZo+WChcg3s/SpNoWCKhMAAJwI
E2aXpZVrpsQnInUQWwkdrTiL5YhMBBMRAgAMBQJFnwiSBYMSzAIRAAoJEDjCFhY5
bKCk0hAAn134bIx3wSbq58E6P6U5RT7Z2Zx4AJ9VxnVkoGHkVIgSdsxHUgRjo27N
F7kBDQRFnwezEAQA/HnJ5yiozwgtf6jt+kii8iua+WnjqBKomPHOQ8moxbWdv5Ks
4e1DPhzRqxhshjmub4SuJ93sgMSAF2ayC9t51mSJV33KfzPF2gIahcMqfABe/2hJ
aMzcQZHrGJCEX6ek8l8SFKou7vICzyajRSIK8gxWKBuQknP/9LKsoczV+xsAAwUD
/idXPkk4vRRHsCwc6I23fdI0ur52bzEqHiAIswNfO521YgLk2W1xyCLc2aYjc8Ni
nrMX1tCnEx0/gK7ICyJoWH1Vc7//79sWFtX2EaTO+Q07xjFX4E66WxJlCo9lOjos
Vk5qc7R+xzLDoLGFtbzaTRQFzf6yr7QTu+BebWLoPwNTiE8EGBECAA8FAkWfB7MC
GwwFCRLMAwAACgkQqKRH3OhWKJfvvACfbsF1WK193zM7vSc4uq51XsceLwgAoI0/
9GxdNhGQEAweSlQfhPa3yYXH
=o/Mx
-----END PGP PUBLIC KEY BLOCK-----


こいつが下のURLのと同じ内容みたいです。

http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

んではこれを import してみる。(直接上記のURLを指定してもいけるみたいです。)


# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
# echo $?
0


これでいいのかな?


# find / -name "*.rpm*" -print
/usr/share/doc/vim-common-7.0.109/Changelog.rpm
/var/cache/yum/base/packages/bogl-bterm-0.1.18-11.2.1.el5.1.i386.rpm
/var/cache/yum/base/packages/bogl-0.1.18-11.2.1.el5.1.i386.rpm
# rpm -Kv /var/cache/yum/base/packages/bogl-bterm-0.1.18-11.2.1.el5.1.i386.rpm
/var/cache/yum/base/packages/bogl-bterm-0.1.18-11.2.1.el5.1.i386.rpm:
ヘッダ V3 DSA signature: OK, key ID e8562897
ヘッダ SHA1 ダイジェスト: OK (a603ac4030a50056e73bbe30bddf98083f4df14f)
MD5 ダイジェスト: OK (ae4fb36462a5367fe6080e60826854eb)
V3 DSA signature: OK, key ID e8562897


よさそうですね。


# rpm -qa "gpg-pub*"
gpg-pubkey-e8562897-459f07a4
gpg-pubkey-e8562897-459f07a4


2こある・・・ということは import は必要なかったのかも。
まぁいっか。

3. 設定ファイルを変えてみる。


# cat /etc/yum.repos.d/CentOS-Base.repo
# CentOS-Base.repo
#
# This file uses a new mirrorlist system developed by Lance Davis for CentOS.
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

#released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

#packages used/produced in the build but not released
[addons]
name=CentOS-$releasever - Addons
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=addons
#baseurl=http://mirror.centos.org/centos/$releasever/addons/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
#baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5


とりあえず、バックアップ


# ls -la /etc/yum.repos.d
合計 40
drwxr-xr-x 2 root root 4096 4月 4 2007 .
drwxr-xr-x 103 root root 12288 2月 15 10:20 ..
-rw-r--r-- 1 root root 2371 4月 9 2007 CentOS-Base.repo
-rw-r--r-- 1 root root 622 4月 9 2007 CentOS-Media.repo
# cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.20100530
# ls -la /etc/yum.repos.d
合計 44
drwxr-xr-x 2 root root 4096 2月 15 15:01 .
drwxr-xr-x 103 root root 12288 2月 15 10:20 ..
-rw-r--r-- 1 root root 2371 4月 9 2007 CentOS-Base.repo
-rw-r--r-- 1 root root 2371 2月 15 15:01 CentOS-Base.repo.20100530
-rw-r--r-- 1 root root 622 4月 9 2007 CentOS-Media.repo



国内ミラーサイトを入れるとアップデートがうまくいかないのでなし。


↓修正後


# cat /etc/yum.repos.d/CentOS-Base.repo # CentOS-Base.repo
#
# This file uses a new mirrorlist system developed by Lance Davis for CentOS.
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#

[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#mirrorlist=ftp://ftp.riken.jp/Linux/caos/centos/$releasever/os/$basearch/
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

#released updates
[updates]
name=CentOS-$releasever - Updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#mirrorlist=ftp://ftp.riken.jp/Linux/caos/centos/$releasever/os/$basearch/
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

#packages used/produced in the build but not released
[addons]
name=CentOS-$releasever - Addons
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=addons
#mirrorlist=ftp://ftp.riken.jp/Linux/caos/centos/$releasever/os/$basearch/
#baseurl=http://mirror.centos.org/centos/$releasever/addons/$basearch/
baseurl=http://mirror.centos.org/centos/$releasever/addons/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
#mirrorlist=ftp://ftp.riken.jp/Linux/caos/centos/$releasever/os/$basearch/
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
#baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5