Virtualmin http yum updates break with a failed dependency

13 posts / 0 new
Last post
#1 Tue, 06/07/2016 - 19:04
inaciose

Virtualmin http yum updates break with a failed dependency

After some while working good the system package and updates show some strange behaviour. I cant install some recently proposed 5 updates related to httpd, because some failed dependency.

Using the webmin / virtualmin interface that shows 5 updates it lauch the following command:

/bin/yum -y install httpd.x86_64 httpd-devel.x86_64 httpd-manual.noarch httpd-tools.x86_64 mod_ssl.x86_64

With the following output:

----------------------------------------------------------------------------------------------
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirror.supremebytes.com
* centosplus: mirror.supremebytes.com
* epel: mirror.math.princeton.edu
* extras: mirror.supremebytes.com
* updates: mirror.supremebytes.com
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 1:2.4.6-31.el7.centos.1.vm will be updated
---> Package httpd.x86_64 1:2.4.6-40.el7.centos.vm.1 will be an update
---> Package httpd-devel.x86_64 1:2.4.6-31.el7.centos.1.vm will be updated
---> Package httpd-devel.x86_64 1:2.4.6-40.el7.centos.vm.1 will be an update
---> Package httpd-manual.noarch 1:2.4.6-31.el7.centos.1.vm will be updated
---> Package httpd-manual.noarch 1:2.4.6-40.el7.centos.vm.1 will be an update
--> Processing Dependency: httpd = 2.4.6-40.el7.centos.vm.1 for package: 1:httpd-manual-2.4.6-40.el7.centos.vm.1.noarch
---> Package httpd-tools.x86_64 1:2.4.6-31.el7.centos.1.vm will be updated
---> Package httpd-tools.x86_64 1:2.4.6-40.el7.centos.vm.1 will be an update
---> Package mod_ssl.x86_64 2:2.4.6-31.el7.centos.1.vm will be updated
---> Package mod_ssl.x86_64 2:2.4.6-40.el7.centos.vm.1 will be an update
--> Finished Dependency Resolution
Error: Package: 1:httpd-manual-2.4.6-40.el7.centos.vm.1.noarch (virtualmin)
           Requires: httpd = 2.4.6-40.el7.centos.vm.1
           Removing: 1:httpd-2.4.6-31.el7.centos.1.vm.x86_64 (@virtualmin)
               httpd = 1:2.4.6-31.el7.centos.1.vm
           Updated By: 1:httpd-2.4.6-40.el7.centos.vm.1.x86_64 (virtualmin)
               httpd = 1:2.4.6-40.el7.centos.vm.1
           Available: httpd-2.4.6-40.el7.centos.x86_64 (base)
               httpd = 2.4.6-40.el7.centos
           Available: httpd-2.4.6-40.el7.centos.1.x86_64 (updates)
               httpd = 2.4.6-40.el7.centos.1
           Available: 1:httpd-2.4.6-17.el7.centos.centos.1.vm.x86_64 (virtualmin)
               httpd = 1:2.4.6-17.el7.centos.centos.1.vm
           Available: 1:httpd-2.4.6-18.el7.centos.vm.x86_64 (virtualmin)
               httpd = 1:2.4.6-18.el7.centos.vm
           Available: 1:httpd-2.4.6-18.el7.centos.vm.1.x86_64 (virtualmin)
               httpd = 1:2.4.6-18.el7.centos.vm.1
           Available: 1:httpd-2.4.6-31.el7.centos.vm.x86_64 (virtualmin)
               httpd = 1:2.4.6-31.el7.centos.vm
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest

--skip-broken didnt help.

is any file missing in the repo, or whats wrong? Im the only one with this issue? Any help?

Tue, 06/07/2016 - 19:17
andreychek

Howdy,

While I'm not sure why you're getting that error, try removing the "httpd-manual" package and see if it helps.

That can be done with:

rpm -e httpd-manual

Wed, 06/08/2016 - 02:17
inaciose

Hi

Its solved the other 4 updates, but i loose the httpd-manual 2.4.6-40.el7.centos.vm.1 for because its missing in the virtualmin repo.

Thanks

Wed, 06/08/2016 - 07:07
Diabolico
Diabolico's picture

Never use "yum update" or Vmin update (automatic or manual) with enabled repos like EPEL because you are asking for trouble to the point your entire system will become unresponsive. I would disable all extra repos and call them only when i need to update something specific to them, e.g. "yum --enablerepo=epel update fail2ban".

