httpd-devel 在 CentOS 6.3 上需要過時版本的 glibc-common
httpd-devel 在 CentOS 6.3 x86_64 和 Apache/2.2.15 上需要一個過時的 glibc-common 版本。它需要 2.12-1.80.el6 而我安裝了 2.12-1.80.el6_3.3.x86_64(通過 CentOS @update repo)
這是我執行“yum install httpd-devel.x86_64”時的錯誤
錯誤:包:glibc-2.12-1.80.el6.i686(基礎):
Requires: glibc-common = 2.12-1.80.el6 Installed: glibc-common-2.12-1.80.el6_3.3.x86_64 (@updates) glibc-common = 2.12-1.80.el6_3.3 Available: glibc-common-2.12-1.80.el6.x86_64 (base) glibc-common = 2.12-1.80.el6
使用“yum install httpd-devel.x86_64 –skip-broken”,我得到:
由於依賴問題而跳過的包:
> apr-1.3.9-3.el6_1.2.i686 from base apr-devel-1.3.9-3.el6_1.2.x86_64 > from base apr-util-devel-1.3.9-3.el6_0.1.x86_64 from base > cyrus-sasl-devel-2.1.23-13.el6.x86_64 from base > db4-cxx-4.7.25-17.el6.x86_64 from base db4-devel-4.7.25-17.el6.x86_64 > from base glibc-2.12-1.80.el6.i686 from base > 1:httpd-devel-2.2.15-15.el6.vm.1.x86_64 from virtualmin > libuuid-2.17.2-12.7.el6.i686 from base > nss-softokn-freebl-3.12.9-11.el6.i686 from base > openldap-devel-2.4.23-26.el6.x86_64 from base
最重要的是,我無法安裝 httpd-devel。
這可能是一個優先問題嗎?
priority = 1 [asl-3.0] priority = 1 [base] priority = 1 [virtualmin] priority = 1 [virtualmin-universal] priority = 50 [epel] repo id | repo name | status C6.0-base | CentOS-6.0 - Base | disabled C6.0-centosplus | CentOS-6.0 - CentOSPlus | disabled C6.0-contrib | CentOS-6.0 - Contrib | disabled C6.0-extras | CentOS-6.0 - Extras | disabled C6.0-updates | CentOS-6.0 - Updates | disabled C6.1-base | CentOS-6.1 - Base | disabled C6.1-centosplus | CentOS-6.1 - CentOSPlus | disabled C6.1-contrib | CentOS-6.1 - Contrib | disabled C6.1-extras | CentOS-6.1 - Extras | disabled C6.1-updates | CentOS-6.1 - Updates | disabled C6.2-base | CentOS-6.2 - Base | disabled C6.2-centosplus | CentOS-6.2 - CentOSPlus | disabled C6.2-contrib | CentOS-6.2 - Contrib | disabled C6.2-extras | CentOS-6.2 - Extras | disabled C6.2-updates | CentOS-6.2 - Updates | disabled asl-3.0 | Atomicorp - - Atomic Secured Linux 3.0 | enabled: | 623 asl-3.0-testing | Atomicorp - - Atomic Secured Linux 3.0 (TESTING) | disabled base | CentOS-6 - Base | enabled: | 6,346 c6-media | CentOS-6 - Media | disabled centosplus | CentOS-6 - Plus | disabled contrib | CentOS-6 - Contrib | disabled debug | CentOS-6 - Debuginfo | disabled epel | Extra Packages for Enterprise Linux 6 - x86_64 | enabled: 7,627+125 epel-debuginfo | Extra Packages for Enterprise Linux 6 - x86_64 - Debug | disabled epel-source | Extra Packages for Enterprise Linux 6 - x86_64 - Source | disabled epel-testing | Extra Packages for Enterprise Linux 6 - Testing - x86_64 | disabled epel-testing-debuginfo | Extra Packages for Enterprise Linux 6 - Testing - x86_64 - Debug | disabled epel-testing-source | Extra Packages for Enterprise Linux 6 - Testing - x86_64 - Source | disabled extras | CentOS-6 - Extras | enabled: | 4 updates | CentOS-6 - Updates | enabled: | 0+523 virtualmin | RHEL/CentOS/Scientific 6 - x86_64 - Virtualmin | enabled: | 73 virtualmin-universal | Virtualmin Distribution Neutral Packages | enabled: | 187+1
阿帕奇來自:
rpm -qi httpd Name : httpd Relocations: (not relocatable) Version : 2.2.15 Vendor: (none) Release : 15.el6.vm.1 Build Date: Thu 17 May 2012 03:35:08 AM UTC Install Date: Thu 28 Jun 2012 05:13:47 AM UTC Build Host: srv1.cloud.virtualmin.com Group : System Environment/Daemons Source RPM: httpd-2.2.15-15.el6.vm.1.src.rpm Size : 3067984 License: ASL 2.0 Signature : DSA/SHA1, Thu 17 May 2012 03:09:42 PM UTC, Key ID e8dd3fa0a0bdbcf9 URL : http://httpd.apache.org/ Summary : Apache HTTP Server
禁用優先級允許“yum install httpd-devel”工作。
PS:我現在有優先事項
priority = 10 [asl-3.0] priority = 10 [asl-3.0-testing] priority = 20 [virtualmin] priority = 20 [virtualmin-universal] priority = 30 [base] priority = 30 [updates] priority = 40 [extras] priority = 50 [epel]
這看起來可以嗎?
恭喜:你遇到了 Dependeny Hell
$$ tm $$. 好消息:總是自己造成的;沒有例外。 Virtualmin - 在離開 SCONJ 之前,我曾與 Jamie 合作過一個項目;這不像他 - 提供的 httpd-devel 違反了 Fedora 指南規定的命名約定,該指南反過來也規範了圍繞 CentOS 的企業 linux 打包。這不應該發生 —— 像 Virtualmin 這樣的第三方儲存庫不應該重載上游傳遞的軟體包的名稱(如 CentOS 本身中的那些。
所以,簡而言之,你使用了一個糟糕的回購。不要難過:他們中的很多人都有這個問題,沒有辦法知道。Evan Dag 曾經在他的 RPM 中這樣做。
我從來不需要使用優先級設置,而且我從 98 年左右就開始使用 RedHat/derivs。我無法評論您的解決方案是否有效,而且整個事情似乎是解決 regs 現在避免的問題的黑客行為。
禁用 virtualmin 儲存庫。
sed -i '/^enabled/r\enabled=0' /etc/yum.repos.d/name-of-virtualmin.repo-file
僅在命令行上為一次性的事情啟用它,並在他們修復它之前了解它會導致依賴性問題。
yum --enablerepo virtualmin [command]
Jamie 是一個非常聰明和有能力的開發人員,他的產品和 repos 應該會更好。這只能是短期的事情。