我经常发现,在 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 搜索站点可以帮助您找到较旧的软件包:
和
答案2
CentOS 7 中的程序fortune
以不同的软件包名称提供,fortune-mod
因此(启用 EPEL repo):
yum install fortune-mod
我不明白为什么将其重命名为-mod
。但是为了在不同的 CentOS 版本中安装它的方式保持一致,您实际上可以使用二进制名称代替软件包名称:
yum install /usr/bin/fortune
在 CentOS 8 中它不可用。