今天bigfatcat问我
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/networking/profiles/default/ifcfg-eth0
/etc/sysconfig/networking/devices/ifcfg-eth0
这三个文件,到底哪个是网络参数的配置文件。这可把我问住了。于是看了一下 /etc/init.d/network 脚本,发现是第一个。那另外两个是干什么的呢?
过了一会,还是bigfatcat,发消息说他们同事在ifcfg-lo:3文件里写下了如此参数:
DEVICE=lo:2
IPADDR=58.68.203.4
文件名,和该文件内的参数,都指示同一个意思,结果就造成了语义上的混乱。这个是不符合Unix哲学的正交规则的
由此看来,Redhat实在是太不规范了。希望大家以后不要用它。
前者在文档里其实是有说明的
http://www.centos.org/docs/5/html/5.2/Deployment_Guide/s1-sysconfig-etcsysconf-dir.html
可惜现在学习Redhat的人,大都是刚入门的新手,手头能找到的资料和人员也大都是Redhat的,而这些人往往忽视系统学习,造成正规的知识无法传播。唉……
后来偶尔发现,如果在多个ifcfg中指定同一个DEVICE,确实可以把多个IP地址配置到这个接口上,但ifconfig只能发现一个。因为ifup脚本是调用ip addr命令来配置地址的,和ifconfig的方式不同