ytooyamaのブログ

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

たまにCentOS7のYUMでエラーが出る

【同日 追記】 この問題の原因は修正された模様です

[CentOS-announce] Notification of outage : mirrorlist.centos.org (ipv4) 2016-05-16 08:58 UTC

最近、CentOS 7でyumコマンドを使ったりすると「ネットワークに届きません」エラーが出ることが多くなってきました。ちなみに動かしている環境はMacVirtualBoxを入れて、その上でCentOS 7を動かしている状態です。ちなみにMacIPv6設定を「リンクローカルのみ」にしています。

$ sudo yum update
読み込んだプラグイン:fastestmirror
base | 3.6 kB 00:00:00
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=extras&infra=stock error was
14: curl#52 - "Empty reply from server"
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=updates&infra=stock error was
14: curl#7 - "Failed to connect to 2a01:c0:2:4:0:acff:fe1e:1e52: ネットワークに届きません"

「mirrorlist.centos.org」にIPv6で接続しようとしてる?

CentOS 7はデフォルトでIPv6が有効になっています。家でも会社でもIPv6はまだ流しておらず、仮想マシンのホストOSでも実質オフにしているのでIPv6で繋がるはずがありません。 このままでは困るので、次のように実行してCentOS 7のIPv6をオフにしました。

# echo "net.ipv6.conf.all.disable_ipv6 = 1" >> /usr/lib/sysctl.d/00-system.conf
# echo "net.ipv6.conf.default.disable_ipv6 = 1" >> /usr/lib/sysctl.d/00-system.conf
# echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6
# echo 1 > /proc/sys/net/ipv6/conf/default/disable_ipv6

すると問題なくなりました。エラーが起きるときは国内のミラーサーバーでなくて国外のミラーサーバーに接続する時にエラーが発生することが多い気がします。IPv6をオフにすれば失敗することはなくなるようです。もしかしてMacの「リンクローカルのみ」設定が原因なのでしょうか?

$ sudo yum update
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.riken.jp
 * extras: ftp.riken.jp
 * updates: ftp.riken.jp
No packages marked for update

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