Hey, so a customer was running yum-cron, the Redhat version of Canoninical’s unattended upgrades. An auto update for a package ran, which actually broke their backend.
# yum history info 172
Loaded plugins: replace, rhnplugin
This system is receiving updates from RHN Classic or Red Hat Satellite.
Transaction ID : 172
Begin time : Sat May 6 05:45:29 2017
Begin rpmdb : 742:11fcb243cc5701b9d2293d90cb4161e5edc34bb8
End time : 05:45:31 2017 (2 seconds)
End rpmdb : 742:0afbbf517315f18985b2d01d4c2e5250caf0afb5
User : root <root>
Return-Code : Success
Transaction performed with:
Installed rpm-4.11.3-21.el7.x86_64 @rhel-x86_64-server-7
Installed yum-3.4.3-150.el7.noarch @rhel-x86_64-server-7
Installed yum-metadata-parser-1.1.4-10.el7.x86_64 @anaconda/7.1
Installed yum-rhn-plugin-2.0.1-6.1.el7_3.noarch @rhel-x86_64-server-7
Packages Altered:
Updated php56u-pecl-xdebug-2.5.1-1.ius.el7.x86_64 @rackspace-rhel-x86_64-server-7-ius
Update 2.5.3-1.ius.el7.x86_64 @rackspace-rhel-x86_64-server-7-ius
history info
The customer asked us to reverse the transaction, so I did, this was quite simple to do;
[root@web user]# yum history undo 172
Loaded plugins: replace, rhnplugin
This system is receiving updates from RHN Classic or Red Hat Satellite.
Undoing transaction 172, from Sat May 6 05:45:29 2017
Updated php56u-pecl-xdebug-2.5.1-1.ius.el7.x86_64 @rackspace-rhel-x86_64-server-7-ius
Update 2.5.3-1.ius.el7.x86_64 @rackspace-rhel-x86_64-server-7-ius
Resolving Dependencies
--> Running transaction check
---> Package php56u-pecl-xdebug.x86_64 0:2.5.1-1.ius.el7 will be a downgrade
---> Package php56u-pecl-xdebug.x86_64 0:2.5.3-1.ius.el7 will be erased
--> Finished Dependency Resolution
Dependencies Resolved
============================================================================================================================================================================================================================================
Package Arch Version Repository Size
============================================================================================================================================================================================================================================
Downgrading:
php56u-pecl-xdebug x86_64 2.5.1-1.ius.el7 rackspace-rhel-x86_64-server-7-ius 205 k
Transaction Summary
============================================================================================================================================================================================================================================
Downgrade 1 Package
Total download size: 205 k
Is this ok [y/d/N]: y
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
php56u-pecl-xdebug-2.5.1-1.ius.el7.x86_64.rpm | 205 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : php56u-pecl-xdebug-2.5.1-1.ius.el7.x86_64 1/2
Cleanup : php56u-pecl-xdebug-2.5.3-1.ius.el7.x86_64 2/2
Verifying : php56u-pecl-xdebug-2.5.1-1.ius.el7.x86_64 1/2
Verifying : php56u-pecl-xdebug-2.5.3-1.ius.el7.x86_64 2/2
Removed:
php56u-pecl-xdebug.x86_64 0:2.5.3-1.ius.el7
Installed:
php56u-pecl-xdebug.x86_64 0:2.5.1-1.ius.el7
Complete!
In CentOS 7 and I believe RedHat RHEL 7 as well, if you don’t want to disable yum-cron altogether by running a yum remove yum-cron, you could exclude the specific package, or use wildcards to exclude all of them like php* , http*, etc.
vi /etc/yum/yum-cron.conf.
If you wish to exclude some packages from auto-update mechanism, you’ll have to add an exclude line, at the bottom of the file, in the base section.
[base]
exclude = kernel* php* httpd*
etc, I hope that this is of some assist,
cheers &
Best wishes,
Adam