对于一些常见的命令安装,其实非常的简单,但是大家的疑惑是找不到安装包的包名,而ifconfig命令是一个过时的命令,已经很长时间没有维护了,在centos7以后最小系统安装,是没有ifconfig命令的,下面说下怎么通过查询包名安装命令。
对于使用linux多年的人来说,已经习惯了使用ifconfig命令查看网络,但是它已经很多年没有维护了,可以使用yum软件仓库来安装ifconfig命令。[root@api ~]# ifconfig-bash: ifconfig: command not found
ifconfig不是一个单独的软件,直接使用yum install ifconfig是无法安装的,我们可以通过yum 过滤命令名称来找到命令的软件包,使用命令: yum provides */ifconfig
provides:查找提供给定值的包
*/ifconfig: *是通配符,匹配包含开头为任意字符包含 “/ifconfig”的名称
[root@api ~]# yum provides */ifconfig.....Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
net-tools-2.0-0.25.20131004git.el7.x86_64 : Basic networking tools
Repo : base
Matched from:
Filename : /sbin/ifconfig
从上图的查询结果可以看出ifconfig命令是在net-tools软件包中的,接下来就可以通过yum install net-tools 来安装ifconfig命令。
[root@api ~]# yum install net-tools对于linux如果缺少了某一个命令,而不知道软件包的命令,就可以通过yum的provides参数来查询具体的安装包名了。
比如安装:tee、dos2unix、tcpdump、nmap等等,下图查询到tee命令的安装包名称是coreutils,这时就可以使用yum install coreutils -y来安装tee命令。
技术延伸,虽然我们习惯了使用ifconfig命令,但是它已经过时了,那么有没有替代的命令呢?答案当然是有的,iproute2工具套件提供了许多增强行的命令,执行效率要高于net-tools套件的命令。
而且大多数的linux发行版已经默认预装了iproute2套件包,我们可以使用ip addr来代替ifconfig命令。
[root@api ~]# ip addr也可使用ip命令查看单独网卡信息:
[root@api ~]# ip addr show eth0
既然iproute2是一个套件同样提供多个增强型的命令从下图可以看出iproute2套件替代net-tools套件的对应命令,下面使用ss命令做一个执行效率对比。
比如:ss代替netstat命令
通过下图可以看出,netstat命令查看网络连接使用了0.014s。
而,ss命令使用0.005秒,在执行效率上高了接近3倍。
总之,使用yum provides 可以很容易的查询出命令的软件包名,这样就不会因为找不到命令而苦恼了。而iproute2套件提供了增强型的命令,大家可以尝试使用一下。
以上回答希望能够帮助到你,欢迎大家评论留言。