可能您像我一样。发现在 CentOS 5.x 系统上安装完 ISPConfig 3 后,发现无法直接使用“yum update”对系统进行软件的更新了。提示的信息大体如下:
[root@hosts ~]# yum update
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* addons: mirror01.idc.hinet.net
* base: mirror01.idc.hinet.net
* extras: mirror01.idc.hinet.net
* rpmforge: fr2.rpmfind.net
* updates: mirror01.idc.hinet.net
Setting up Update Process
Resolving Dependencies
--> Running transaction check
--> Processing Dependency: liblzo.so.1 for package: lzop
---> Package lzo.i386 0:2.02-3.el5.kb set to be updated
---> Package postfix.i386 2:2.3.3-2.1.el5_2 set to be updated
---> Package rsyslog.i386 0:2.0.6-1.el5 set to be updated
--> Finished Dependency Resolution
lzop-1.01-2.el5.rf.i386 from installed has depsolving problems
--> Missing Dependency: liblzo.so.1 is needed by package lzop-1.01-2.el5.rf.i386 (installed)
Error: Missing Dependency: liblzo.so.1 is needed by package lzop-1.01-2.el5.rf.i386 (installed)
You could try using --skip-broken to work around the problem
You could try running: package-cleanup --problems
package-cleanup --dupes
rpm -Va --nofiles --nodigest
The program package-cleanup is found in the yum-utils package.
[root@hosts ~]#
大概含义就是无法更新 liblzo.so.1 所在的软件包 lzop-1.01-2.el5.rf.i386。
引起以上错误的原因是我们在 ISPConfig 3 的时候 需要安装 mod_fcgid 组件。而 CentOS 官方更新源当中并不包含该组件。因此安装过程中,我们增加了一个 位于 centos.karan.org 的测试源。而在该源当中,又没有错误信息中提及的那个软件包,所以更新的时候就出错了。具体当中的纠缠我就不多说了,总得来说就是俩源里面的东西不太对付,还是直接说解决方法吧。
大家可以使用以下两种方式进行系统更新,第一种是跳过错误信息中提到的文件,直接对其他组件进行升级。命令格式为:
yum update --exclude="lzo" --exclude="postfix"
第二种方式是禁用掉添加进去的测试源地址。命令格式为:
yum update --exclude="postfix" --disablerepo=kbs-CentOS-Testing
现在看看您的系统是不是可以正常更新啦?

