Recently yum update gave me about 130 packages to update (mostly connected with upgrading from GNOME 3.8 to 3.14 on Scientific Linux 7). I installed the updates, which went fine, but after logging off, the computer hung. Rebooting also hung around the initialization of gnome. I booted into run level 3, used yum history undo to revert, and got the computer up and running again.

Whenever I have had this problem before, it has been video driver related, but this laptop uses the default drivers packaged with scientific Linux, and since I don't need to reinstall them for kernel updates, I don't see why I would need to now (and wouldn't know how).

My question is then in two parts. One, is there a way to find out specifically which of the 130 updates is causing the crash by looking at logs? If not is there a simple way to pick out packages, installing them one by one, to sort this out? I don't know how to get to the bottom of the dependency tree, so that I am only installing a couple at a time. Every time I tried to cherry pick one package, it had 20-30 dependencies and I didn't feel like trying all 130 to find the bottom by hand.


Rather than trial and error to look for small sets of updates, I would make a script which starts by asking for the list of updated packages, and cancels that, then (in the script of course) step through the list and cancel any update which would produce more than a set threshold number of packages, and let yum prompt me to confirm the actual update:

  • the output from yum can be processed with awk to obtain just the list of packages, e.g., you get text like this:
     libtasn1                           x86_64    4.8-1.fc23       updates    325 k
     parted                             x86_64    3.2-18.fc23      updates    534 k
     python-osbs-client                 noarch    0.20-1.fc23      updates    108 k
     rpmlint                            noarch    1.8-6.fc23       updates    192 k

    Transaction Summary
    Upgrade  41 Packages

    Total download size: 7.2 M
    Is this ok [y/N]: 

which gives the number of packages affected (and the list).

  • you can get yum to list the packages without a prompt by piping "n" to the process, e.g.,

    echo n | yum upgrade kernel

A script like that would take a couple of hours to write, but greatly simplifies the process. (I've used this approach in trimming down unwanted packages).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.