• 记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 #网卡类型为以太网

    * * * 胖并快乐着的死肥宅 * * *
  • 相关阅读:
    232. Implement Queue using Stacks
    231. Power of Two
    n&(n-1)位运算的妙用
    230. Kth Smallest Element in a BST
    关于UNIX的exec函数
    Go语言的各种Print函数
    Go语言的接口interface、struct和组合、继承
    Go语言知识点笔记
    Ubuntu自定义终端窗口位置
    Python的类变量和成员变量、类静态方法和类成员方法
  • 原文地址:https://www.cnblogs.com/bpzblog/p/13893550.html
Copyright © 2020-2023  润新知