whenever I try to update my virtualmin via yum I get the following error message and I am a little lost on what I can do to correct this situation.
Error: pkgKey 174 doesn’t exist in repo virtualmin-universal
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
It would seem that I need to re-install something but I am not sure how much I can remove before I would loose my sites.
Yeah, unfortunately, there are package repositories out there that conflict with those provided by Virtualmin. RPMForge just happens to be one of them
The ClamAV related conflict messages you’re getting there are due to the RPMForge repo you’re using… you’d either need to disable RPMForge, or set it up to just use the RPM’s you’re interested in.
below is the output of doing the “uname” and the YUM clean/update commands:
I noticed that the problem seems to be the CLAMAV rpm so I removed that and the update installed the new versions of webmin and usermin successfully. Now I just need to re-install a version of CLAMAV or something similar.
[root@moo ~]# uname -a
Linux moo.mootilator.com 2.6.18-128.1.10.el5 #1 SMP Thu May 7 10:39:21 EDT 2009 i686 i686 i386 GNU/Linux
[root@moo ~]# yum clean all
Loaded plugins: fastestmirror
Cleaning up Everything
Cleaning up list of fastest mirrors
[root@moo ~]# yum update
Loaded plugins: fastestmirror
Determining fastest mirrors
updates: holmes.umflint.edu
addons | 951 B 00:00
addons/primary | 201 B 00:00
base | 2.1 kB 00:00
base/primary_db | 1.6 MB 00:03
extras | 2.1 kB 00:00
extras/primary_db | 180 kB 00:01
rpmforge | 1.1 kB 00:00
rpmforge/primary | 3.6 MB 00:11
rpmforge 10069/10069
updates | 1.9 kB 00:00
updates/primary_db | 553 kB 00:01
virtualmin | 951 B 00:00
virtualmin/primary | 72 kB 00:00
virtualmin 258/258
virtualmin-universal | 951 B 00:00
virtualmin-universal/primary | 13 kB 00:00
virtualmin-universal 102/102
Setting up Update Process
Resolving Dependencies
–> Running transaction check
—> Package clamav-server.i386 0:0.94.2-1.vm.el5 set to be updated
–> Processing Dependency: clamav-lib = 0.94.2-1.vm.el5 for package: clamav-server
–> Processing Dependency: clamav-filesystem = 0.94.2-1.vm.el5 for package: clamav-server
–> Processing Dependency: libclamav.so.5 for package: clamav-server
–> Processing Dependency: data(clamav) for package: clamav-server
–> Processing Dependency: libclamav.so.5(CLAMAV_PUBLIC) for package: clamav-server
–> Processing Dependency: init(clamav-server) for package: clamav-server
–> Processing Dependency: libclamav.so.5(CLAMAV_PRIVATE) for package: clamav-server
—> Package libXi.i386 0:1.0.1-4.el5_4 set to be updated
—> Package libXi-devel.i386 0:1.0.1-4.el5_4 set to be updated
—> Package systemtap.i386 0:0.9.7-5.el5_4.3 set to be updated
—> Package systemtap-runtime.i386 0:0.9.7-5.el5_4.3 set to be updated
—> Package usermin.noarch 0:1.430-1 set to be updated
—> Package webmin.noarch 0:1.500-2 set to be updated
–> Running transaction check
—> Package clamav-data.i386 0:0.95.2-1.vm.el5 set to be updated
–> Processing Dependency: clamav-filesystem = 0.95.2-1.vm.el5 for package: clamav-data
—> Package clamav-filesystem.i386 0:0.94.2-1.vm.el5 set to be updated
–> Processing Dependency: clamav-filesystem = 0.94.2-1.vm.el5 for package: clamav-server
—> Package clamav-lib.i386 0:0.94.2-1.vm.el5 set to be updated
—> Package clamav-server-sysv.i386 0:0.95.2-1.vm.el5 set to be updated
–> Processing Dependency: clamav-server = 0.95.2-1.vm.el5 for package: clamav-server-sysv
–> Running transaction check
—> Package clamav-filesystem.i386 0:0.94.2-1.vm.el5 set to be updated
—> Package clamav-filesystem.i386 0:0.95.2-1.vm.el5 set to be updated
—> Package clamav-server.i386 0:0.94.2-1.vm.el5 set to be updated
—> Package clamav-server.i386 0:0.95.2-1.vm.el5 set to be updated
–> Processing Dependency: clamav-lib = 0.95.2-1.vm.el5 for package: clamav-server
–> Running transaction check
—> Package clamav-lib.i386 0:0.94.2-1.vm.el5 set to be updated
—> Package clamav-lib.i386 0:0.95.2-1.vm.el5 set to be updated
addons/filelists | 194 B 00:00
base/filelists_db | 3.3 MB 00:06
extras/filelists_db | 195 kB 00:00
rpmforge/filelists | 4.0 MB 00:15
updates/filelists_db | 2.6 MB 00:06
virtualmin/filelists | 72 kB 00:00
virtualmin-universal/filelists | 619 kB 00:01
–> Processing Conflict: clamav-filesystem conflicts clamav > 0.95.2-1.vm.el5
–> Finished Dependency Resolution
clamav-server-0.94.2-1.vm.el5.i386 from virtualmin has depsolving problems
–> Missing Dependency: clamav-filesystem = 0.94.2-1.vm.el5 is needed by package clamav-server-0.94.2-1.vm.el5.i386 (virtualmin)
clamav-filesystem-0.95.2-1.vm.el5.i386 from virtualmin has depsolving problems
–> clamav-filesystem conflicts with clamav
Error: clamav-filesystem conflicts with clamav
Error: Missing Dependency: clamav-filesystem = 0.94.2-1.vm.el5 is needed by package clamav-server-0.94.2-1.vm.el5.i386 (virtualmin)
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
I will also note that our ClamAV packages are based on the Fedora EPEL project packages, and so are compatible with everything in EPEL. Since EPEL is packaged by a lot of the same people that package Fedora and RHEL, I think it can be safely assumed to be somewhat more “standard”.
Nothing wrong with the RPMForge packages, but you really ought to know what you’re doing when you enable third party repositories. You are, after all, effectively giving someone root access to your server (which is true whenever you install third party software as the root user or using sudo). You should be really careful when doing so. As Eric mentioned, one option is to be very specific about which packages to pull from the third party repositories. This limits your exposure to conflicting packages and compatibility issues between library versions and such.
I needed the Sourceforge repository for a couple specific packages but hadn’t noticed it was causing the conflict with WebMin. Is it possible to have the RPMforge available but have it as a lower priority than the virtualmin repository? So that I have first choice for the duplicate named packages come from virtualmin instead of RPMforge?
If you’re interested in just a handful of packages, what I’d recommend doing is taking a look at the “includepkgs” option (you can read about it by running “man yum.conf”).
What you could do is edit the RPMForce repository config file, and add a “includepkgs” line that lists the packages you’re interested in from that particular repository.