概要
- [2011-07-17追記]: sl-fastbugs の国内リポジトリミラーを追加しました。
CentOS 6.0 がリリースされ、これから Red Hat Enterprise Linux 6.0 (RHEL 6.0) 系 に更新するのに Scientific Linux 6.0 (SL 6.0) と CentOS 6.0 のどちらに更新しようか迷っている方が多いと思います。
そんな方向けに 5.x から 6.0 になって何が変わったのか、そして、SL と CentOS で何が違うのか気付いた点をまとめておきます。前者は有償サポートのある RHEL 6.0 へ移行する際にも参考になると思います。
RHEL 6.0、SL 6.0、CentOS 6.0 の収録パッケージの違い
まずは、一番気になるであろう RHEL 6.0、SL 6.0、CentOS 6.0 の収録パッケージの違いをまとめます。6.0 では、収録パッケージの違いは SL も CentOS も下記にあげるように最小限に留まっており、基本的にオリジナルの RHEL 6.0 リリース時点と同じバージョンが収録されています。
RHEL 6.0 と SL 6.0 の違い
SL 5.x では、RHEL 5.x に R や graphviz などのパッケージも加えていましたが、6.0 では最低限の追加しかされていません。
下記は SL 6.0 に追加・修正されているパッケージの一覧です。それぞれのパッケージの詳細は、Scientific Linux 6.0 Release Notes に書かれています。
追加されたパッケージ
- SL_desktop_tweaks-6-3.src.rpm
- SL_enable_serialconsole-4.0-1.src.rpm
- SL_no_colorls-1.0-3.src.rpm
- SL_password_for_singleuser-3.0-1.src.rpm
- glib-1.2.10-33.el6.src.rpm
- gtk+-1.2.10-70.el6.src.rpm
- icewm-1.2.37-1.2.src.rpm
- imlib-1.9.15-14.el6.src.rpm
- livecd-tools-0.3.6-3.el6.src.rpm
- liveusb-creator-3.9.2-sl6.0.7.rolling.src.rpm
- openafs-firstboot-1.6-1.sl6.src.rpm
- openafs.SLx-1.6.0-91.pre2.src.rpm
- revisor-2.2-2.sl6.4.src.rpm
- sl-release-6.0-6.0.0.37.sl6.0.92rolling.src.rpm
- sl-revisor-configs-1-6.0.src.rpm
- yum-autoupdate-2-1.src.rpm
- yum-conf-adobe-6-1.src.rpm
- yum-conf-atrpms-6-1.src.rpm
- yum-conf-elrepo-6-1.src.rpm
- yum-conf-epel-6-1.src.rpm
- yum-conf-rpmforge-6-1.src.rpm
- yum-conf-sl6x-1-1.src.rpm
最小構成で自動的にインストールされるのは、sl-release と yum-autoupdate のみです。
修正されたパッケージ
- anaconda-13.21.82-1.sl6.2.src.rpm
- epydoc-3.0.1-5.1.el6.0.sl6.src.rpm
- guile-1.8.7-4.el6.0.sl6.src.rpm
- httpd-2.2.15-5.sl6.src.rpm
- kdepim-runtime-4.3.4-4.el6.0.sl6.src.rpm
- linuxdoc-tools-0.9.65-3.el6.0.sl.src.rpm
- mod_auth_kerb-5.4-6.el6.0.sl6.src.rpm
- nss-3.12.7-2.el6.0.sl6.src.rpm
- opal-3.6.6-4.el6.0.sl6.src.rpm
- pilot-link-0.12.4-6.el6.0.sl6.src.rpm
- plymouth-0.8.3-17.sl6.2.src.rpm
- redhat-logos-60.0.14-1.sl6.1.src.rpm
- report-0.18-7.sl6.src.rpm
- rome-0.9-4.2.el6.0.sl6.src.rpm
- ruby-1.8.7.299-4.el6.0.sl6.1.src.rpm
- sl-bookmarks-6-1.sl6.src.rpm
- sl-indexhtml-6-1.sl6.src.rpm
- sl-release-6.0-6.0.1.src.rpm
- sl-release-notes-6.0-0.1.rolling.src.rpm
追加パッケージのうち運用時に便利なのは、yum-autoupdate と yum-conf-* です。yum-autoupdate は後述しますが、yum による自動更新を実行するツールです。yum-conf-* は、外部リポジトリを使用するリポジトリファイルです。メジャーな外部リポジトリは収録されていて、すぐに外部リポジトリを使用できるのは使い勝手が良いです。
RHEL 6.0 と CentOS 6.0 の違い
CentOS のインストールメディアはなるべく RHEL と同じになるように追加パッケージは基本的にありません。ただし、extras リポジトリで独自のパッケージを追加していくので、一概に SL と比較できません。なお、執筆時点では、6.0 の extras リポジトリはまだ空です。したがって、CentOS 5.x で extras リポジトリにあるものを期待して使用していた方は、今すぐ 6.0 に乗り換えると困るかもしれません。
下記は CentOS 6.0 に追加・修正されているパッケージの一覧です。CentOS 6.0 リリースノート には、削除したパッケージも書かれています。
追加されたパッケージ
- centos-indexhtml-6-1.el6.centos.src.rpm
- centos-release-6-0.el6.centos.5.src.rpm
修正されたパッケージ
- anaconda-13.21.82-1.el6.centos.1.src.rpm
- firefox-3.6.9-2.el6.centos.src.rpm
- httpd-2.2.15-5.el6.centos.src.rpm
- kabi-whitelists-20100820-1.el6.centos.src.rpm
- kabi-yum-plugins-1.0-2.el6.centos.src.rpm
- kde-settings-4.3.1-1.el6.centos.src.rpm
- luci-0.22.2-14.el6.centos.src.rpm
- openssl098e-0.9.8e-17.el6.centos.src.rpm
- plymouth-0.8.3-17.el6.centos.src.rpm
- redhat-bookmarks-6-1.el6.centos.src.rpm
- report-0.18-7.el6.centos.src.rpm
- yum-3.2.27-14.el6.centos.src.rpm
CentOS 6.0 では、リリース時点で自動更新のためのツールが含まれていません。従来あった yum-updated や yum-cron も無くなっているため、自動更新をするには何らかの仕組みを自分で用意する必要があります。
5.x と 6.0 の違い
5.x から 6.0 になってメジャーバージョンが変わったこともあって、いろいろと大きく変わっています。主に下記の点が変わっています。
インストールモード
インストールモードにはこれまで同様、Text mode と Graphical mode がありますが、Text mode では次のことができなくなっています。
- ストレージの構成とパーティションレイアウトの修正
- インストールパッケージの選択
5.x の時にも Text mode では、Linux MD や LVM の VG を一部編集することができない制限がありましたが、6.0 からはストレージの構成とパーティションレイアウトの修正も出来なくなったので、多くの場合、Graphical mode でインストールする必要があります。
なお、搭載メモリが 652MB 以下の場合、自動的に Text mode でインストーラが起動します。それ以外で Text mode でインストールしたい場合は、インストーラメディアブート時の grub メニューで Tab を押して、ブートパラメータの末尾に text を付けて起動すれば良いです。
Graphical mode では、Shift + Print Screen を押すと、画面のスクリーンキャプチャが下記のディレクトリに保存されるので記録を残したい方はこれを利用すると良いです。
- /root/anaconda-screenshot/screenshot-NNNN.png
インストールパッケージ
インストールパッケージはサーバとして使用するなら インストールタイプを Minimal にし、Customize now をチェックして、次のパッケージグループを足すのが良いでしょう。他の必要なサーバソフトウェアは後から yum で入れれば良いです。
- Base System
- Base
- Development
- Additional Development
- Development tools
CentOS 6.0 の場合、デフォルトで Minimal が選択されています。一方、Scientific Linux 6.0 の場合、デフォルトで Desktop が選択されているので一番下にある Minimal を選択する必要があります。さらに、Scientific Linux 6.0 の場合、Minimal にしても次のパッケージグループがインストールするようにチェックされています。
- SL Addons
- Misc Scientific Linux Packages
- Scalable Filesystem Support
- Scalable Filesystems
これらが不要な場合はチェックを外してしまって問題ありません。参考までにチェックしたままだと、それぞれ下記のパッケージがインストールされます。内容から判るとおり xfs を使わない限り必要ないです。
Misc Scientific Linux Packages
このパッケージグループには下記のパッケージが所属していますが、optional 指定になっているため、実際にはインストールされません。
- SL_desktop_tweaks
- SL_enable_serialconsole
- SL_enable_serialconsole-192
- SL_enable_serialconsole-384
- SL_enable_serialconsole-1152
- SL_no_colorls
- SL_password_for_singleuser
- revisor
Scalable Filesystems
- xfsprogs
- xfsdump
また、CentOS では yum-plugin-fastestmirror が自動的にインストールされますが、SL ではインストールされません。
NIC の識別
6.0 から NIC の識別には /etc/udev/rules.d/70-persistent-net.rules が使用されています。このファイルには、ethX と NIC の MAC アドレスを紐づける設定が書かれていて、NIC を増減しても常に同じ NIC に同じ ethX が割り当てられることが保証されます。しかし、VM などでイメージをコピーして使いまわす時にはこの仕組みが邪魔となり、VM コピーに伴い NIC の MAC アドレスが変わると NIC を認識できなくなります。
したがてって、VM イメージをコピーする時には、次のどちらかの方法で対処する必要があります。
- /etc/udev/rules.d/70-persistent-net.rules を削除して再起動します。
- 再起動後、自動的にファイルが生成されます。
- /etc/udev/rules.d/70-persistent-net.rules を修正して再起動します。
- MAC アドレスを正しいものに書き換えるか、不要な NIC の情報を削除します。
- 再起動後、自動的にファイルが修正されます。
国内リポジトリミラー
SL も CentOS も国内リポジトリミラーは充実しています。必要に応じて mirrorlist を修正すると良いです。
SL 6.0
- sl (/etc/yum.repos.d/sl.repo)
http://ftp.riken.jp/Linux/scientific/$releasever/$basearch/os/ http://ftp.ne.jp/Linux/packages/scientificlinux/$releasever/$basearch/os/ http://ftp.jaist.ac.jp/pub/Linux/scientific/$releasever/$basearch/os/
- sl-security (/etc/yum.repos.d/sl-updates.repo)
http://ftp.riken.jp/Linux/scientific/$releasever/$basearch/updates/security/ http://ftp.ne.jp/Linux/packages/scientificlinux/$releasever/$basearch/updates/security/ http://ftp.jaist.ac.jp/pub/Linux/scientific/$releasever/$basearch/updates/security/
- sl-fastbugs (/etc/yum.repos.d/sl-updates.repo)
- CentOS 6 では updates に含まれている バグ fix
http://ftp.riken.jp/Linux/scientific/$releasever/$basearch/updates/fastbugs/ http://ftp.ne.jp/Linux/packages/scientificlinux/$releasever/$basearch/updates/fastbugs/ http://ftp.jaist.ac.jp/pub/Linux/scientific/$releasever/$basearch/updates/fastbugs/
CentOS 6.0
- base (/etc/yum.repos.d/CentOS-Base.repo)
http://ftp.riken.jp/Linux/centos/$releasever/os/$basearch/ http://ftp.ne.jp/Linux/packages/CentOS/$releasever/os/$basearch/ http://ftp.jaist.ac.jp/pub/Linux/CentOS/$releasever/os/$basearch/ http://ftp.iij.ad.jp/pub/linux/centos/$releasever/os/$basearch/
- updates (/etc/yum.repos.d/CentOS-Base.repo)
http://ftp.riken.jp/Linux/centos/$releasever/updates/$basearch/ http://ftp.ne.jp/Linux/packages/CentOS/$releasever/updates/$basearch/ http://ftp.jaist.ac.jp/pub/Linux/CentOS/$releasever/updates/$basearch/ http://ftp.iij.ad.jp/pub/linux/centos/$releasever/updates/$basearch/
自動更新
SL 6.0 と CentOS 6.0 の自動更新について説明します。
SL 6.0
SL 6.0 では yum-autoupdate が自動的にインストールされます。このパッケージは、SL 独自に追加されているパッケージであるため CentOS ではインストールされません。
yum-autoupdate の設定ファイルは、/etc/sysconfig/yum-autoupdate にあります。デフォルトでは下記のパッケージが自動更新から除外されています。
- kernel*
- openafs*
- *-kmdl-*
- kmod-*
- *firmware*
これらも自動更新したい場合は設定ファイルの EXCLUDE を空にするか、コメントアウトすれば良いです。
$ diff -u /etc/sysconfig/yum-autoupdate.default /etc/sysconfig/yum-autoupdate --- /etc/sysconfig/yum-autoupdate.default 2011-02-17 07:19:32.000000000 +0900 +++ /etc/sysconfig/yum-autoupdate 2011-06-06 14:01:48.736885290 +0900 @@ -24,7 +24,7 @@ # EXCLUDE # This is a space deliminated list # Example: EXCLUDE="kernel* openafs* *-kmdl-* kmod-* *firmware*" -EXCLUDE="kernel* openafs* *-kmdl-* kmod-* *firmware*" +#EXCLUDE="kernel* openafs* *-kmdl-* kmod-* *firmware*" # DEBUG # true - turn on debug mode (be more verbose)
yum-autoupdate は /etc/cron.daily/yum-autoupdate から毎朝実行されます。また、更新パッケージがある時は root 宛に更新したパッケージ一覧が記載されたメールが送信されます。この宛先は設定ファイルで変更できます。
CentOS 6.0
前述したように CentOS 6.0 では自動更新の仕組みが提供されていません。今後、何らかの公式のパッケージが提供されるかもしれませんが、実運用に困る方は下記のような /etc/cron.daily/yum.cron などを作っておくのが良いと思います。
cat << '_EOF_' > /etc/cron.daily/yum.cron #!/bin/sh /usr/bin/yum -R 120 -e 0 -d 0 -y update yum _EOF_ chmod 755 /etc/cron.daily/yum.cron
その他の 5.x から 6.0 になって変わったこと
その他、SL と CentOS に限らず、RHEL 5.x から 6.0 になって個人的に影響があった変更点を箇条書きします。
その他の違いや詳細は、Red Hat 社の Red Hat Enterprise Linux 6 移行計画ガイド を見ると良いです。
- デフォルトのファイルシステムが ext3 から ext4 に変更されました
- Xen が無くなり、KVM のみになりました
- KVM: -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0×4 がない時、-balloon virtio をオプション指定しないとバルーンメモリが有効になりませんでした
- iptables で ! を使う時はオプションの前にしないとエラーになるようになりました
- NG: -s ! 10.0.0.0/24
- OK: ! -s 10.0.0.0/24
- BIND の caching-nameserver は bind パッケージに統合されました
- Dovecot の設定書式が変わりました
- OpenLDAP の設定書式が変わりました
- 設定も DB で持てるようになりました
- LDAP クライアント化するのに nscd に加えて nslcd デーモンが必要になりました
まとめ
メジャーバージョンが 5.x から 6.0 になったことで多くのパッケージにもメジャーバージョンが更新されました。パッケージによっては設定書式が変わっていて一から調べなおす必要があることもあります。
6.0 では SL 6.0 と CentOS 6.0 で大きな違いはありません。個人的には yum-autoupdate と yum-conf-* が気に入ったのと、SL の方がリリースサイクルが早そうだという理由でこれから作るサーバで OS を決めて良い時はすべて SL にしようと考えています。
SL を使用する難点としては、まだ VPS サーバなどでは CentOS の方がサポートされていることが多いことですが、これも最近の状況からすると徐々に SL のシェアが増えるんじゃないかなと思います。
この記事に関連する別の記事:
- Scientific Linux 6.1 での yum リポジトリ設定 今朝 Scientific Linux 6.0 環境を 6.1 環境へアップグレードする方法 を書きましたが、6.0 時代に設定した yum...
- Scientific Linux 6.0 環境を 6.1 環境へアップグレードする方法 概要 2011-07-29追記: アップデートすると 6.0 時代に設定した yum のリポジトリ設定が上書きされ、初期化されていました。詳細は Scientific Linux 6.1...
- Scientific Linux 6.2 環境へ 6.1 環境からアップグレードする方法 概要 Scientific Linux 6.2 (SL 6.2) が Beta 1 ->...
- Red Hat Enterprise Linux 5.3 (RHEL 5.3) の気になるとこまとめ ...
- CentOS 4 と CentOS 5 のDRBDパッケージに8.3.x系が加わる予定 ...
コメント:2
- Kenichi Maehashi 11-07-13 (水) 13:15
-
こんにちは。
EL5->EL6 の移行はこのページも参考になりますね。
http://docs.redhat.com/docs/ja-JP/Red_Hat_Enterprise_Linux/6/html/Migration_Planning_Guide/index.html - jfut 11-07-13 (水) 13:24
-
「その他の 5.x から 6.0 になって変わったこと」にさりげなくリンクしてあります!でも、ちょっと目立たないですね。
トラックバック:0
- このエントリーのトラックバックURL
- http://jfut.integ.jp/2011/07/13/rhel-sl-centos-5-to-rhel-sl-centos-6/trackback/
- Listed below are links to weblogs that reference
- RHEL/Scientific Linux/CentOS 5 から RHEL/Scientific Linux/CentOS 6 へ from ふたつの川うるおう日記

