Webtatic 有两个 yum 存储库,一个用于 CentOS 5,一个用于 6。两者都可以在 CentOS 6 上运行,但我在从一个切换到另一个时遇到了问题。
(您应该对我为什么要切换感兴趣:生产服务器当前使用前者,但需要只有后者提供的软件包。)
安装一个存储库提供了一个名为的包php54w
:
rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
yum list php54w
(输出:php54w.x86_64 5.4.15-1.w6 webtatic
)
在我认为删除了存储库之后,包就消失了:
yum remove webtatic-release-6-3.noarch
yum clean all
yum list php54w
(输出:Error: No matching Packages to list
)
现在可以安装其他存储库:
rpm -Uvh http://mirror.webtatic.com/yum/centos/5/latest.rpm
但是现在,这个存储库提供了相同的php54w
包,尽管该包并不存在于这个存储库中:
yum list --enablerepo=webtatic list php54w
(输出:php54w.x86_64 5.4.15-1.w6 webtatic
)
在我看来,之前安装的存储库似乎仍在使用。我如何才能真正删除之前安装的存储库?
(感谢,迈克尔·汉普顿)在上述测试中没有安装任何 PHP 包。
这两个存储库具有相同的名称,因为它们都存在于 中/etc/yum.repos.d/webtatic.repo
。
答案1
Yum 检查了 /etc/yum.repos.d/webtatic.repo 以查看它是否已更改,但当第二个 rpm -Uvh 命令安装此文件时,这种情况似乎没有发生,并且 yum clean all 不会阻止此操作
Webtatic EL6:
-rw-r--r-- 1 root root 805 May 16 22:46 /etc/yum.repos.d/webtatic.repo
Webtatic 5:
-rw-r--r-- 1 root root 834 May 16 22:41 /etc/yum.repos.d/webtatic.repo
这可能是因为 Webtatic 5 包比 6 更早构建。
我可以在构建过程中添加一些可以更新时间戳的内容,但是从来没有计划让 Webtatic 5 支持 CentOS 6,因此如果您尝试在该版本上使用它,可能会得到其他意外结果。
目前的解决方法是强制 Yum 发现文件已更改:
touch /etc/yum.repos.d/webtatic.repo