我对linux中的两个包有点困惑。
- 我应该使用哪一个?
iproute2
过时了吗iproute
?- 它们有不同的 Linux 内核依赖性吗?
- 为什么要更改包名称,而不是发布新版本?
答案1
我认为可能曾经有过第一个主要版本iproute
(为了清楚起见,“iproute1”),早在 2001 年左右。但它的寿命非常短暂,现在几乎被遗忘并完全过时了。
2
该数字被添加到上游源的名称中这一事实表明,这iproute2
可能是对旧“iproute1”的主要/完全重写,并且可能在某些方面与其不兼容。开发人员还可能在此时从零重新开始实际版本编号,如果新版本的名称不包含2
.
曾经包含“iproute1”的发行版自然会调用这个重写版本,iproute2
因为这是上游源建议的名称。根据每个发行版的包命名策略,完全跳过“iproute1”的其他发行版可以将这些iproute2
工具打包为iproute
或。iproute2
本质上,这是在希望包具有简单名称和尽可能遵循上游源建立的名称之间的权衡。每个发行版都可以做出自己的选择。
目前已知的另一个 Linux 网络工具包net-tools
也称为 NET-3。在 1.2.xx 内核系列前后,使用了其前身 NET-2。在某些时候(也许是 1.xx 和 2.0.x 内核之间的过渡?),针对各个主要内核版本使用正确的工具集非常重要。
因此从某种意义上说,将主要版本号包含在网络工具包的名称中是有先例的。
答案2
看来这两个名称都指的是同一个包。
在 Centos / RHEL / Fedora 上,该软件包被称为iproute
并且其主页列出为http://kernel.org/pub/linux/utils/net/iproute2/
OpenSUSE 有一个名为的包iproute2
,其主页列出为https://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2但源代码在同一个地方。
是 Debian / Ubuntu iproute2
,它又来自https://wiki.linuxfoundation.org/networking/iproute2
所以,这是同一个包。
回答最后一个问题,在 Ubuntu 上这个iproute
名字至少自 14.04 LTS 起已过时(“iproute2 的过渡虚拟包”)。四年后放弃过渡名称并非闻所未闻。在 18.04 LTS 中,它仍然标记为“Replaces: iproute”。