CentOS 与较旧的软件库兼容

CentOS 与较旧的软件库兼容

我经常发现,在 CentOS 中,我在互联网上找到对某个软件包的引用,页面上显示“此软件包在存储库中可用”,然后我执行 sudo yum install(因为我知道我有该存储库),结果却一片空白。这种情况我见过几十次(如果互联网页面上显示“此软件包在存储库中”,我知道这是真的只有 50% 的可能性)。

举一个简单的例子:fortune。你看到的每一个页面都说它在 EPEL 仓库中。好的,yum install repo epel-release,然后 sudo yum install fortune。没有这样的包存在!!!

我在这里发现该软件包似乎曾在 CentOS 6 EPEL 中,但之后就不存在了。https://pkgs.org/download/fortune

因此,在这种情况下:

• 如何将 CentOS 6 EPEL(可能还有 CentOS 7)存储库添加到我的 CentOS 8 安装中?以及

• 告诉我的系统如果包不在 8 中则仅使用 7,如果包不在 7 中则仅使用 6?

• 另外,RPMforge 是否仍是有效的存储库?我看到一个页面说它已失效/弃用,但人们是否仍在使用它?如果是,我该如何添加它(也许这对我处理许多软件包有帮助)?

答案1

首先,需要注意的是:Centos6 已经不再是主流,所以您应该至少升级到 Centos7。

要为特定发行版安装 epel,请访问 epel 网站,它会告诉您如何为您的特定发行版安装 epel:

https://fedoraproject.org/wiki/EPEL#Quickstart

不要尝试混合不同的版本,例如 Centos7 / Centos8,因为这会导致各种依赖错误。

如果您只是想找到特定发行版的特定软件包,有两个 rpm 搜索站点可以帮助您找到较旧的软件包:

https://www.rpmfind.net/

http://rpm.pbone.net/

答案2

CentOS 7 中的程序fortune以不同的软件包名称提供,fortune-mod因此(启用 EPEL repo):

yum install fortune-mod

我不明白为什么将其重命名为-mod。但是为了在不同的 CentOS 版本中安装它的方式保持一致,您实际上可以使用二进制名称代替软件包名称:

yum install /usr/bin/fortune

在 CentOS 8 中它不可用。

相关内容