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