这是Linux替换ifconfig,netstat和其他经典工具的真正原因

几位读者分享了一篇博客文章:Linux中一个持续存在的系统管理争议是,为了过时陈旧的ifconfig,netstat等旧的,跨Unix标准网络管理和诊断命令并将其替换为新的Linux特定的东西,如ss和ip套件。旧的系统管理员对此一般都没有耐心。他们认为这是Linux“不是在这里被发明”的态度的另一个迹象,它认为Linux已经从完善的Unix规范中脱颖而出,走向了自己的路。尽管我自己是一位老系统管理员,但我没有这种反应。相反,我认为Linux向这个方向发展可能是明智和诚实的。这有两个原因,一个表面和一个微妙。 表面问题是当前的netstat,ifconfig等代码运行效率低下。对于不同的人来说,netstat等通过读取/ proc中的各种文件来操作,并且这不是世界上最有效的事情(无论是在内核还是在netstat方面)。你在一个小的系统上不会注意到这一点,但这显然对大型系统有实际影响。像ss和ip这样的现代命令使用Linux的netlink套接字,效率更高。理论上netstat,ifconfig和company可以重写为使用netlink; 在实践中,这似乎并没有人使用,并且可能存在涉及不同群体的开发者的政治问题,他们在哪个方向上有不同的意见。 (Netstat和ifconfig是net-tools的一部分,而ss和ip是iproute2的一部分。) 但是,更深层次的问题是netstat,ifconfig和公司向用户展示的界面。在实践中,这些命令被两个用户之间夹住。一方面,工具提供的信息和他们提出的问题与内核本身如何联网密切相关,并且通常这些工具非常适合报告内核的实际情况。另一方面,用户期望netstat,ifconfig等具有其传统接口(在输出,命令行参数等方面)的能力; 例如,任何数量的脚本和工具都会将事物从ifconfig输出中剔除。由于Linux内核已经改变了它的网络连接方式,因此出现了诸如ifconfig之类的问题。他们的传统输出不一定是现实的准确表示。

  • 发表于:
  • 原文链接http://linux.slashdot.org/story/18/05/27/1448211/there-are-real-reasons-for-linux-to-replace-ifconfig-netstat-and-other-classic-tools
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券