記CentOS 8 yum 報AppStream Error排錯


使用yum安裝rsync時發現報錯

Failed to download metadata for repo 'AppStream'

試着更換yum源,發現無法下載,ping g.com不通。

估計是DNS的問題。

查看一下DNS

[root@C8-3 ~]# cat /etc/resolv.conf 
# Generated by NetworkManager
nameserver 10.0.0.2

想起來之前坐DNS服務器時候更改做DNS。

直接vim resolv.conf,重啟網卡發現又被改回去了。

想起來CentOS8的網絡由network Manager接管了。

重新通過nmtui圖形界面修改網卡設置

重啟網卡

[root@C8-3 ~]# nmcli c reload

問題解決!

由此可知:

CentOS 8 報 “Failed to download metadata for repo 'AppStream'”
是由於網絡問題,很多時候因為DNS解析產生了問題,造成網絡不通。
重新設置網絡或DNS既能解決。

---華麗麗的分割線---

在RHEL 8和CentOS 8系統里,已廢棄network.service。因此只能通過其它方法進行網絡配置,包括NM命令工具集。換言之,在rhel8上,必須開啟NM,否則無法使用網絡。

下文假設你的網卡標識為xxx,可以通過以下命令確定網卡標識符

]# ip addr

比如ens33等等這類標識。

  1. RHEL8或者CentOS8配置網絡的三種方法

RHEL8或者CentOS8應該使用nmcli管理網絡

手工配置ifcfg,通過NM來生效

通過NM自帶工具配ip,比如nmcli

手工配置ifcfg,通過傳統network.service來生效

建議:推薦使用上述第1種網絡配置方法(手工配置ifcfg,通過NM生效),因為這樣既兼容了傳統的ifcfg配置,又能熟悉nmcli。舉例:

1.1 方法一:手工配置ifcfg,使用nmcli來生效新的網絡配置

假設網卡標識符為xxx

]# vi /etc/sysconfig/network-scripts/ifcfg-xxx

使用nmcli重新回載網絡配置

]# nmcli c reload

如果之前沒有xxx的connection,則上一步reload后就已經自動生效了

]# nmcli c up xxx

1.2 方法二:RHEL8和CentOS8完全使用nmcli來管理網絡

查看網卡信息

]# nmcli connection

NAME UUID TYPE DEVICE

ens33 a92fa07b-9b68-4d2b-a2e7-e55146099b1b ethernet ens33

ens36 418da202-9a8c-b73c-e8a1-397e00f3c6b2 ethernet ens36

]# nmcli con xxx

顯示具體的網絡接口信息

]# nmcli connection show xxx

顯示所有活動連接

]# nmcli connection show --active

刪除一個網卡連接

]# nmcli connection delete xxx

給xxx添加一個IP(IPADDR)

]# nmcli connection modify xxx ipv4.addresses 192.168.0.58

給xxx添加一個子網掩碼(NETMASK)

]# nmcli connection modify xxx ipv4.addresses 192.168.0.58/24

IP獲取方式設置成手動(BOOTPROTO=static/none)

]# nmcli connection modify xxx ipv4.method manual

添加一個ipv4

]# nmcli connection modify xxx +ipv4.addresses 192.168.0.59/24

刪除一個ipv4

]# nmcli connection modify xxx -ipv4.addresses 192.168.0.59/24

添加DNS

]# nmcli connection modify xxx ipv4.dns 114.114.114.114

刪除DNS

]# nmcli connection modify xxx -ipv4.dns 114.114.114.114

添加一個網關(GATEWAY)

]# nmcli connection modify xxx ipv4.gateway 192.168.0.2

可一塊寫入:

]# nmcli connection modify xxx ipv4.dns 114.114.114.114 ipv4.gateway 192.168.0.2

添加DNS

]# nmcli connection modify xxx ipv4.dns 114.114.114.114

刪除DNS

]# nmcli connection modify xxx -ipv4.dns 114.114.114.114

添加一個網關(GATEWAY)

]# nmcli connection modify xxx ipv4.gateway 192.168.0.2

可一塊寫入:

]# nmcli connection modify xxx ipv4.dns 114.114.114.114 ipv4.gateway 192.168.0.2

使用nmcli重新回載網絡配置

]# nmcli c reload

如果之前沒有xxx的connection,則上一步reload后就已經自動生效了

]# nmcli c up xxx

1.3 方法三:安裝network.service服務

可以通過yum install network-scripts來安裝傳統的network.service,不過redhat說了,在下一個RHEL的大版本里將徹底廢除,因此不建議使用network.service。

  1. RHEL8或者CentOS8修改網卡名稱

2.1 刪除網卡連接,比如xxx

]# nmcli connection delete xxx

2.2 修改內核參數配置文件

]# vi /etc/default/grub

2.3 植入內核

]# grub2-mkconfig -o /boot/grub2/grub.cfg

3.4 重啟

]# reboot

3.5 添加網卡

]# nmcli connection add type ethernet con-name xxx

  1. RHEL8或者CentOS8使用nmtui工具配置網絡(圖形化工具)

]# nmtui

  1. 總結

CentOS8和RHEL8上一定要習慣使用nmcli來管理網絡,network.service在未來會被正式廢除,沒有學習的必要了。

/etc/sysconfig/network-scripts/ifcfg-eth0 每一行表示的意思對應如下:
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0 #網卡設備名稱

ONBOOT=yes #啟動時是否激活 yes | no

BOOTPROTO=static #協議類型

IPADDR=192.168.1.90 #網絡IP地址

NETMASK=255.255.255.0 #網絡子網地址

GATEWAY=192.168.1.1 #網關地址

BROADCAST=192.168.1.255 #廣播地址

HWADDR=00:0C:29:FE:1A:09 #網卡MAC地址

TYPE=Ethernet #網卡類型為以太網


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM