ytooyamaのブログ

サーバ構築とか、仕事で発見したこととか、趣味のこととかを書いています。

Scientific Linuxのyum updateでエラーになる問題

いつから起きているのか不明ですが、Scientific Linuxyum updateでエラーが出る問題が起きているようです。

[root@www2 ~]# yum check-update
http://ftp.scientificlinux.org/linux/scientific/6.1/x86_64/os/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 403"
Trying other mirror.

原因はメインのftpサーバーのパーミッションで問題が起きているから。そのためここに入れず、エラーとなります。

回避策は、sl.repoとsl-other.repoのいくつか定義されているbaseurlからftp.scientificlinux.orgのURLをはずします。私の場合は各レポジトリに対して以下のような感じで変更しました。

baseurl=http://ftp1.scientificlinux.org/linux/scientific/$releasever/$basearch/..
http://ftp2.scientificlinux.org/linux/scientific/$releasever/$basearch/..
ftp://ftp1.scientificlinux.org/linux/scientific/$releasever/$basearch/..
ftp://ftp2.scientificlinux.org/linux/scientific/$releasever/$basearch/..

レポジトリファイルを開けば分かるように、baseurlにはいくつかのサーバーが書かれています。上から順番にアクセスしていくので、何度もエラーが出てしまうようです。

もしくは、yum-plugin-fastestmirrorが入っているなら、sl.repoとsl-other.repoのmirrorlist行を変更する。

mirrorlist=http://ftp.scientificlinux.org/linux/scientific/mirrorlist/..

mirrorlist=http://ftp1.scientificlinux.org/linux/scientific/mirrorlist/..

以上のいずれかの方法で回避できるようです。

なお、Scientific Linuxにはyum-plugin-fastestmirrorがデフォルトでは入っていないので、このパッケージを入れます。Scientific Linux 6.1の場合は以下から必要なほうをダウンロードしてください。

32ビット版
# wget http://ftp1.scientificlinux.org/linux/scientific/6.1/i386/os/Packages/yum-plugin-fastestmirror-1.1.30-6.el6.noarch.rpm

64ビット版
# wget http://ftp1.scientificlinux.org/linux/scientific/6.1/x86_64/os/Packages/yum-plugin-fastestmirror-1.1.30-6.el6.noarch.rpm

ダウンロードしたらrpmコマンドをつかって、インストールします。

# rpm -ivh yum-plugin-fastestmirror-1.1.30-6.el6.noarch.rpm

このブログサイトはJavaScriptを使っていますが、読み込んでいるJavaScriptは全てはてなが提供しているものであり、筆者が設置しているものではありません。