我在配置新服务器时非常头疼。这是一个装有 Centos 6 和 Plesk 11 的 64 位 Linux 机器。这将是一个 Magento 服务器,所以我需要安装 mcrypt,默认情况下不可用。
我已经安装了 EPEL 6,在这里确认:
[root@ds-xxxxxxx ~]# yum repolist
Loaded plugins: fastestmirror, priorities
Loading mirror speeds from cached hostfile
* base: centos.mirroring.pulsant.co.uk
* epel: mirror.affix.me
* extras: centos.mirroring.pulsant.co.uk
* rpmforge: www.mirrorservice.org
* updates: centos.mirroring.pulsant.co.uk
repo id repo name status
base CentOS-6 - Base 6,346
epel Extra Packages for Enterprise Linux 6 - x86_64 7,070
extras CentOS-6 - Extras 4
rpmforge RHEL 6 - RPMforge.net - dag 4,392
updates CentOS-6 - Updates 165
repolist: 17,977
[root@xxxxxx ~]#
但是当我运行 yum update 时,它看起来像是在尝试加载 el5 和 el6 扩展/模块,所以会导致问题;
# yum update
Loaded plugins: fastestmirror, priorities
Loading mirror speeds from cached hostfile
* base: centos.mirroring.pulsant.co.uk
* epel: mirror.affix.me
* extras: centos.mirroring.pulsant.co.uk
* rpmforge: www.mirrorservice.org
* updates: centos.mirroring.pulsant.co.uk
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package git.x86_64 0:1.7.1-2.el6_0.1 will be updated
---> Package git.x86_64 0:1.7.4.1-1.el5 will be an update
--> Processing Dependency: libcrypto.so.6()(64bit) for package: git-1.7.4.1-1.el5.x86_64
--> Processing Dependency: libexpat.so.0()(64bit) for package: git-1.7.4.1-1.el5.x86_64
--> Processing Dependency: libcurl.so.3()(64bit) for package: git-1.7.4.1-1.el5.x86_64
--> Processing Dependency: libssl.so.6()(64bit) for package: git-1.7.4.1-1.el5.x86_64
---> Package libarchive.x86_64 0:2.8.3-4.el6_2 will be updated
---> Package libarchive.x86_64 0:2.8.4-5.el5 will be an update
---> Package mod_wsgi.x86_64 0:3.2-1.el6 will be updated
---> Package mod_wsgi.x86_64 0:3.2-2.el5 will be an update
--> Processing Dependency: libpython2.4.so.1.0()(64bit) for package: mod_wsgi-3.2-2.el5.x86_64
---> Package perl-Git.noarch 0:1.7.1-2.el6_0.1 will be updated
---> Package perl-Git.x86_64 0:1.7.4.1-1.el5 will be an update
--> Processing Dependency: perl(:MODULE_COMPAT_5.8.8) for package: perl-Git-1.7.4.1-1.el5.x86_64
---> Package python-ethtool.x86_64 0:0.6-1.el6 will be updated
---> Package python-ethtool.x86_64 0:0.6-2.el5 will be an update
--> Processing Dependency: python(abi) = 2.4 for package: python-ethtool-0.6-2.el5.x86_64
--> Running transaction check
---> Package compat-expat1.x86_64 0:1.95.8-8.el6 will be installed
---> Package git.x86_64 0:1.7.4.1-1.el5 will be an update
--> Processing Dependency: libcurl.so.3()(64bit) for package: git-1.7.4.1-1.el5.x86_64
---> Package mod_wsgi.x86_64 0:3.2-2.el5 will be an update
--> Processing Dependency: libpython2.4.so.1.0()(64bit) for package: mod_wsgi-3.2-2.el5.x86_64
---> Package openssl098e.x86_64 0:0.9.8e-17.el6.centos.2 will be installed
---> Package perl-Git.x86_64 0:1.7.4.1-1.el5 will be an update
--> Processing Dependency: perl(:MODULE_COMPAT_5.8.8) for package: perl-Git-1.7.4.1-1.el5.x86_64
---> Package python-ethtool.x86_64 0:0.6-2.el5 will be an update
--> Processing Dependency: python(abi) = 2.4 for package: python-ethtool-0.6-2.el5.x86_64
--> Finished Dependency Resolution
Error: Package: git-1.7.4.1-1.el5.x86_64 (epel)
Requires: libcurl.so.3()(64bit)
Error: Package: perl-Git-1.7.4.1-1.el5.x86_64 (epel)
Requires: perl(:MODULE_COMPAT_5.8.8)
Error: Package: mod_wsgi-3.2-2.el5.x86_64 (epel)
Requires: libpython2.4.so.1.0()(64bit)
Error: Package: python-ethtool-0.6-2.el5.x86_64 (epel)
Requires: python(abi) = 2.4
Installed: python-2.6.6-29.el6_2.2.x86_64 (@base)
python(abi) = 2.6
Available: python26-2.6.8-1.el5.x86_64 (epel)
python(abi) = 2.6
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
因此,经过几次重建和调整后,我发现问题出在我在服务器上安装东西的顺序上。问题似乎是先安装了 plesk 11。所以我重建了服务器,首先安装了 el6 repo,然后是 mcrypt 和 yum 更新,然后安装了 plesk。
现在就像一个魅力。
希望这可以帮助别人。