Linux の更新方法: CentOS 4 以降

Last modified: Fri Sep 26 11:15:07 2014 +0900 (JST)


 この文書は、学内において CentOS を利用するという前提で記述されています。

更新情報の入手

 centos-announce メーリングリスト に参加することで更新情報を入手できます。 CentOS 利用者には参加を推奨します。

更新準備

 yum を使用するための準備を行います。以下の操作は root 権限で実行してください。

  1. 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
  2. /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. についても実行してください。

  3. 更新ファイルのダウンロード元に、学内ミラーサーバを指定します。/etc/yum.repos.d/CentOS-Base.repo ファイルの

    • mirror.centos.orgftp.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 権限で実行してください。

  1. コンソールから 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 について更新可能です。

  2. コンソールから 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
  3. 上記の例では不要だと思われますが、kernel や glib といった、OS の主要コンポーネントを更新した場合には、OS を再起動してください。


RINS WWW Administrator <www-admin@www.st.ryukoku.ac.jp>