CentOS 6のインストールを終了しましたが、yum update
取得しました:
[root@centos6test ~]# yum update
Loaded plugins: fastestmirror, refresh-packagekit
Determining fastest mirrors
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=6&Arch=i386&repo=os
error was 14: PYCURL ERROR 6 - "" Error: Cannot find a valid baseurl for repo: base
なぜそれが起こっているのですか?どうすれば修正できますか?
まず接続する必要があります。AFAIKCentOS 6はネットワークデバイスをONBOOT=No
、ネットワークインターフェイスへの管理者権限でdhclient
を実行するだけで、起動して実行できます。
$ Sudo dhclient
Centos6.4 x86_64で同じ問題に取り組んでいました。次のエラーが発生しました:
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=6&Arch=x86_64&repo=os error was 14: PYCURL ERROR 6 - "Couldn't resolve Host 'mirrorlist.centos.org'" Error: Cannot find a valid baseurl for repo: base
だから、私はこれらの手順でそれを修正しました:
ネットワークインターフェイスを編集します。私の場合、eth0
CentOS 6.Xの場合CentOS 7では、「ensxxx」インターフェイスを使用できます。
vim /etc/sysconfig/network-scripts/ifcfg-eth0
NM_CONTROLLEDをnoに更新します
ONBOOT=no
NM_CONTROLLED=no
BOOTPROTO=dhcp
DNS1=8.8.8.8
DNS2=4.2.2.2
ネットワークインターフェースを再起動します
ifdown eth0
ifup eth0
同じ問題があり、/etc/yum.conf
ファイルを編集した後で解決しました。プロキシサーバーで実行していて、サーバーに与えられたIPがバイパスされているが、ブラウザーで開いている場合(IE-プロキシにチェックマークを付ける必要がありますが、ユーザー名とパスワードを与える必要はありません。)
/etc/yum.confファイルのメインセクションに次の行を追加します。
proxy=http://xxx.xxx.xx.xx:8080
つまり、プロキシアドレスを実際のプロキシに置き換えます。また、ポート番号が8080でない場合は変更してください。
プロキシに認証が必要な場合は、これもファイルに追加します
proxy_username=username
proxy_password=password
ファイルを編集しました/etc/yum.repos.d/CentOS-Base.repo
とコメントなしbaseurl
:
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&Arch=$basearch&repo=os
baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
よく知られているホストにその名前(ping www.google.com
など)でpingを実行するとping: unknown Host
が返されるが、IP(たとえばping 8.8.8.8
)をpingすると正常に機能する場合は、DNS解決の問題があります。これらのエントリを追加してみてください/etc/resolv.conf
へ:
nameserver 8.8.8.8
nameserver 8.8.4.4
昨日も同じ問題があり、解決に何時間も費やしました。解決策は単純なものになりました。
/etc/yum.repos.d/remi.repo
の内容を削除して実行します
# yum update
終わった!ファイルのコンテンツがダウンロードを再開し、構成されます。
これが私が偶然偶然発見したもう1つの可能性です。
私はPuppetモジュールを使用して、stahnma/epelモジュールであるCentOSのEPELレポを作成していました。
モジュール内で、ファクトのリストに存在しない変数::os_maj_version
を使用してリポジトリURLを構築しました。これを:: operatingsystemmajreleaseに置き換える必要がありました。
そのため、/etc/yum.repos.d/epel.repo
のURLは不正な形式でした。
以前の回答はすべて正解ですが、残念ながらうまくいきませんでした。以下のコマンドは私のために働きました:
これによりすべてのCentosリポジトリが削除されます!!!自己責任で使用してください
mkdir ~/backup
cp -r /etc/yum.repos.d/Cen* ~/backup
rm /etc/yum.repos.d/Cen*
それはCentos 7環境で私に起こりました、そして私は次のコマンドでそれを解決することができました:
yum clean all
数か月間、yumコマンドを実行していませんでした。キャッシュされたメタデータが古くなっているようです。