centos系统上执行ifconfig命令无输出排查方法
【故障场景】
1、网卡配置文件无异常(/etc/sysconfig/network-scripts/ifcfg-ens33)
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=41fb8e01-c978-4ec0-ac52-0f7c72618943
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.1.202
NETMASK=255.255.255.9
GATEWAY=192.168.1.1
DNS1=8.8.8.8
2、使用ip a命令能够查看到当前主机的ip信息
~]# 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
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:60:a0:8d brd ff:ff:ff:ff:ff:ff
inet 192.168.1.204/24 brd 192.168.1.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet6 fe80::20a8:badc:e155:c3e2/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3、执行命令ifconfig无输出
~]# ifconfig
~]#
【排查思路】
1、检查环境变量,查看变量中是否有/usr/sbin
~]# echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/root/bin
没有则添加
export PATH=$PATH:/usr/sbin
2、检查命令对应文件(/usr/sbin/ifconfig )是否异常
~]# file /usr/sbin/ifconfig
/usr/sbin/ifconfig: empty
【解决方案】
1、替换/sbin/ifconfig文件
从正常的主机上copy一份就好了,再次不做掩饰
2、重新安装net-tools程序包(ifconfig命令是通过该程序生成的)
查看ifconfig命令对应的程序包
~]# yum provides ifconfig
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* extras: mirrors.163.com
* updates: mirrors.163.com
net-tools-2.0-0.25.20131004git.el7.x86_64 : Basic networking tools
源 :@base
匹配来源:
文件名 :/usr/sbin/ifconfig
通过命令可以看出ifconfig命令对应的程序包为net-tools,对应的文件为:/usr/sbin/ifconfig
卸载net-tools程序包
~]# yum remove -y net-tools
已加载插件:fastestmirror
正在解决依赖关系
--> 正在检查事务
---> 软件包 net-tools.x86_64.0.2.0-0.25.20131004git.el7 将被 删除
--> 解决依赖关系完成
依赖关系解决
=============================================================================================================================================================================
Package 架构 版本 源 大小
=============================================================================================================================================================================
正在删除:
net-tools x86_64 2.0-0.25.20131004git.el7 @/ 917 k
事务概要
=============================================================================================================================================================================
移除 1 软件包
安装大小:917 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
警告:RPM 数据库已被非 yum 程序修改。
正在删除 : net-tools-2.0-0.25.20131004git.el7.x86_64 1/1
验证中 : net-tools-2.0-0.25.20131004git.el7.x86_64 1/1
删除:
net-tools.x86_64 0:2.0-0.25.20131004git.el7
完毕!
重新安装程序包net-tools
~]# yum -y install net-tools
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* extras: mirrors.163.com
* updates: mirrors.163.com
base | 3.6 kB 00:00:00
extras | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
正在解决依赖关系
--> 正在检查事务
---> 软件包 net-tools.x86_64.0.2.0-0.25.20131004git.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
=============================================================================================================================================================================
Package 架构 版本 源 大小
=============================================================================================================================================================================
正在安装:
net-tools x86_64 2.0-0.25.20131004git.el7 base 306 k
事务概要
=============================================================================================================================================================================
安装 1 软件包
总下载量:306 k
安装大小:917 k
Downloading packages:
net-tools-2.0-0.25.20131004git.el7.x86_64.rpm | 306 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : net-tools-2.0-0.25.20131004git.el7.x86_64 1/1
验证中 : net-tools-2.0-0.25.20131004git.el7.x86_64 1/1
已安装:
net-tools.x86_64 0:2.0-0.25.20131004git.el7
完毕!
检查ifconfig命令
~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.203 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::19ae:29dd:2e76:cc2 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:50:33:21 txqueuelen 1000 (Ethernet)
RX packets 941 bytes 409447 (399.8 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 556 bytes 119456 (116.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0