运行 yum update 时 HTTPD 和 HTTPD24 文件冲突导致更新失败

运行 yum update 时 HTTPD 和 HTTPD24 文件冲突导致更新失败

类似的冲突问题

遇到冲突问题的文件几乎都与上面链接中的文件相同。但是,我并不是像链接中发布问题的人一样尝试安装 php56w...等,我只是尝试yum update

我想知道如何解决冲突来完成我的目标yum update

Transaction Summary
===============================================================================================================================================================================================================================================================================================================================
Install      31 Package(s)
Upgrade     334 Package(s)

Total size: 282 M
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test


Transaction Check Error:
  file /opt/rh/httpd24/root/etc/httpd/conf.d/README conflicts between attempted installs of httpd24-httpd-2.4.34-18.el6.x86_64 and httpd-2.2.15-69.el6.centos.x86_64
  file /opt/rh/httpd24/root/etc/httpd/conf/magic conflicts between attempted installs of httpd24-httpd-2.4.34-18.el6.x86_64 and httpd-2.2.15-69.el6.centos.x86_64
  file /opt/rh/httpd24/root/etc/httpd/logs conflicts between attempted installs of httpd24-httpd-2.4.34-18.el6.x86_64 and httpd-2.2.15-69.el6.centos.x86_64
  file /opt/rh/httpd24/root/etc/httpd/modules conflicts between attempted installs of httpd24-httpd-2.4.34-18.el6.x86_64 and httpd-2.2.15-69.el6.centos.x86_64
  file /opt/rh/httpd24/root/etc/httpd/run conflicts between attempted installs of httpd24-httpd-2.4.34-18.el6.x86_64 and httpd-2.2.15-69.el6.centos.x86_64

Error Summary

(背景):

最初httpd安装过,但出于安全原因,httpd24后来才安装。(最初安装时我不在场)。目前,我不知道冲突背后的原因。

yum在发生这种情况之前,它也被损坏的存储库阻止。我尝试使用参数--disablerepo=<nameofrepo>来修复此问题,但由于某种原因,它不起作用,我直接在存储库中将其更改为禁用enable=1enable=0建议这里


我想了解更多,结果发现但 RH 只允许订阅者阅读该文章。

解决此问题的唯一方法是删除或替换上述文件这里

尽管第一个答案的前几行说明:

在大多数情况下,替换来自其他 RPM 包的文件是个坏主意,我强烈建议您不要尝试这样做。也就是说,请自行承担风险。

如果可能的话,我想解决冲突而不是使用破坏性的方法。

答案1

嗯,我确实可以访问该文章仅供订阅者阅读,而且它给出的解决方案不太明显。

那里描述的问题是,在某个时候/etc/httpd建立了到 的符号链接/opt/rh/httpd24/root/etc/httpd。这导致将其配置存储在 中的旧 httpd 包/etc/httpd反而尝试覆盖新包创建的文件。

要验证这是否是您的问题,请查看是否/etc/httpd是符号链接:

[root@localhost ~]# ls -ld /etc/httpd

解决方案很简单,就是删除符号链接。

[root@localhost ~]# rm -f /etc/httpd

注意:您的系统将在不到两个月内停止支持。您应该尽快升级到当前发行版(例如 CentOS 8)。

相关内容