Quick post (I hope) about something I learned today that has a bit of a Captain Obvious taste to it. But I thought some people might find that amusing... even if it is at my expense.
Like many who use Red Hat products (CentOS comes to mind) and derived distros, I use repos outside the official ones. Because those repos tend to have newer versions of some packages, I try to be careful about only upgrading the packages that are required by the package I added said repo to my list. Short answer is the Law of Unintended Consequences. Long version is that I expect that people building the official packages being quite careful about compatibility and security. So, I should only reach out to the different repos after I found out the official packages do not do what I need.
What I have been doing, and I do not claim it is the best solution, is to install and then disable the non-official repos so if I want something from them I have to specifically ask for it. So, if I want to use the remi repo, I would first disable it
sed -i -e 's/^enabled=1/enabled=0/' /etc/yum.repos.d/remi.repo
and then specifically ask for it to install, say, php
yum install php --enablerepo=remi
which would install the latest PHP version that remi has. On a side note, if you had to install php 5.6 from remi, you would use remi-php56. But, what about upgrading them? After all, yum check-update and yum update by default will not check the disabled repos even if you have packages installed from them. So, you have to use --enablerepo. Now, what I learned today is that you can just list all the repos you are using by separating them with commas.
Let me show you in action: at first we think there are no updates:
raub@pickles ~]$ sudo yum check-update Loaded plugins: product-id, rhnplugin, search-disabled-repos, subscription- : manager This system is receiving updates from RHN Classic or Red Hat Satellite. [raub@pickles ~]$
Now, let's list all the repos we have been using with this machine and see what it tells us:
raub@pickles ~]$ sudo yum check-update --enablerepo=remi-php56,epel,secu rity_shibboleth Loaded plugins: product-id, rhnplugin, search-disabled-repos, subscription- : manager This system is receiving updates from RHN Classic or Red Hat Satellite. security_shibboleth | 1.2 kB 00:00 security_shibboleth/primary | 15 kB 00:00 security_shibboleth 96/96 libcurl-openssl.x86_64 7.51.0-2.1 security_shibboleth opensaml-schemas.x86_64 2.6.0-1.1 security_shibboleth shibboleth.x86_64 2.6.0-2.1 security_shibboleth xmltooling-schemas.x86_64 1.6.0-1.1 security_shibboleth [raub@pickles ~]$
As you can see, we do need to update shibboleth and its dependencies! And update we shall:
[raub@pickles ~]$ sudo yum update --enablerepo=remi-php56,epel,security_shibboleth [...] [raub@pickles ~]$
Kinda neat, eh?