Ask*_*arn 3 linux networking centos
我试图理解为什么我的 CentOS 6.4 服务器上有 3 个 ifcfg-eth0,它们是指向同一个文件的硬链接。
有谁知道为什么?
$ ll /etc/sysconfig/network-scripts/ifcfg-eth0
-rw-r--r--. **3** root root 166 Jul 31 2012 /etc/sysconfig/network-scripts/ifcfg-eth0
$ find / -type f -name ifcfg-eth0 -exec openssl dgst -md5 {} \;
MD5(/etc/sysconfig/network-scripts/ifcfg-eth0)= **c5cd670606e1feb78752a9644f021c1f**
MD5(/etc/sysconfig/networking/devices/ifcfg-eth0)= **c5cd670606e1feb78752a9644f021c1f**
MD5(/etc/sysconfig/networking/profiles/default/ifcfg-eth0)= **c5cd670606e1feb78752a9644f021c1f**
Run Code Online (Sandbox Code Playgroud)
这些文件是 2 个 RPM 包的残余。如果您运行以下命令,您可以看到哪些 RPM 负责这些目录:
# centos 6.4
$ for i in /etc/sysconfig/networking /etc/sysconfig/network-scripts; do echo "==> $i"; rpm -qf $i;done
==> /etc/sysconfig/networking
system-config-network-tui-1.6.0.el6.2-1.el6.noarch
initscripts-9.03.31-2.el6.centos.1.x86_64
==> /etc/sysconfig/network-scripts
initscripts-9.03.31-2.el6.centos.1.x86_64
Run Code Online (Sandbox Code Playgroud)
2 个 RPM 已经很旧了,我有一个古老的 Fedora Core 3 系统,该系统将这 2 个目录归为initscripts
,因此它看起来是原始所有者。
# fedora core 3
$ rpm -qf /etc/sysconfig/networking /etc/sysconfig/network-scripts/
initscripts-7.93.7-1
initscripts-7.93.7-1
Run Code Online (Sandbox Code Playgroud)
在某些时候,工具的配置文件也system-config-network
扩展到这些目录中:
# centos 6.4
$ rpm -ql system-config-network-tui-1.6.0.el6.2-1.el6.noarch|grep "^/etc/.*/network.*"
/etc/sysconfig/networking
/etc/sysconfig/networking/devices
/etc/sysconfig/networking/profiles
/etc/sysconfig/networking/profiles/default
Run Code Online (Sandbox Code Playgroud)
顺便提一下,GUI 也同样令人困惑,但实际上只有一个可以检测它是在 X 环境中还是在终端中调用,并为给定环境显示适当的“GUI”。
$ more /usr/sbin/system-config-network
#!/bin/sh
if [ -n "$DISPLAY" -a -f /usr/sbin/system-config-network-gui ]; then
exec /usr/sbin/system-config-network-gui "$@"
else
exec /usr/sbin/system-config-network-tui "$@"
Run Code Online (Sandbox Code Playgroud)
系统配置网络GUI
系统配置网络图
注意: GUI 的 tui 版本和 gui 版本都有“配置文件”和“设备”的概念,这些信息保存在目录中/etc/sysconfig/networking/*
。
所以我们剩下的是一堆令人困惑的乐趣。以下服务和脚本依赖于ifcfg-*
文件,这些文件对于 Red Hat 机器上的网络管理非常关键:
/etc/init.d/network
/etc/sysconfig/network-scripts/ifup
/etc/sysconfig/network-scripts/ifdown
上面提到的 GUI 确实是古董,它们仍然可以工作,但一般来说,如果您不使用 NetworkManager,从长远来看,通过管理/etc/sysconfig/network-scripts/ifcfg-*
.
除非您进行基本类型的网络配置,否则在设置网络时您可能无法通过 tui/gui 访问某些可用的特性/功能,因此实际上NetworkManager
或ifcfg-*
文件是最佳选择。
tui/gui 工具最终只是/etc/sysconfig/network-scripts/ifcfg-*
通过您最初询问的链接将数据写入,因此您不妨直接编辑文件。
归档时间: |
|
查看次数: |
7244 次 |
最近记录: |