CentOS 7 で yum が使用できない

CentOS 7 で yum が使用できない

CentOS 7 を Hyper-V に正常にインストールしましたが、yum update を使用して更新しようとしたり、yumコマンドを使用してインストールしようとすると、次のエラーが発生します。

Loaded plugins: fastestmirror, langpacks Could not retrieve mirrorlist
http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock
error was 12: Timeout on
http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock:
(28, 'Resolving timed out after 30425 milliseconds')


One of the configured repositories failed (Unknown),  and yum doesn't
have enough cached data to continue. At this point the only  safe
thing yum can do is fail. There are a few ways to work "fix" this:

      1. Contact the upstream for the repository and get them to fix the problem.

      2. Reconfigure the baseurl/etc. for the repository, to point to a working
         upstream. This is most often useful if you are using a newer
         distribution release than is supported by the repository (and the
         packages for the previous distribution release still work).

      3. Disable the repository, so yum won't use it by default. Yum will then
         just ignore the repository until you permanently enable it again or use
         --enablerepo for temporary usage:

             yum-config-manager --disable <repoid>

      4. Configure the failing repository to be skipped, if it is unavailable.
         Note that yum will try to contact the repo. when it runs most commands,
         so will have to try and fail each time (and thus. yum will be be much
         slower). If it is a very temporary problem though, this is often a nice
         compromise:

             yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true

 Cannot find a valid baseurl for repo: base/7/x86_64`

答え1

(28, 'Resolving timed out after 30425 milliseconds')

つまり、VM には機能する DNS サーバーがない可能性があります。ここでの解決とは、ドメイン名を IP アドレスに解決することを指します。

google.comまたはmirrorlist.centos.orgにpingして、DNS機能が使えるかどうかを確認してください。現在使用されているDNSサーバーは、conf ファイルそのようです:

nameserver 8.8.8.8
nameserver 8.8.4.4

もし、conf ファイルファイルが空の場合は、まず上記のIPアドレス(GoogleのパブリックDNS)にpingを実行し、次にそれらをconf ファイルGoogle DNS の使用を開始するには、上記のファイルを変更します。これを永続的に修正するには、CentOS 7 ネットワーク構成ツールを使用して DNS サーバーを適切に設定することをお勧めします。その方法については、次の記事が参考になります。http://www.krizna.com/centos/setup-network-centos-7/

答え2

デフォルトのIPルートがどこに行くのかを確認するために使用しますip route。何も表示されない場合は、新しいIPを取得する必要があります。

sudo dhclient

これで問題は解決するはずです。yum update今すぐお試しください。

答え3

これは IPv6 の問題です。 IPv6 の実行を無効にしてください。

lsmod | grep -i ipv6
sysctl --all
nslookup google.com
systemctl stop NetworkManager
systemctl disable NetworkManager
cd /etc/default

change line to : GRUB_CMDLINE_LINUX="ipv6.disable=1 rd.lvm.lv=centos/swap vconsole.font=latarcyrh

grub2-mkconfig -o /boot/grub2/grub.cfg
vi grub
ip addr

注: grub に無効化コマンドを追加

答え4

「/etc/sysconfig/network-scripts/ifcfg-enp0s17」ファイルを見つけます。**ファイル名は環境によって異なる場合があります。1.次の行を見つけます: BOOTPROTO=none ONBOOT=no

  1. BOOTPROTO=dhcp ONBOOT=yes に変更し、保存して終了

  2. 「systemctl restart network」を実行します。

関連情報