国内 Scientific Linux 5 サーバーのためのYum設定

Scientific Linux のパッケージ・アップデート・ツールであるyumはデフォルトのままでも十分に動くが、これをもう少し機能向上させていく。

まず、そのままでは公式サイトを見に行ってしまって遅いので、国内においているマシンであるならば国内ミラー・サイトを使おう。公式ミラー・リストに載っている国内サイトは北陸先端科学技術大学院大学 / KDDI研究所 / 理化学研究所 / WIDEプロジェクト / 山形大学 の5つだが、これらはmirrorlistファイルにすべて載っているのでそれを使うことにする。また、デフォルトでは5.5のリポジトリだけを見に行って5.6へは自動アップグレードされないようになっていたが、55の部分を5xに変更することで自動で最新にアップグレードできるようにした。手動アップグレードしたい場合は55のままにしておき、5.6が出たタイミングで Scientific Linux: How To Upgrade To The Latest S.L. 5.x Release に従ってアップグレードする。さらにFTPよりもHTTPのほうがトラブルが少ないので、HTTPを使うように変更した。

[text title="/etc/yum.repos.d/sl.repo" highlight="3,4,5,6,8" autolinks="0"][sl-base]
name=SL 5 base
#baseurl=http://ftp.scientificlinux.org/linux/scientific/55/$basearch/SL

http://ftp1.scientificlinux.org/linux/scientific/55/$basearch/SL

http://ftp2.scientificlinux.org/linux/scientific/55/$basearch/SL

ftp://ftp.scientificlinux.org/linux/scientific/55/$basearch/SL

#mirrorlist=ftp://ftp.scientificlinux.org/linux/scientific/mirrorlist/sl-base-55.txt
mirrorlist=http://ftp.scientificlinux.org/linux/scientific/mirrorlist/sl-base-5x.txt[/text]

[text title="/etc/yum/repos.d/sl-security.repo" highlight="3,4,5,6,8" autolinks="0"][sl-security]
name=SL 5 security updates
#baseurl=http://ftp.scientificlinux.org/linux/scientific/55/$basearch/updates/security

http://ftp1.scientificlinux.org/linux/scientific/55/$basearch/updates/security

http://ftp2.scientificlinux.org/linux/scientific/55/$basearch/updates/security

ftp://ftp.scientificlinux.org/linux/scientific/55/$basearch/updates/security

#mirrorlist=ftp://ftp.scientificlinux.org/linux/scientific/mirrorlist/sl-security-55.txt
mirrorlist=http://ftp.scientificlinux.org/linux/scientific/mirrorlist/sl-security-5x.txt
[/text]

Scientific Linux 5 にはRepoforge (RPMforge) 用の設定ファイルが最初から入っているので、こちらのミラーも変更しておこう。Repoforgeの国内ミラーはIIJ / KDDI研究所 / 理化学研究所にある。ただし、KDDI研究所は2011年5月14日を最後に同期が止まっているので、以下ではコメントアウトしている。また、デフォルトではこのリポジトリは有効になっていないので有効にする。

[text title="/etc/yum.repos.d/dag.repo" highlight="7,8,9,10,11" autolinks="0"][dag]
name=DAG rpms
baseurl=http://ftp.scientificlinux.org/linux/extra/dag/redhat/el5/en/$basearch/dag/
  http://ftp1.scientificlinux.org/linux/extra/dag/redhat/el5/en/$basearch/dag/
  http://ftp2.scientificlinux.org/linux/extra/dag/redhat/el5/en/$basearch/dag/
  ftp://ftp.scientificlinux.org/linux/extra/dag/redhat/el5/en/$basearch/dag/
  http://ftp.iij.ad.jp/pub/linux/dag/redhat/el5/en/$basearch/dag

http://ftp.ne.jp/Linux/RPMS/rpmforge/redhat/el5/en/$basearch/dag

  http://ftp.riken.jp/Linux/dag/redhat/el5/en/$basearch/dag
#enabled=0
enabled=1[/text]

Scientific Linux 5 にはATrpms用の設定ファイルも最初から入っているので、こちらのミラーも変更しておこう。ATrpmsの国内ミラーは理化学研究所にあるので、これを加え、デフォルトではこのリポジトリは有効になっていないので有効にする。

[text title="/etc/yum.repos.d/atrpms.repo" highlight="7,8,9" autolinks="0"][atrpms]
name=ATrpms rpms
baseurl=http://ftp.scientificlinux.org/linux/extra/atrpms/sl5-$basearch/stable
 http://ftp1.scientificlinux.org/linux/extra/atrpms/sl5-$basearch/stable
 http://ftp2.scientificlinux.org/linux/extra/atrpms/sl5-$basearch/stable
 ftp://ftp.scientificlinux.org/linux/extra/atrpms/sl5-$basearch/stable
 http://ftp.riken.jp/Linux/atrpms/sl5-$basearch/atrpms/stable
#enabled=0
enabled=1[/text]

EPELも使用できるようにしておこう。EPELのmirrorlistファイルは自動的に最適なミラー・サーバーだけをリストしてくれるので、Yum設定ファイルを編集する必要はない。

Scientific Linux 5.5 にはyum-fastestmirrorがデフォルトでは入ってないのでこれを入れる。yum-fastestmirrorを入れることで、先ほど設定したミラー・リストの中で最速のものを探し、それを今後は使うようになる。逆に言うと、これを入れないととんでもなく遅いミラーにつながる可能性がある。

Scientific Linux 5.5 にはyum-priorities用の設定 (priority) が設定されているもののyum-priorities自体は入っていないので、これもインストールする。また、Kernelは上書きアップデートされず常に追加インストールされていくため、どんどんバージョン違いのKernelが残ってしまうため、それを簡単に消せるyum-utilsもインストールしておく。

DVDからインストールした場合は最新のパッケージが入っているわけではないので、まとめて最新にアップデートする。

アップデートによって新しく作られた設定ファイルはまだ変更していないものだったので、そのまま新しいもので上書きした。

以下のコマンドを実行すると、現在使用しているものと1世代古いもの以外の不要なKernelを削除してくれる。今のところ2バージョンしか入っていないので削除対象のものは存在しなかった。

パッケージを夜間に自動更新したい場合の設定を行なう。夜間アップデートしてほしくないパッケージは/etc/yum.d/yum.cron.excludesに記述する。デフォルトでいくつか書いてあるので、ボクは逆にこれをコメントアウトし、全てをアップデート対象にした。

[text title="/etc/yum.d/yum.cron.excluces" highlight="1"]#exclude=kernel* openafs* -kmdl- kmod-* firmware[/text]

夜間アップデートをアップデートできるかどうかの確認だけにして実際のアップデートは行なわないようにしたい場合は、/etc/yum.d/checkonly.yum.cronで/etc/cron.daily/yum.cronを置き換える。なお、デフォルトで入っている/etc/cron.daily/yum.cronは/etc/yum.d/original.yum.cronと同じものだ。アップデートできるものが見つかった場合は、都合のよいタイミングで/etc/yum.d/byhand.yum.cronを実行する。

夜間アップデート・サービスを起動時から有効になるように設定変更し、サービスを開始する。なお、yum-updatesdのようなデーモン・プロセスが常に起動しているわけではなく、/etc/cron.daily/yum.cronが/var/lock/subsys/yumというファイルが存在するかどうかで判断している。