(1) CentOS6で「Cannot find a valid baseurl for repo」が発生した時の対処方法について
(1-1) 発生状況・エラーメッセージ
(1-2) 原因①・対策①
(1-3) 原因②・対策②
(1) CentOS6で「Cannot find a valid baseurl for repo」が発生した時の対処方法について
(1-1) エラー概要
このエラーはCentOS6で「yum update」(パッケージのアップデート)のコマンドを実行した際に発生しました。
(エラーメッセージ)
エラー: Cannot find a valid baseurl for repo: base
(図111)
このエラーyumがパッケージを保持する「ベースリポジトリ」にアクセスが出来ない事を示唆しています。想定しうる原因としては以下のポイントが考えられます。
原因①:ネットワーク接続の問題
原因②:リポジトリ設定の問題
それぞれの原因について、具体的に見ていきます。
(1-2) 原因①・対策①
(1-2-1) 原因①:ネットワーク接続の問題
①インターネット接続の有無チェック
ネットワーク接続に問題がある場合は、サーバがインターネットに接続されているか?を確認してみます。確認はgoogle等の適当なサイトにpingが通るか?でチェックします。
(コマンド)
# ping google.com
PING google.com (172.217.24.142) 56(84) bytes of data. 64 bytes from nrt20s01-in-f142.1e100.net (172.217.24.142): icmp_seq=1 ttl=117 time=16.5 ms 64 bytes from nrt20s01-in-f142.1e100.net (172.217.24.142): icmp_seq=2 ttl=117 time=16.5 ms ~以下、省略~
(図121)
もし結果がインターネット接続エラーやDNSエラーの場合は、ネットワークインターフェイスの設定を確認していきます。ネットワークインターフェイスというのは、コンピュータとネットワークの相互接続点の事で、具体的には「NICカード」などがあります。NICというのは、ネットワーク接続するためのカードでLANの口が付いているアダプタです。
(図122)
②ネットワークインターフェイスの確認
以下のコマンドで確認を行います。
(コマンド)
ip add
(コマンド実行結果例)
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 9c:a3:ba:01:f5:51 brd ff:ff:ff:ff:ff:ff inet 153.126.201.91/23 brd 153.126.201.255 scope global eth0 3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000 link/ether 9c:a3:ba:03:7b:f1 brd ff:ff:ff:ff:ff:ff 4: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000 link/ether 9c:a3:ba:05:02:91 brd ff:ff:ff:ff:ff:ff
(図123)
(1-2-2) 対策①
/etc/sysconfig/network-scripts
(図124)
もしDNSの問題の場合は、ここにDNSのレコードを追加する事で解決する事があります(スミマセン、この記事では深くは触れません)。
(例)
DNS1=XX.XX.XX.XX DNS2=XX.XX.XX.XX
# systemctl restart NetworkManager
(1-3) 原因②・対策②
(1-3-1) 原因②:リポジトリ設定の問題
もしDNSが正常動作しており、名前解決等も問題なく出来るようであれば、リポジトリの設定ファイルに問題がある可能性があります(後述するbaseのURLがコメントアウトされている)。
(1-3-2) 対策②
# vi /etc/yum.repos.d/CentOS-Base.repo
(図131)
②baseurlの有効化
下記の「baseurl」の行をコメント解除します。コメント解除するためには、行の先頭の「#」を削除します。
(図132)ココです
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
(After)※「6.10」の箇所にはご自身のOSのバージョン番号で置き換えてください
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra baseurl=http://vault.centos.org/6.10/os/$basearch/
(図133)再度yum updateにトライ