首页 > 基础资料 博客日记

CentOS Stream 9/CentOS Stream 10配置静态IP和配置dnf/yum源

2026-04-09 16:00:01基础资料围观2

极客资料网推荐CentOS Stream 9/CentOS Stream 10配置静态IP和配置dnf/yum源这篇文章给大家,欢迎收藏极客资料网享受知识的乐趣

一.CentOS Stream 9/CentOS Stream 10概述

CentOS Stream 是 Red Hat Enterprise Linux (RHEL) 的上游开发分支,采用“滚动更新”模式。这意味着它介于 Fedora 和 RHEL 之间,让你能提前看到 RHEL 未来的功能。

特性 CentOS Stream 9 CentOS Stream 10
对应 RHEL 版本 RHEL 9 系列 RHEL 10 系列
内核版本 Kernel 5.14 Kernel 6.12+ (显著更新)
Python 默认版本 Python 3.9 Python 3.12 (性能更强)
编译器工具链 GCC 11 GCC 14 (支持新语言特性)
系统架构 传统 YUM/DNF 引入 System Wide Image (SWI) 和 Bootable Container 概念
生命周期 维护至 2027 年 (全支持) / 2032 年 (维护支持) 预计维护至 2030 年代初
代号 无特定代号 Coughlan

二.系统环境

服务器版本 内核版本
CentOS Stream release 10 (Coughlan) 6.12.0-212.el10.x86_64
CentOS Stream release 9 5.14.0-687.el9.x86_64

三.CentOS Stream 9/CentOS Stream 10配置静态IP

3.1 NetworkManager配置静态IP

CentOS Stream 9/CentOS Stream 10的网络配置文件不再使用/etc/sysconfig/network-scripts/ifcfg-eth0,network服务已经弃用,默认使用NetworkManager管理网络,配置文件位于/etc/NetworkManager/system-connections/目录下。

[root@localhost ~]# cd /etc/NetworkManager/system-connections/
[root@localhost system-connections]# ls
ens160.nmconnection

修改配置文件,指定机器静态IP为192.168.0.132。

  • address1:指定静态IP地址和子网掩码(CIDR格式);
  • dns:指定DNS服务器列表,多个地址用分号分隔,建议使用国内的DNS服务器地址,这样更快,比如:223.5.5.5;223.6.6.6;
  • method:method=manual表示强制使用手动配置模式,method=auto表示启用 DHCP (动态主机配置协议),动态获取IP;
  • gateway:指定服务器网关。
[root@localhost system-connections]# vim ens160.nmconnection

[root@localhost system-connections]# cat ens160.nmconnection 
[connection]
#网卡名称
id=ens160
#系统内部用来唯一标识这个连接配置。即使你把 id 改名了,UUID 也不会变,确保系统不会搞混。
uuid=89fcf374-9ca1-30b1-b1dd-ed124953574c
#表明这是一个标准的以太网(有线网卡)连接。
type=ethernet
#自动连接优先级。这是一个非常低的优先级(范围通常是 -999 到 999)。
autoconnect-priority=-999
#绑定的物理网卡名称。
interface-name=ens160
timestamp=1775042953

[ethernet]
#双工模式设置为半双工。半双工意味着同一时间只能发数据或收数据,不能同时进行,且容易发生冲突。这会严重限制网卡性能。除非连接的是非
#常古老的集线器(Hub)或特殊工业设备,否则建议改为 duplex=full 或直接删除此行让网卡自动协商。
duplex=half
#强制网卡速率锁定为 10000 Mbps (10 Gbps)。
speed=10000

[ipv4]
address1=192.168.0.132/24
dns=223.5.5.5;223.6.6.6;119.29.29.29;182.254.116.116;
gateway=192.168.0.2
method=manual

[ipv6]
#地址生成模式。使用 EUI-64 算法基于网卡的 MAC 地址生成 IPv6 地址的后 64 位。这种方式生成的地址是固定的,便于追踪,但隐私性不如#默认的“稳定隐私地址”。
addr-gen-mode=eui64
#自动模式。
method=auto

[proxy]

重载配置文件并重启。

[root@localhost system-connections]# systemctl restart NetworkManager

[root@localhost system-connections]# systemctl status NetworkManager
● NetworkManager.service - Network Manager
     Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; preset: enabled)
     Active: active (running) since Thu 2026-04-02 22:06:20 CST; 8s ago
 Invocation: ed6964f8bf7d4a7aa7301b361329c36a
       Docs: man:NetworkManager(8)
   Main PID: 1841 (NetworkManager)
      Tasks: 5 (limit: 23984)
     Memory: 3.4M (peak: 4.3M)
        CPU: 52ms
     CGroup: /system.slice/NetworkManager.service
             └─1841 /usr/sbin/NetworkManager --no-daemon

