在 CentOS 里,“配置持久化”最常见的是指 网络、路由、防火墙、挂载、内核参数等配置在重启后仍然生效。下面按常见场景给你一份实用速查表(CentOS 7/8/Stream 通用,部分命令在 CentOS 9 仍然适用)。
nmcli connection show
nmcli connection modify eth0 \
ipv4.addresses 192.168.1.100/24 \
ipv4.gateway 192.168.1.1 \
ipv4.dns 8.8.8.8 \
ipv4.method manual
nmcli connection modify eth0 connection.autoconnect yes
nmcli connection up eth0
✅ 配置保存位置:
/etc/sysconfig/network-scripts/ifcfg-eth0
nmcli device status
nmcli connection modify eth0 ipv4.addresses 192.168.1.100/24
ip route add 10.0.0.0/8 via 192.168.1.1
vi /etc/sysconfig/network-scripts/route-eth0
内容示例:
10.0.0.0/8 via 192.168.1.1
重启网络:
systemctl restart NetworkManager
blkid
/etc/fstabvi /etc/fstab
示例:
UUID=xxxx-xxxx /data ext4 defaults 0 0
mount -a
⚠️ 错误配置可能导致系统无法启动
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload
✅ --permanent 就是持久化
iptables-save > /etc/sysconfig/iptables
开机自动恢复:
systemctl enable iptables
sysctl -w net.ipv4.ip_forward=1
vi /etc/sysctl.d/99-custom.conf
内容:
net.ipv4.ip_forward = 1
生效:
sysctl --system
systemctl enable nginx
systemctl enable docker
查看:
systemctl list-unit-files | grep enabled
vi ~/.bashrc
vi /etc/profile.d/myenv.sh
示例:
export JAVA_HOME=/usr/local/java
vi /etc/selinux/config
SELINUX=enforcing
⚠️ 修改后需重启
journalctl -xe
systemctl status NetworkManager
cat /etc/fstab
✅ CentOS 持久化 = 写配置文件 + 启用服务/重载,而不是只执行命令
如果你指的是 Docker / Kubernetes / MySQL / Redis / 磁盘 / 时间 / 日志 的持久化,可以告诉我具体场景,我可以给你更精确的配置示例。