- I often come to the conclusion that my brain has too many tabs open. -
Failing at desktop publishing & graphic design since 1994.

Wed, 06/08/2016 - 09:08 (Reply to #4)
inaciose

Good advise.... disabled. But the httpd-manual for 2.4.6-40.el7.centos.vm.1 still missing in the virtualmin repo.

Wed, 06/08/2016 - 14:17
Diabolico
Diabolico's picture

Last year when i was testing Vmin as i was tired i forgot to turn off EPEL and just one update crashed my system to the point it was easier to rebuild the server than spend time to repair. Not sure what happened there but if you did updates in the past with active extra repos it could be the damage is already done. For this is best to wait for Eric or Joe maybe they have some advice what to do in your situation.

- I often come to the conclusion that my brain has too many tabs open. -
Failing at desktop publishing & graphic design since 1994.

Mon, 06/13/2016 - 04:46
alex.iarna

Had the same problem with the httpd-manual blocking the update of whole httpd stack,
Also didn't know about the dangers of automatic update wih epel & others enabled (still learning Virtualmin & CentOS after 1+ year),

I installed yum-protectbase and protected [base] and [update] as adviced in CentOS Docs, then un-selected httpd-manual package and hit "Update selected packages" in Virtualmin interface,

Finally got this:

Installing package(s) with command /bin/yum -y install httpd.x86_64 httpd-devel.x86_64 httpd-tools.x86_64 mod_ssl.x86_64 ..
Loaded plugins: fastestmirror, langpacks, protectbase
Loading mirror speeds from cached hostfile
[...]
152 packages excluded due to repository protections
Package matching httpd-2.4.6-40.el7.centos.1.x86_64 already installed. Checking for update.
Package matching httpd-devel-2.4.6-40.el7.centos.1.x86_64 already installed. Checking for update.
Package matching httpd-tools-2.4.6-40.el7.centos.1.x86_64 already installed. Checking for update.
Package matching 1:mod_ssl-2.4.6-40.el7.centos.1.x86_64 already installed. Checking for update.
Nothing to do
.. install complete.

Now there are no updates available in Software Package Updates section of Virtualmin, I guess the system is up to date according to [base] and [update] repositories and the others aren't taken into account,

Please advice, is this a good solution?

Thanks and regards,
Alex.

Mon, 06/13/2016 - 06:11 (Reply to #7)
inaciose

See my advise bellow

Mon, 06/13/2016 - 06:10
inaciose

My advise, if you didnt mind to loose the httpd manual is:

1 - Remove yum-protectbase (that give you the message: "152 packages excluded due to repository protections" and exclude the virtualmin repo)
2 - Remove any repos beside the base repos and the virtualmin (/etc/yum/conf.d/)
3 - Remove the httpd-manual package (rpm -e httpd-manual)
4 - Updating using the virtualmin interface
5 - The update is done. You only loose the httpd-manual (not very important), until someone at virtualmin to fix their broken repo.

I hope its help you

Mon, 06/13/2016 - 10:17 (Reply to #9)
alex.iarna

Thanks inaciose,

Well, I have a multiple PHP versions setup based on EPEL and other repositories and kinda don't wanna disable them for good; I want to have them automatically updated, but at the same time keep them from messing up with the OS.

I understand I can Protect=1 the virtualmin repo and I'll get back the httpd...centos.vm updates - but is this a safe move? I am asking this as earlier in the thread has been said and agreed that this might be asking for troubles :-)

Sorry if these are dumb questions - this is pretty new for me.

Regards,
Alex.

Mon, 06/13/2016 - 21:14 (Reply to #10)
inaciose

The diabolic advise bellow is good.
And just protect de virtualmin will not solve the httpd update problem. You need to remove the httpd-manual.
Another alternative the cron (diabolic advise). Is from time to time, enable epel and update epel packages, and disable it after.
But again, to solve the httpd update you need to remove the httpd-manual, as i said before.

Mon, 06/13/2016 - 18:52
Diabolico
Diabolico's picture

You could disable all extra repos and use cron to update software installed from EPEL (or any other repo). For example cron to execute "yum --enablerepo=epel -y update fail2ban" every day at midnight. If there is more software from same or different repo just add that to the existing cron.

- I often come to the conclusion that my brain has too many tabs open. -
Failing at desktop publishing & graphic design since 1994.

Tue, 06/14/2016 - 02:25
alex.iarna

Removed httpd-manual & protected virtualmin repo, then the update went smooth!

Thank you guys for your support!

Regards,
Alex.

Topic locked