4月 02 22:06:20 localhost.localdomain NetworkManager[1841]: <info>  [1775138780.7000] device (ens1>
4月 02 22:06:20 localhost.localdomain NetworkManager[1841]: <info>  [1775138780.7015] policy: set >
4月 02 22:06:20 localhost.localdomain NetworkManager[1841]: <info>  [1775138780.7054] device (ens1>
4月 02 22:06:20 localhost.localdomain NetworkManager[1841]: <info>  [1775138780.7071] device (ens1>
4月 02 22:06:20 localhost.localdomain NetworkManager[1841]: <info>  [1775138780.7072] device (ens1>
4月 02 22:06:20 localhost.localdomain NetworkManager[1841]: <info>  [1775138780.7075] manager: Net>
4月 02 22:06:20 localhost.localdomain NetworkManager[1841]: <info>  [1775138780.7076] device (ens1>
4月 02 22:06:20 localhost.localdomain NetworkManager[1841]: <info>  [1775138780.7079] manager: Net>
4月 02 22:06:20 localhost.localdomain NetworkManager[1841]: <info>  [1775138780.7080] manager: sta>
4月 02 22:06:20 localhost.localdomain NetworkManager[1841]: <info>  [1775138780.8850] policy: set->

在/etc/NetworkManager/system-connections/ens160.nmconnection里配置了DNS之后,/etc/resolv.conf 里的DNS也会变化。

[root@localhost system-connections]# cat /etc/resolv.conf 
# Generated by NetworkManager
nameserver 223.5.5.5
nameserver 223.6.6.6
nameserver 119.29.29.29
# NOTE: the libc resolver may not support more than 3 nameservers.
# The nameservers listed below may not be recognized.
nameserver 182.254.116.116

查看IP发现ip配置成功,也能上网了。

[root@localhost system-connections]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute 
       valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:de:bf:87 brd ff:ff:ff:ff:ff:ff
    altname enp3s0
    altname enx000c29debf87
    inet 192.168.0.132/24 brd 192.168.0.255 scope global noprefixroute ens160
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fede:bf87/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
       
#查看路由       
[root@localhost system-connections]# ip r
default via 192.168.0.2 dev ens160 proto static metric 100 
192.168.0.0/24 dev ens160 proto kernel scope link src 192.168.0.132 metric 100 

#可以上网
[root@localhost system-connections]# ping qq.com
PING qq.com (113.108.81.189) 56(84) 字节的数据。
64 字节,来自 113.108.81.189: icmp_seq=1 ttl=128 时间=61.3 毫秒
64 字节,来自 113.108.81.189: icmp_seq=2 ttl=128 时间=71.2 毫秒
64 字节,来自 113.108.81.189: icmp_seq=3 ttl=128 时间=69.3 毫秒
64 字节,来自 113.108.81.189: icmp_seq=4 ttl=128 时间=71.7 毫秒
64 字节,来自 113.108.81.189: icmp_seq=5 ttl=128 时间=69.7 毫秒
64 字节,来自 113.108.81.189: icmp_seq=6 ttl=128 时间=68.2 毫秒
^C
--- qq.com ping 统计 ---
已发送 7 个包, 已接收 6 个包, 14.2857% packet loss, time 6004ms
rtt min/avg/max/mdev = 61.309/68.572/71.737/3.449 ms

3.2 nmcli配置静态IP

在 CentOS Stream 9 中,网络管理已经完全转向由 NetworkManager 主导。nmcli(NetworkManager Command Line Interface)是其核心的命令行工具。相比传统的 ifcfg 脚本或 ip addr 命令,nmcli 的优势在于它的配置是持久化的(重启不失效),且能实时反映 NetworkManager 的状态。

nmcli常用命令

操作类型 命令示例 说明
查看状态 nmcli general status 查看 NetworkManager 整体运行状态
查看设备 nmcli device status 查看所有网卡及其连接状态
查看连接 nmcli connection show 列出所有已保存的连接配置文件
启用连接 nmcli connection up <ID> 激活指定的连接配置
禁用连接 nmcli connection down <ID> 断开指定的连接
重新加载 nmcli connection reload 修改配置文件后,重新加载到内存

修改网卡为静态IP,IP地址配置为192.168.0.132。

  • ipv4.addresses:静态IP地址(CIDR格式);
  • ipv4.gateway:默认网关;
  • ipv4.dns:DNS服务器列表(逗号分隔)。
[root@localhost ~]# nmcli connection modify "ens33" \
  ipv4.addresses "192.168.0.132/24" \
  ipv4.gateway "192.168.0.2" \
  ipv4.dns "223.5.5.5,8.8.8.8" \
  ipv4.method manual

激活配置。

[root@localhost ~]# nmcli connection down ens33 && sudo nmcli connection up ens33

查看具体连接详情。

[root@localhost ~]# nmcli connection show ens33

四.centos9/centos10配置dnf/yum源

4.1 dnf概述

dnf (Dandified YUM) 是基于 RPM 的 Linux 发行版的新一代软件包管理器,专为 Fedora、RHEL 8+ 及 CentOS Stream 9/10 等系统设计,作为 yum 的直接替代品,dnf 解决了 yum 的性能瓶颈和功能限制,同时保持了类似的命令语法,在 CentOS Stream 9/10 中,yum 命令实际上是指向 dnf 的符号链接,执行 yum 时实际调用的是 dnf 功能。

[root@localhost ~]# ll -h /usr/bin/yum 
lrwxrwxrwx. 1 root root 5  2月16日 08:00 /usr/bin/yum -> dnf-3
[root@localhost ~]# ll -h /usr/bin/dnf
lrwxrwxrwx. 1 root root 5  2月16日 08:00 /usr/bin/dnf -> dnf-3

4.2 dnf常用命令

命令类型 命令示例 功能描述 使用场景
基础安装 sudo dnf install <package> 安装指定软件包 安装新软件
sudo dnf install <package1> <package2> 同时安装多个软件包 批量安装
sudo dnf install -y <package> 自动确认安装(无需交互) 自动化脚本
软件包管理 sudo dnf remove <package> 卸载软件包 移除不需要的软件
sudo dnf update 更新所有已安装的软件包 系统升级
sudo dnf update <package> 更新特定软件包 选择性更新
sudo dnf autoremove 自动清理不再需要的依赖 系统精简
查询与搜索 dnf search <keyword> 搜索软件包 查找可用软件
dnf info <package> 查看软件包详细信息 了解软件详情
dnf provides /path/to/file 查找提供特定文件的软件包 问题排查
dnf list installed 列出所有已安装软件包 系统审计
仓库管理 dnf repolist 列出所有启用的仓库 检查源配置
dnf repolist --verbose 显示仓库详细信息(URL、状态等) 源问题排查
sudo dnf config-manager --enable <repo> 启用指定仓库 添加新源
sudo dnf config-manager --disable <repo> 禁用指定仓库 临时移除源
缓存管理 sudo dnf clean all 清除所有缓存(元数据和软件包) 解决缓存问题
sudo dnf makecache 重建缓存 源更新后
sudo dnf clean packages 仅删除已下载的.rpm文件 释放磁盘空间
事务与历史 dnf history 查看所有操作记录 审计系统变更
dnf history info 5 查看第5条记录的详细变更 问题分析
sudo dnf history undo 5 撤销第5条操作 系统回滚
模块化功能 dnf module list 列出可用的模块 查看多版本软件
sudo dnf module enable php:8.0 启用特定模块 使用指定版本
sudo dnf module install php 安装模块化软件 安装多版本软件
高级功能 dnf download <package> --resolve 下载软件包及其依赖(不安装) 离线安装准备
sudo dnf install ./*.rpm 安装本地下载的RPM包 离线安装
sudo dnf repair 尝试自动修复系统 解决软件包损坏问题

4.3 配置dnf/yum源

备份原先的repo文件。

[root@localhost ~]# cd /etc/yum.repos.d/

[root@localhost yum.repos.d]# ls
centos-addons.repo  centos.repo

[root@localhost yum.repos.d]# mkdir bak

[root@localhost yum.repos.d]# mv *.repo bak/

[root@localhost yum.repos.d]# ls
bak

配置阿里云的yum源:ali-centos.repo 。

[root@localhost yum.repos.d]# cat ali-centos.repo 
[baseos]
name=CentOS Stream $releasever - BaseOS
baseurl=https://mirrors.aliyun.com/centos-stream/$stream/BaseOS/$basearch/os/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
countme=1
enabled=1

[baseos-debug]
name=CentOS Stream $releasever - BaseOS - Debug
baseurl=https://mirrors.aliyun.com/centos-stream/$stream/BaseOS/$basearch/debug/tree/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
enabled=0

[baseos-source]
name=CentOS Stream $releasever - BaseOS - Source
baseurl=https://mirrors.aliyun.com/centos-stream/$stream/BaseOS/source/tree/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
enabled=0

[appstream]
name=CentOS Stream $releasever - AppStream
baseurl=https://mirrors.aliyun.com/centos-stream/$stream/AppStream/$basearch/os/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
countme=1
enabled=1

[appstream-debug]
name=CentOS Stream $releasever - AppStream - Debug
baseurl=https://mirrors.aliyun.com/centos-stream/$stream/AppStream/$basearch/debug/tree/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
enabled=0

[appstream-source]
name=CentOS Stream $releasever - AppStream - Source
baseurl=https://mirrors.aliyun.com/centos-stream/$stream/AppStream/$basearch/debug/tree/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
enabled=0

[crb]
name=CentOS Stream $releasever - CRB
baseurl=https://mirrors.aliyun.com/centos-stream/$stream/CRB/$basearch/os/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
countme=1
enabled=1

[crb-debug]
name=CentOS Stream $releasever - CRB - Debug
baseurl=https://mirrors.aliyun.com/centos-stream/$stream/CRB/$basearch/debug/tree/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
enabled=0

[crb-source]
name=CentOS Stream $releasever - CRB - Source
baseurl=https://mirrors.aliyun.com/centos-stream/$stream/CRB/source/tree/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
enabled=0

配置阿里云的yum源:ali-addons.repo 。

[root@localhost yum.repos.d]# cat ali-addons.repo 
[highavailability]
name=CentOS Stream $releasever - HighAvailability
baseurl=http://mirrors.aliyun.com/centos-stream/$stream/HighAvailability/$basearch/os/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
countme=1
enabled=0

[highavailability-debug]
name=CentOS Stream $releasever - HighAvailability - Debug
baseurl=http://mirrors.aliyun.com/centos-stream/$stream/HighAvailability/$basearch/debug/tree/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
enabled=0

[highavailability-source]
name=CentOS Stream $releasever - HighAvailability - Source
baseurl=http://mirrors.aliyun.com/centos-stream/$stream/HighAvailability/source/tree/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
enabled=0

[nfv]
name=CentOS Stream $releasever - NFV
baseurl=http://mirrors.aliyun.com/centos-stream/$stream/NFV/$basearch/os/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
countme=1
enabled=0

[nfv-debug]
name=CentOS Stream $releasever - NFV - Debug
baseurl=http://mirrors.aliyun.com/centos-stream/$stream/NFV/$basearch/debug/tree/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
enabled=0

[nfv-source]
name=CentOS Stream $releasever - NFV - Source
baseurl=http://mirrors.aliyun.com/centos-stream/$stream/NFV/source/tree/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
enabled=0

[rt]
name=CentOS Stream $releasever - RT
baseurl=http://mirrors.aliyun.com/centos-stream/$stream/RT/$basearch/os/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
countme=1
enabled=0

[rt-debug]
name=CentOS Stream $releasever - RT - Debug
baseurl=http://mirrors.aliyun.com/centos-stream/$stream/RT/$basearch/debug/tree/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
enabled=0

[rt-source]
name=CentOS Stream $releasever - RT - Source
baseurl=http://mirrors.aliyun.com/centos-stream/$stream/RT/source/tree/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
enabled=0

[resilientstorage]
name=CentOS Stream $releasever - ResilientStorage
baseurl=http://mirrors.aliyun.com/centos-stream/$stream/ResilientStorage/$basearch/os/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
countme=1
enabled=0

[resilientstorage-debug]
name=CentOS Stream $releasever - ResilientStorage - Debug
baseurl=http://mirrors.aliyun.com/centos-stream/$stream/ResilientStorage/$basearch/debug/tree/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
enabled=0

[resilientstorage-source]
name=CentOS Stream $releasever - ResilientStorage - Source
baseurl=http://mirrors.aliyun.com/centos-stream/$stream/ResilientStorage/source/tree/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
enabled=0

[extras-common]
name=CentOS Stream $releasever - Extras packages
baseurl=http://mirrors.aliyun.com/centos-stream/SIGs/$stream/extras/$basearch/extras-common/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Extras-SHA512
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
countme=1
enabled=1

[extras-common-source]
name=CentOS Stream $releasever - Extras packages - Source
baseurl=http://mirrors.aliyun.com/centos-stream/SIGs/$stream/extras/source/extras-common/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Extras-SHA512
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
enabled=0

安装EPEL 仓库(提供额外软件包)。

[root@localhost yum.repos.d]# dnf install epel-release

[root@localhost yum.repos.d]# pwd
/etc/yum.repos.d
[root@localhost yum.repos.d]# ls
ali-addons.repo  ali-centos.repo  bak  epel.repo  epel-testing.repo

清除所有缓存(元数据和软件包)。

[root@localhost ~]# dnf clean all

重建缓存以及更新所有已安装的软件包

[root@localhost ~]# dnf makecache
[root@localhost ~]# dnf update

自此yum源配置完毕。


文章来源:https://www.cnblogs.com/renshengdezheli/p/19841291
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!

标签:

相关文章

本站推荐

标签云