Last modified: Fri Sep 26 11:15:07 2014 +0900 (JST)
この文書は、学内において CentOS を利用するという前提で記述されています。
centos-announce メーリングリスト に参加することで更新情報を入手できます。 CentOS 利用者には参加を推奨します。
yum を使用するための準備を行います。以下の操作は root 権限で実行してください。
CentOS の GPG 公開鍵を登録するため、 コンソールから次のコマンドを実行します。
# rpm --import /usr/share/doc/centos-release-4/RPM-GPG-KEY-centos4
CentOS 5 の場合は、/usr/share/doc/centos-release-4/RPM-GPG-KEY-centos4 のかわりに /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5 を指定してください。
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
CentOS 6 の場合は /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 を指定してください。
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
/etc/yum.conf の [main] に proxy=http://cache.st.ryukoku.ac.jp:8080 を追加します。たとえば次のようになります。
[main]
cachedir=/var/cache/yum
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
installonlypkgs=kernel kernel-smp kernel-devel kernel-smp-devel kernel-largesmp kernel-largesmp-devel kernel-hugemem kernel-hugemem-devel
distroverpkg=centos-release
tolerant=1
exactarch=1
retries=20
obsoletes=1
gpgcheck=1
plugins=1
proxy=http://cache.st.ryukoku.ac.jp:8080
ここまでの作業で、更新準備はできています。更新ファイルのダウンロードを高速化したい場合は、次↓の 3. についても実行してください。
更新ファイルのダウンロード元に、学内ミラーサーバを指定します。/etc/yum.repos.d/CentOS-Base.repo ファイルの
mirror.centos.org を ftp.st.ryukoku.ac.jp に変更します。
mirrorlist= の行をコメント化 (行頭に # を追加) し、 #baseurl= の行を有効化 (行頭の # を削除) します。
変更すると、このようになります。(CentOS 4 での例です)
# 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://ftp.st.ryukoku.ac.jp/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://ftp.st.ryukoku.ac.jp/centos/RPM-GPG-KEY-centos4
priority=1
protect=1
#released updates
[update]
name=CentOS-$releasever - Updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
baseurl=http://ftp.st.ryukoku.ac.jp/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://ftp.st.ryukoku.ac.jp/centos/RPM-GPG-KEY-centos4
priority=1
protect=1
#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://ftp.st.ryukoku.ac.jp/centos/$releasever/addons/$basearch/
gpgcheck=1
gpgkey=http://ftp.st.ryukoku.ac.jp/centos/RPM-GPG-KEY-centos4
priority=1
protect=1
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
baseurl=http://ftp.st.ryukoku.ac.jp/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://ftp.st.ryukoku.ac.jp/centos/RPM-GPG-KEY-centos4
priority=1
protect=1
#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://ftp.st.ryukoku.ac.jp/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://ftp.st.ryukoku.ac.jp/centos/RPM-GPG-KEY-centos4
priority=2
protect=1
#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
baseurl=http://ftp.st.ryukoku.ac.jp/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://ftp.st.ryukoku.ac.jp/centos/RPM-GPG-KEY-centos4
priority=2
protect=1
以下の操作は root 権限で実行してください。
コンソールから yum check-update を実行し、更新可能なパッケージが存在するかどうかを確認します。 更新可能なパッケージが存在する場合は、次のようになります。
# yum check-update Gathering header information file(s) from server(s) Server: CentOS-4 - Addons Server: CentOS-4 - Base Server: CentOS-4 - Extras Server: CentOS-4 - Updates Finding updated packages Downloading needed headers gdk-pixbuf-1-0.22.0-12.el 100% |=========================| 5.0 kB 00:00 curl-devel-0-7.10.6-6.rhe 100% |=========================| 4.2 kB 00:00 curl-0-7.10.6-6.rhel3.i38 100% |=========================| 4.7 kB 00:00 gdk-pixbuf-gnome-1-0.22.0 100% |=========================| 3.1 kB 00:00 gdk-pixbuf-devel-1-0.22.0 100% |=========================| 4.7 kB 00:00 Name Arch Version Repo -------------------------------------------------------------------------------- curl i386 7.10.6-6.rhel4 update curl-devel i386 7.10.6-6.rhel4 update gdk-pixbuf i386 1:0.22.0-12.el4 update
この例では curl, curl-devel, gdk-pixbuf について更新可能です。
コンソールから yum update を実行し、更新を実行します。
# yum update Gathering header information file(s) from server(s) Server: CentOS-4 - Addons Server: CentOS-4 - Base Server: CentOS-4 - Extras Server: CentOS-4 - Updates Finding updated packages Downloading needed headers Resolving dependencies Dependencies resolved I will do the following: [update: curl-devel 7.10.6-6.rhel4.i386] [update: gdk-pixbuf 1:0.22.0-12.el4.i386] [update: curl 7.10.6-6.rhel4.i386] Is this ok [y/N]:
確認の意味で Is this ok [y/N]: と聞いています。 ここで y を入力してリターンを押すと、更新が実行されます。
Is this ok [y/N]: y Downloading Packages Getting curl-devel-7.10.6-6.rhel4.i386.rpm curl-devel-7.10.6-6.rhel4 100% |=========================| 159 kB 00:00 Getting gdk-pixbuf-0.22.0-12.el4.i386.rpm gdk-pixbuf-0.22.0-12.el4. 100% |=========================| 221 kB 00:00 Getting curl-7.10.6-6.rhel4.i386.rpm curl-7.10.6-6.rhel4.i386. 100% |=========================| 228 kB 00:00 Running test transaction: Test transaction complete, Success! curl 100 % done 1/6 gdk-pixbuf 100 % done 2/6 curl-devel 100 % done 3/6 Completing update for curl-devel - 4/6 Completing update for gdk-pixbuf - 5/6 Completing update for curl - 6/6 Updated: curl-devel 7.10.6-6.rhel4.i386 gdk-pixbuf 1:0.22.0-12.el4.i386 curl 7.10.6-6.rhel4.i386 Transaction(s) Complete
上記の例では不要だと思われますが、kernel や glib といった、OS の主要コンポーネントを更新した場合には、OS を再起動してください。