发现问题
新进装CentOS 7 minimal系统的时候,不小心发现ifconfig
命令不能使用。相当纳闷,这个最常用的命令咋说消失就88了呢?
原因
google一下,粗略的解释就是在linux7及其之后的服务器版本中系统默认不启用。简单的理由的就是这两个命令因为效率问题,已经过时。据说十年前就已经开始不建议使用了,在新系统(RHEL 7 , CentOS 7, Oracle Linux 7, and Scientific Linux 7)里面就默认不安装。
7. What have you done with ifconfig/netstat?
兴趣之余,搜了搜具体原因:
There's real reasons for Linux to replace ifconfig, netstat, et al
两个命令居然都分表面和深层原因,我也是醉了。比较感兴趣是效率问题,哪天有心情了扒一波代码,瞅瞅效率到底是怎么个低法,需要到默认不装的情况。(没错实际本帅是看不到那一天的到来的)
解决方案
替换方案--推荐
-
ip addr
、ip link
替换ifconfig
:
-
ss
替换netstat
重新安装--不推荐
安装 net-tools
即可
其中学到一招解决不知道使用的命令需要安装那个软件的方法:
## 查找提供ifconfig命令的软件
yum provides ifconfig
## 查找结果
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: centos.aol.in
* extras: centos.aol.in
* updates: centos.aol.in
net-tools-2.0-0.17.20131004git.el7.x86_64 : Basic networking tools ## 这行就是软件名(net-tools)+版本:关系
Repo : @base
Matched from:
Filename : /usr/sbin/ifconfig
## 安装net-tools就可以了
yum install net-tools
结论
从大众的角度出发,命令都用习惯了,比较难改,并不希望这个命令消失;
从程序员角度出发,不管是从效率,还是系统发展来说,都是可以接受的,建议消失;
从个人角度来说,偏向后者,如今资源如此紧张,从命令调整节省资源,再说服务器系统本省就是要最小化配置,最优化配置,你行你用桌面版;提高程序的运行效率,做一个高效的人儿;至于不能适应不希望命令消失,alias ifconfig=ip addr
即可;嘿嘿。