对于安装了 Infiniband 卡的服务器,当我使用该ifconfig
命令时,出现以下警告:
Ifconfig uses the ioctl access method to get the full address
information, which limits hardware addresses to 8 bytes.
Because Infiniband address has 20 bytes, only the first 8 bytes
are displayed correctly.
Ifconfig is obsolete! For replacement check ip.
我是否应该停止使用ifconfig
? 它是否已被弃用,取而代之的是 命令ip
? 或者它会在不久的将来更新?
笔记:这个问题和答案是关于GNU/Linux“主要”发行版。不应假设该信息适用于所有发行版,尤其是其他操作系统。
答案1
ifconfig 与 ip
该命令/bin/ip
已经存在一段时间了。但人们仍在使用旧命令/sbin/ifconfig
。让我们明确一点:ifconfig
它不会很快消失,但它的新版本功能ip
更强大,最终将取代它。
的手册页ip
乍一看可能令人生畏,但一旦您熟悉了命令语法,它就很容易阅读了。本页不会介绍 ip 的新功能。它只是并排比较了 和 ,ifconfig
以便ip
快速了解命令语法。
显示网络设备和配置
ifconfig
ip addr show
ip link show
启用网络接口
ifconfig eth0 up
ip link set eth0 up
网络接口以类似的方式禁用:
ifconfig eth0 down
ip link set eth0 down
答案2
是的,ifconfig
已弃用,改用 iproute2(ip
命令)在 Linux 上。
同样地arp
,route
和netstat
命令也已被弃用。
然而,iproute2 是 Linux 特有的,而其他一些 Unix 则使用ifconfig
,因此如果您要使用其他 Unix,了解/记住它的工作原理可能会有所帮助...
为了学习“新方法”,我建议你看看以下 3 个链接:
- iproute2:ifconfig 之后的生活(基础, 从普普克的答案),
- 已弃用的 Linux 网络命令及其替代命令(细节),
- 为什么 ifconfig 很糟糕(以及如何
ip
使用)。
根据最后一个链接,ifconfig
20多年来一直未得到维护:
除了 Debian 积累的大量补丁之外,net-tools 软件包在 2001 年 4 月 15 日左右发布的 1.60 版之后没有看到任何上游开发。
答案3
ifconfig
已经被弃用很多年了,是时候更换了,特别是像你这样的情况下。
答案4
ip
已经替代了ifconfig
一段时间,可能在某个时候ifconfig
会更新,但我不会等待它并学习如何使用它ip
。它支持所有 Linux 发行版