Ubuntu – ny way to roll back the most recent upgrade


This has happened to me many times in the last 5 years: an upgrade broke my system.
Each time I end up with this situation, I have to reinstall the whole system, which is really annoying.

Is there any way to roll back the most recent upgrade to be able to have a functional system without reinstalling? If not, which is the best way to suggest this as a top priority idea?

I read this idea was described in brainstorm.ubuntu.com, but it feels it is dead… and the forums are full of examples of upgrades breaking things, that's why I feel something needs to be done about this topic.

Best Answer

  • In synaptics, you can at least control, what have been the recent updates: File-menu, history.

    (if synaptic is startable, with the broken system). So with an apt-...-command, to revert their update, it shouldn't be too hard.

    I guess there is a history-command for the command line too.

    Maybe you have to delete the whole package, and install a specific version. Afaik, it is possible to install a specific version, but I never had the need to do so.

    update: Looked up how to do with apt:

    Find packages installed in the last 3x24h:

    find /var/lib/dpkg/info/ -name \*.list -mtime -3 | sed 's#.list$##;s#.*/##' 

    With apt-cache policy, you see available versions of a program:

    sudo apt-cache policy PROGRAM:
     *** 3.6.7+build3+nobinonly-0ubuntu0.10.04.1 0
            500 http://de.archive.ubuntu.com/ubuntu/ lucid-updates/main Packages
            500 http://security.ubuntu.com/ubuntu/ lucid-security/main Packages
            100 /var/lib/dpkg/status
         3.6.3+nobinonly-0ubuntu4 0

    here 3.6.7 and 3.6.3 . Now you know what earlier version might be installed (often not the immediate predecessor):

    sudo apt-get install PROGRAM=3.6.3

    Then you need to do an apt-pinning, to prevent future updates:

    Create a new file in /etc/apt/preferences.d/ (if >= 10.4) named after your program,

    Package: program
    Pin: version 3.6.3*
    Pin-Priority: 1000