在 centos 上更新 ss 实用程序

在 centos 上更新 ss 实用程序

我的centos版本是:

2.6.32-131.17.1.el6.x86_64 #1 SMP 10 月 6 日星期四 19:24:09 BST 2011 x86_64 x86_64 x86_64 GNU/Linux

还有我的ss版本:

ss --version
ss utility, iproute2-ss091226

我需要更新到 Ubuntu 机器上的版本:

ss --version
ss utility, iproute2-ss131122

如何更新版本(已尝试yum install ss)?

答案1

ss不在名为 的包中ss。如果你运行:

yum provides */ss

您将看到提供该实用程序的软件包列表ss。快速阅读本文将显示提供的包ssiproute.

您可能会使用诸如http://rpmfind.net/linux/RPM/index.html搜索iptroute并安装更高版本。

这种方法的问题是,以后的软件包将具有您在 CentOS 6 上未安装的依赖项。因此,您也需要安装这些依赖项。一段时间后,您最终会得到一个杂乱无章的系统,其中包含各种版本的实用程序和库,这些实用程序和库尚未经过彻底的相互测试,这只会给您带来很大的痛苦,尤其是当您稍后尝试时yum update

另一种方法是自己编译。互联网上有各种可用资源。您可以编译并安装,也可以编译并创建 RPM,然后将其安装在系统上。但是,如果您以前没有编译过,则编译将需要在系统上安装许多实用程序和库。

另一种选择是使用Copr 构建系统为您远程编译。您创建一个src.rpmforiptables并将其发送到coprfor 构建。创建一个src.rpm相对容易。更简单的是,src.rpm从其他系统(例如 CentOS 7 或 Feodra 20)编辑已创建的文件。有关信息src.rpm可从费多拉维基,Fedora 文档CentOS站点当然,还有谷歌。

编辑.spec中的文件src.rpm以反映您要安装的软件包的版本,请记住软件包的某个版本(例如iproute)很可能需要安装其他库的某个版本。在这种情况下,您最终会遇到与rpm从上面的 RPM Find.net 下载的情况相同的情况。但是,使用此方法可以为您提供更多的控制权。

答案2

iproutess由官方 RHEL rpm 存储库中的软件包提供。 Red Hat 目前提供的最新版本是 2.6.32,这就是您正在使用的版本。您可以在 git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git 找到最新的源代码。有更多信息可用这里。您可能必须自己编译它。

相关内容