【SL】Scientific Linux マイナーバージョンアップの方法


先日、Scientific Linux 6.1 がリリースされました。
遅くなりましたが、Scientific Linux 6.0 を 6.1 にアップデートしようと思いました。
しかしながら、CentOSのように、単純に
# yum update
としても、Scientific Linux は 6.0 から 6.1 にアップデートされません。
これは、/etc/yum.repos.d/sl.repo などに記載されている、$releasever 変数の中身が 6.0 とマイナーバージョンまで指定されているためです。
(CentOSでは、6 などのメジャーバージョンのみが入っています。6 はリポジトリ上では、シンボリックリンクになっているので、マイナーバージョンのアップデートがリリースされると、シンボリックリンクの向き先が新しいバージョンへ向けられるため、自動で最新のパッケージ群を見るようになっていました。)
CentOSと違い、誤って yum update などを行っても、OSのバージョンが上がらないのはとても親切だと思います。
しかしながら、このままでは、いつまでたっても、新しいバージョンへアップデートする事が出来ません。
そのため、次のような手順で、パッケージをアップデートする必要があります。
現状のバージョン確認
Scientific Linux # cat /etc/redhat-release Scientific Linux release 6.0 (Carbon) Scientific Linux # rpm -q sl-release --qf '%{v}\n' 6.0
CentOS # cat /etc/redhat-release CentOS Linux release 6.0 (Final) CentOS # rpm -q centos-release --qf '%{v}\n' 6
queryformat(–qf) で出力をカスタマイズしていますが、「v」はVersionを表示します。
「qf」のオプションはハイフン2つのロングオプションを指定しているので注意してください。
また、rpm -qi sl-release でも確認する事が出来ます。
sl-releaseをアップデート
前述したように、Scientific Linux では $releasever 変数の中身が 6.0 になっています。
そのため、yumコマンドのオプションとして、一時的に 6.1 を指定して、sl-release パッケージのアップデートを実施します。
# yum --releasever=6.1 update sl-release 省略
先ほどと同様に、確認すると、アップデートが行われている事が確認出来ます。
Scientific Linux # cat /etc/redhat-release Scientific Linux release 6.1 (Carbon) Scientific Linux # rpm -q sl-release --qf '%{v}\n' 6.1
キャッシュのクリア
# yum clean all Loaded plugins: downloadonly, fastestmirror Cleaning up Everything Cleaning up list of fastest mirrors
残りのパッケージのアップデート
# yum update 省略
CentOS と Scientific Linux は同じ RHELクローンですが、若干の違いはあるようです。
使用しているうちに、おそらくいくつかハマる事があるかと思いますが、ちょっとずつ、慣れて行こうと思います。
P.S. Scientific Linux の書籍って無いんですね。
Comment from Welcome
2011年9月20日 at 19:03
Of the panoply of website I’ve pored over this has the most vrecatiy.