记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