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
–> 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?
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
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.
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”.
Good advise… disabled.
But the httpd-manual for 2.4.6-40.el7.centos.vm.1 still missing in the virtualmin repo.
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.
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,
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
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.
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.
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.
Removed httpd-manual & protected virtualmin repo, then the update went smooth!
Thank you guys for your support!