Is there any way to roll back the most recent upgrade?

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP








up vote
46
down vote

favorite
17












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.
Thanks!







share|improve this question


















  • 14




    I'm signing in just to vote up this question. The lack of a coherent roll-back tool in a 2011 Desktop OS is pathetic. Windows had System Restore 5+ years ago, that's a long way behind the curve. Users have been (correctly) trained to install security updates, but we're constantly punished for doing this by failing drivers.
    – Gates VP
    Dec 6 '11 at 8:20














up vote
46
down vote

favorite
17












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.
Thanks!







share|improve this question


















  • 14




    I'm signing in just to vote up this question. The lack of a coherent roll-back tool in a 2011 Desktop OS is pathetic. Windows had System Restore 5+ years ago, that's a long way behind the curve. Users have been (correctly) trained to install security updates, but we're constantly punished for doing this by failing drivers.
    – Gates VP
    Dec 6 '11 at 8:20












up vote
46
down vote

favorite
17









up vote
46
down vote

favorite
17






17





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.
Thanks!







share|improve this question














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.
Thanks!









share|improve this question













share|improve this question




share|improve this question








edited Apr 13 '11 at 15:52









Jorge Castro

34.4k104421614




34.4k104421614










asked Apr 13 '11 at 15:45









Marcelo Ruiz

366138




366138







  • 14




    I'm signing in just to vote up this question. The lack of a coherent roll-back tool in a 2011 Desktop OS is pathetic. Windows had System Restore 5+ years ago, that's a long way behind the curve. Users have been (correctly) trained to install security updates, but we're constantly punished for doing this by failing drivers.
    – Gates VP
    Dec 6 '11 at 8:20












  • 14




    I'm signing in just to vote up this question. The lack of a coherent roll-back tool in a 2011 Desktop OS is pathetic. Windows had System Restore 5+ years ago, that's a long way behind the curve. Users have been (correctly) trained to install security updates, but we're constantly punished for doing this by failing drivers.
    – Gates VP
    Dec 6 '11 at 8:20







14




14




I'm signing in just to vote up this question. The lack of a coherent roll-back tool in a 2011 Desktop OS is pathetic. Windows had System Restore 5+ years ago, that's a long way behind the curve. Users have been (correctly) trained to install security updates, but we're constantly punished for doing this by failing drivers.
– Gates VP
Dec 6 '11 at 8:20




I'm signing in just to vote up this question. The lack of a coherent roll-back tool in a 2011 Desktop OS is pathetic. Windows had System Restore 5+ years ago, that's a long way behind the curve. Users have been (correctly) trained to install security updates, but we're constantly punished for doing this by failing drivers.
– Gates VP
Dec 6 '11 at 8:20










6 Answers
6






active

oldest

votes

















up vote
11
down vote













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





share|improve this answer






















  • Thanks all for the info. I can't wait for ubuntu to manage zfs out of the box!
    – Marcelo Ruiz
    Apr 16 '11 at 3:27










  • I'm sorry - what has it to do with zfs? Does zfs manage rollbacks? Or do the updates break your zfs-install? Or does the zfs-update break something?
    – user unknown
    Apr 16 '11 at 3:31










  • What if the version is 1.0.2g-1ubuntu4.12 according to apt? It refuses to accept that as a version number though. I want to downgrade form 1.0.2g-1ubuntu4.13 to 1.0.2g-1ubuntu4.12
    – Csaba Toth
    Jun 27 at 21:05

















up vote
6
down vote













Most of the time if your system is broken it is a kernel problem.



Simply boot an older kernel and reinstall the most recent packages (especially kernel packages) that probably didn't update correctly.
Few notes:



/var/log/dpkg.log


is your friend to check what is the list of the recently updated/installed packages



sudo apt-get -f install


can most of the time fix half-installed packages






share|improve this answer





























    up vote
    5
    down vote













    Mostly you can consult /var/log/apt/history.log for changes done by apt/synaptic. It's just a little forensic and alot of cut/paste to do.



    Go back to the date when your system was still working fine.



    First take all packages that got installed since then and put them together in an uninstall script. When the script has finished, start re-adding all removed packages again.



    An example case:

    logfile:



    Start-Date: 2014-05-28 21:28:11
    Commandline: synaptic
    Install: libfglrx-amdxvba1:amd64 (13.12-3kali1, automatic), libgl1-fglrx-glx:amd64 (13.12-3kali1), glx-alternative-fglrx:amd64 (0.4.1kali1, automatic), libfglrx:amd64 (13.12-3kali1, au$
    Remove: fglrx-glx-ia32:amd64 (12-6+point-3)
    End-Date: 2014-05-28 21:28:27


    you can see,



    libfglrx-amdxvba1:amd64 libgl1-fglrx-glx:amd64 glx-alternative-fglrx:amd64 & libfglrx:amd64 


    got installed by Synaptic. as like libfglrx:amd64 got removed by Synaptic.



    We went the reverse order, so first we remove the newly installed packages and we re-add the packages that got removed.



    A working command for this case could looks like:



    sudo apt-get remove -y libfglrx-amdxvba1:amd64 libgl1-fglrx-glx:amd64 glx-alternative-fglrx:amd64 libfglrx:amd64 && sudo apt-get install -y libfglrx:amd64


    Maybe it wouldn't be the best idea to go without the -y switch - to have more control about the process (to avoid broken dependencies). Most of you wouldn't break their finger while do a few verification "y"



    In most cases a rollback is possible this way, but if dependencies are already broken - you may run into a even bigger issue.






    share|improve this answer






















    • Best answer, thanks a lot!
      – userlond
      Nov 23 '17 at 3:44

















    up vote
    3
    down vote













    Unfortunately there is no way to do this yet. Filesystem level snapshot/rollback is one of the features of the upcoming btrfs, but it has a ways yet to become feature complete and stable enough to use as the default filesystem.






    share|improve this answer
















    • 1




      For filesystem snapshots, you could use LVM instead, with ext3 or ext4.
      – Flimm
      Nov 12 '12 at 12:20










    • @Flimm, now you can, though it does not work very well and requires that you set up LVM when you install in the first place.
      – psusi
      Nov 12 '12 at 16:02

















    up vote
    3
    down vote













    When doing a major upgrade, I clone the disk using Clonezilla. Burn it on a CD, have a spare (external) HDD available and follow the instructions on the Clonezilla LiveCD. Choose the partition-image mode, this uses the least space.



    If you think you've broken your system (or wish to revert any changes), simply boot in the Clonezilla LiveCD, select the image on your (external) HDD and restore it. As these images are a literal copy of every bit on your disk, this might take a few hours depending on your disk speed and connection speed (the connection between the data, usually an external USB HDD, and the computer).



    By the way, this is called a backup method.






    share|improve this answer



























      up vote
      2
      down vote













      You can install an older version of a given package (downgrade) with apt or dpkg easily. Finding an older version of the package is the problem as these often disappear from the pool and mirrors as updates roll in.



      If you install the package from an install CD or an outdated mirror or a cache, you will also need to keep it pinned to the old version so it won't be upgraded until you allow that. Which means you have to watch for updates and test them until your problem is fixed. This is of course a problem since meanwhile (maybe forever) you'll be left with the unfixed, possibly insecure package. That means every user with some kind of system issue will be left in some random state until they can resolve it.



      All software also isn't forwards compatible, so an older version of something may well not behave right when fed with newer configuration or data files. Obviously this is impossible to solve unless you also roll back all user data to a state before the upgrade was done.



      It would be great if there was a way to do this, but it is massively problematic. Anyone who thinks there is a coherent solution should write a proposal and invite comments or, better yet, make a proof of concept solution (code, script, document). Trolling and whining is not constructive.



      Because there is no clean technical solution, most software is developed (and integrated) with "the only way is forward" mentality. Trying to manage outdated versions is a waste of everyone's time. Found problems are fixed in newer versions ASAP. As a minor solution, I would like to see an archive of previous package versions kept somewhere for the occasional temporary workaround.



      Meanwhile you can report bugs and don't expect bleeding edge software to never fail. A fix, once found, should be in the next update. Devs are humans (mostly), and therefore fallible. Computers are fiddly and full of insane variety and detail. Defensively maintained systems using well-supported components and stable integrated software distribution can be very stable without becoming insecure or non-upgradeable despite this.






      share|improve this answer






















        Your Answer







        StackExchange.ready(function()
        var channelOptions =
        tags: "".split(" "),
        id: "89"
        ;
        initTagRenderer("".split(" "), "".split(" "), channelOptions);

        StackExchange.using("externalEditor", function()
        // Have to fire editor after snippets, if snippets enabled
        if (StackExchange.settings.snippets.snippetsEnabled)
        StackExchange.using("snippets", function()
        createEditor();
        );

        else
        createEditor();

        );

        function createEditor()
        StackExchange.prepareEditor(
        heartbeatType: 'answer',
        convertImagesToLinks: true,
        noModals: false,
        showLowRepImageUploadWarning: true,
        reputationToPostImages: 10,
        bindNavPrevention: true,
        postfix: "",
        onDemand: true,
        discardSelector: ".discard-answer"
        ,immediatelyShowMarkdownHelp:true
        );



        );








         

        draft saved


        draft discarded


















        StackExchange.ready(
        function ()
        StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f34888%2fis-there-any-way-to-roll-back-the-most-recent-upgrade%23new-answer', 'question_page');

        );

        Post as a guest






























        6 Answers
        6






        active

        oldest

        votes








        6 Answers
        6






        active

        oldest

        votes









        active

        oldest

        votes






        active

        oldest

        votes








        up vote
        11
        down vote













        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





        share|improve this answer






















        • Thanks all for the info. I can't wait for ubuntu to manage zfs out of the box!
          – Marcelo Ruiz
          Apr 16 '11 at 3:27










        • I'm sorry - what has it to do with zfs? Does zfs manage rollbacks? Or do the updates break your zfs-install? Or does the zfs-update break something?
          – user unknown
          Apr 16 '11 at 3:31










        • What if the version is 1.0.2g-1ubuntu4.12 according to apt? It refuses to accept that as a version number though. I want to downgrade form 1.0.2g-1ubuntu4.13 to 1.0.2g-1ubuntu4.12
          – Csaba Toth
          Jun 27 at 21:05














        up vote
        11
        down vote













        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





        share|improve this answer






















        • Thanks all for the info. I can't wait for ubuntu to manage zfs out of the box!
          – Marcelo Ruiz
          Apr 16 '11 at 3:27










        • I'm sorry - what has it to do with zfs? Does zfs manage rollbacks? Or do the updates break your zfs-install? Or does the zfs-update break something?
          – user unknown
          Apr 16 '11 at 3:31










        • What if the version is 1.0.2g-1ubuntu4.12 according to apt? It refuses to accept that as a version number though. I want to downgrade form 1.0.2g-1ubuntu4.13 to 1.0.2g-1ubuntu4.12
          – Csaba Toth
          Jun 27 at 21:05












        up vote
        11
        down vote










        up vote
        11
        down vote









        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





        share|improve this 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






        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Apr 16 '11 at 4:11

























        answered Apr 13 '11 at 17:08









        user unknown

        4,79622151




        4,79622151











        • Thanks all for the info. I can't wait for ubuntu to manage zfs out of the box!
          – Marcelo Ruiz
          Apr 16 '11 at 3:27










        • I'm sorry - what has it to do with zfs? Does zfs manage rollbacks? Or do the updates break your zfs-install? Or does the zfs-update break something?
          – user unknown
          Apr 16 '11 at 3:31










        • What if the version is 1.0.2g-1ubuntu4.12 according to apt? It refuses to accept that as a version number though. I want to downgrade form 1.0.2g-1ubuntu4.13 to 1.0.2g-1ubuntu4.12
          – Csaba Toth
          Jun 27 at 21:05
















        • Thanks all for the info. I can't wait for ubuntu to manage zfs out of the box!
          – Marcelo Ruiz
          Apr 16 '11 at 3:27










        • I'm sorry - what has it to do with zfs? Does zfs manage rollbacks? Or do the updates break your zfs-install? Or does the zfs-update break something?
          – user unknown
          Apr 16 '11 at 3:31










        • What if the version is 1.0.2g-1ubuntu4.12 according to apt? It refuses to accept that as a version number though. I want to downgrade form 1.0.2g-1ubuntu4.13 to 1.0.2g-1ubuntu4.12
          – Csaba Toth
          Jun 27 at 21:05















        Thanks all for the info. I can't wait for ubuntu to manage zfs out of the box!
        – Marcelo Ruiz
        Apr 16 '11 at 3:27




        Thanks all for the info. I can't wait for ubuntu to manage zfs out of the box!
        – Marcelo Ruiz
        Apr 16 '11 at 3:27












        I'm sorry - what has it to do with zfs? Does zfs manage rollbacks? Or do the updates break your zfs-install? Or does the zfs-update break something?
        – user unknown
        Apr 16 '11 at 3:31




        I'm sorry - what has it to do with zfs? Does zfs manage rollbacks? Or do the updates break your zfs-install? Or does the zfs-update break something?
        – user unknown
        Apr 16 '11 at 3:31












        What if the version is 1.0.2g-1ubuntu4.12 according to apt? It refuses to accept that as a version number though. I want to downgrade form 1.0.2g-1ubuntu4.13 to 1.0.2g-1ubuntu4.12
        – Csaba Toth
        Jun 27 at 21:05




        What if the version is 1.0.2g-1ubuntu4.12 according to apt? It refuses to accept that as a version number though. I want to downgrade form 1.0.2g-1ubuntu4.13 to 1.0.2g-1ubuntu4.12
        – Csaba Toth
        Jun 27 at 21:05












        up vote
        6
        down vote













        Most of the time if your system is broken it is a kernel problem.



        Simply boot an older kernel and reinstall the most recent packages (especially kernel packages) that probably didn't update correctly.
        Few notes:



        /var/log/dpkg.log


        is your friend to check what is the list of the recently updated/installed packages



        sudo apt-get -f install


        can most of the time fix half-installed packages






        share|improve this answer


























          up vote
          6
          down vote













          Most of the time if your system is broken it is a kernel problem.



          Simply boot an older kernel and reinstall the most recent packages (especially kernel packages) that probably didn't update correctly.
          Few notes:



          /var/log/dpkg.log


          is your friend to check what is the list of the recently updated/installed packages



          sudo apt-get -f install


          can most of the time fix half-installed packages






          share|improve this answer
























            up vote
            6
            down vote










            up vote
            6
            down vote









            Most of the time if your system is broken it is a kernel problem.



            Simply boot an older kernel and reinstall the most recent packages (especially kernel packages) that probably didn't update correctly.
            Few notes:



            /var/log/dpkg.log


            is your friend to check what is the list of the recently updated/installed packages



            sudo apt-get -f install


            can most of the time fix half-installed packages






            share|improve this answer














            Most of the time if your system is broken it is a kernel problem.



            Simply boot an older kernel and reinstall the most recent packages (especially kernel packages) that probably didn't update correctly.
            Few notes:



            /var/log/dpkg.log


            is your friend to check what is the list of the recently updated/installed packages



            sudo apt-get -f install


            can most of the time fix half-installed packages







            share|improve this answer














            share|improve this answer



            share|improve this answer








            edited Aug 12 '14 at 9:22









            Tim

            18.8k1482132




            18.8k1482132










            answered Sep 22 '12 at 9:49









            Giordano Battilana

            6911




            6911




















                up vote
                5
                down vote













                Mostly you can consult /var/log/apt/history.log for changes done by apt/synaptic. It's just a little forensic and alot of cut/paste to do.



                Go back to the date when your system was still working fine.



                First take all packages that got installed since then and put them together in an uninstall script. When the script has finished, start re-adding all removed packages again.



                An example case:

                logfile:



                Start-Date: 2014-05-28 21:28:11
                Commandline: synaptic
                Install: libfglrx-amdxvba1:amd64 (13.12-3kali1, automatic), libgl1-fglrx-glx:amd64 (13.12-3kali1), glx-alternative-fglrx:amd64 (0.4.1kali1, automatic), libfglrx:amd64 (13.12-3kali1, au$
                Remove: fglrx-glx-ia32:amd64 (12-6+point-3)
                End-Date: 2014-05-28 21:28:27


                you can see,



                libfglrx-amdxvba1:amd64 libgl1-fglrx-glx:amd64 glx-alternative-fglrx:amd64 & libfglrx:amd64 


                got installed by Synaptic. as like libfglrx:amd64 got removed by Synaptic.



                We went the reverse order, so first we remove the newly installed packages and we re-add the packages that got removed.



                A working command for this case could looks like:



                sudo apt-get remove -y libfglrx-amdxvba1:amd64 libgl1-fglrx-glx:amd64 glx-alternative-fglrx:amd64 libfglrx:amd64 && sudo apt-get install -y libfglrx:amd64


                Maybe it wouldn't be the best idea to go without the -y switch - to have more control about the process (to avoid broken dependencies). Most of you wouldn't break their finger while do a few verification "y"



                In most cases a rollback is possible this way, but if dependencies are already broken - you may run into a even bigger issue.






                share|improve this answer






















                • Best answer, thanks a lot!
                  – userlond
                  Nov 23 '17 at 3:44














                up vote
                5
                down vote













                Mostly you can consult /var/log/apt/history.log for changes done by apt/synaptic. It's just a little forensic and alot of cut/paste to do.



                Go back to the date when your system was still working fine.



                First take all packages that got installed since then and put them together in an uninstall script. When the script has finished, start re-adding all removed packages again.



                An example case:

                logfile:



                Start-Date: 2014-05-28 21:28:11
                Commandline: synaptic
                Install: libfglrx-amdxvba1:amd64 (13.12-3kali1, automatic), libgl1-fglrx-glx:amd64 (13.12-3kali1), glx-alternative-fglrx:amd64 (0.4.1kali1, automatic), libfglrx:amd64 (13.12-3kali1, au$
                Remove: fglrx-glx-ia32:amd64 (12-6+point-3)
                End-Date: 2014-05-28 21:28:27


                you can see,



                libfglrx-amdxvba1:amd64 libgl1-fglrx-glx:amd64 glx-alternative-fglrx:amd64 & libfglrx:amd64 


                got installed by Synaptic. as like libfglrx:amd64 got removed by Synaptic.



                We went the reverse order, so first we remove the newly installed packages and we re-add the packages that got removed.



                A working command for this case could looks like:



                sudo apt-get remove -y libfglrx-amdxvba1:amd64 libgl1-fglrx-glx:amd64 glx-alternative-fglrx:amd64 libfglrx:amd64 && sudo apt-get install -y libfglrx:amd64


                Maybe it wouldn't be the best idea to go without the -y switch - to have more control about the process (to avoid broken dependencies). Most of you wouldn't break their finger while do a few verification "y"



                In most cases a rollback is possible this way, but if dependencies are already broken - you may run into a even bigger issue.






                share|improve this answer






















                • Best answer, thanks a lot!
                  – userlond
                  Nov 23 '17 at 3:44












                up vote
                5
                down vote










                up vote
                5
                down vote









                Mostly you can consult /var/log/apt/history.log for changes done by apt/synaptic. It's just a little forensic and alot of cut/paste to do.



                Go back to the date when your system was still working fine.



                First take all packages that got installed since then and put them together in an uninstall script. When the script has finished, start re-adding all removed packages again.



                An example case:

                logfile:



                Start-Date: 2014-05-28 21:28:11
                Commandline: synaptic
                Install: libfglrx-amdxvba1:amd64 (13.12-3kali1, automatic), libgl1-fglrx-glx:amd64 (13.12-3kali1), glx-alternative-fglrx:amd64 (0.4.1kali1, automatic), libfglrx:amd64 (13.12-3kali1, au$
                Remove: fglrx-glx-ia32:amd64 (12-6+point-3)
                End-Date: 2014-05-28 21:28:27


                you can see,



                libfglrx-amdxvba1:amd64 libgl1-fglrx-glx:amd64 glx-alternative-fglrx:amd64 & libfglrx:amd64 


                got installed by Synaptic. as like libfglrx:amd64 got removed by Synaptic.



                We went the reverse order, so first we remove the newly installed packages and we re-add the packages that got removed.



                A working command for this case could looks like:



                sudo apt-get remove -y libfglrx-amdxvba1:amd64 libgl1-fglrx-glx:amd64 glx-alternative-fglrx:amd64 libfglrx:amd64 && sudo apt-get install -y libfglrx:amd64


                Maybe it wouldn't be the best idea to go without the -y switch - to have more control about the process (to avoid broken dependencies). Most of you wouldn't break their finger while do a few verification "y"



                In most cases a rollback is possible this way, but if dependencies are already broken - you may run into a even bigger issue.






                share|improve this answer














                Mostly you can consult /var/log/apt/history.log for changes done by apt/synaptic. It's just a little forensic and alot of cut/paste to do.



                Go back to the date when your system was still working fine.



                First take all packages that got installed since then and put them together in an uninstall script. When the script has finished, start re-adding all removed packages again.



                An example case:

                logfile:



                Start-Date: 2014-05-28 21:28:11
                Commandline: synaptic
                Install: libfglrx-amdxvba1:amd64 (13.12-3kali1, automatic), libgl1-fglrx-glx:amd64 (13.12-3kali1), glx-alternative-fglrx:amd64 (0.4.1kali1, automatic), libfglrx:amd64 (13.12-3kali1, au$
                Remove: fglrx-glx-ia32:amd64 (12-6+point-3)
                End-Date: 2014-05-28 21:28:27


                you can see,



                libfglrx-amdxvba1:amd64 libgl1-fglrx-glx:amd64 glx-alternative-fglrx:amd64 & libfglrx:amd64 


                got installed by Synaptic. as like libfglrx:amd64 got removed by Synaptic.



                We went the reverse order, so first we remove the newly installed packages and we re-add the packages that got removed.



                A working command for this case could looks like:



                sudo apt-get remove -y libfglrx-amdxvba1:amd64 libgl1-fglrx-glx:amd64 glx-alternative-fglrx:amd64 libfglrx:amd64 && sudo apt-get install -y libfglrx:amd64


                Maybe it wouldn't be the best idea to go without the -y switch - to have more control about the process (to avoid broken dependencies). Most of you wouldn't break their finger while do a few verification "y"



                In most cases a rollback is possible this way, but if dependencies are already broken - you may run into a even bigger issue.







                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited May 29 '14 at 11:32









                Parto

                9,008186399




                9,008186399










                answered May 29 '14 at 9:46









                Matt

                5111




                5111











                • Best answer, thanks a lot!
                  – userlond
                  Nov 23 '17 at 3:44
















                • Best answer, thanks a lot!
                  – userlond
                  Nov 23 '17 at 3:44















                Best answer, thanks a lot!
                – userlond
                Nov 23 '17 at 3:44




                Best answer, thanks a lot!
                – userlond
                Nov 23 '17 at 3:44










                up vote
                3
                down vote













                Unfortunately there is no way to do this yet. Filesystem level snapshot/rollback is one of the features of the upcoming btrfs, but it has a ways yet to become feature complete and stable enough to use as the default filesystem.






                share|improve this answer
















                • 1




                  For filesystem snapshots, you could use LVM instead, with ext3 or ext4.
                  – Flimm
                  Nov 12 '12 at 12:20










                • @Flimm, now you can, though it does not work very well and requires that you set up LVM when you install in the first place.
                  – psusi
                  Nov 12 '12 at 16:02














                up vote
                3
                down vote













                Unfortunately there is no way to do this yet. Filesystem level snapshot/rollback is one of the features of the upcoming btrfs, but it has a ways yet to become feature complete and stable enough to use as the default filesystem.






                share|improve this answer
















                • 1




                  For filesystem snapshots, you could use LVM instead, with ext3 or ext4.
                  – Flimm
                  Nov 12 '12 at 12:20










                • @Flimm, now you can, though it does not work very well and requires that you set up LVM when you install in the first place.
                  – psusi
                  Nov 12 '12 at 16:02












                up vote
                3
                down vote










                up vote
                3
                down vote









                Unfortunately there is no way to do this yet. Filesystem level snapshot/rollback is one of the features of the upcoming btrfs, but it has a ways yet to become feature complete and stable enough to use as the default filesystem.






                share|improve this answer












                Unfortunately there is no way to do this yet. Filesystem level snapshot/rollback is one of the features of the upcoming btrfs, but it has a ways yet to become feature complete and stable enough to use as the default filesystem.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Apr 13 '11 at 18:33









                psusi

                30.5k14786




                30.5k14786







                • 1




                  For filesystem snapshots, you could use LVM instead, with ext3 or ext4.
                  – Flimm
                  Nov 12 '12 at 12:20










                • @Flimm, now you can, though it does not work very well and requires that you set up LVM when you install in the first place.
                  – psusi
                  Nov 12 '12 at 16:02












                • 1




                  For filesystem snapshots, you could use LVM instead, with ext3 or ext4.
                  – Flimm
                  Nov 12 '12 at 12:20










                • @Flimm, now you can, though it does not work very well and requires that you set up LVM when you install in the first place.
                  – psusi
                  Nov 12 '12 at 16:02







                1




                1




                For filesystem snapshots, you could use LVM instead, with ext3 or ext4.
                – Flimm
                Nov 12 '12 at 12:20




                For filesystem snapshots, you could use LVM instead, with ext3 or ext4.
                – Flimm
                Nov 12 '12 at 12:20












                @Flimm, now you can, though it does not work very well and requires that you set up LVM when you install in the first place.
                – psusi
                Nov 12 '12 at 16:02




                @Flimm, now you can, though it does not work very well and requires that you set up LVM when you install in the first place.
                – psusi
                Nov 12 '12 at 16:02










                up vote
                3
                down vote













                When doing a major upgrade, I clone the disk using Clonezilla. Burn it on a CD, have a spare (external) HDD available and follow the instructions on the Clonezilla LiveCD. Choose the partition-image mode, this uses the least space.



                If you think you've broken your system (or wish to revert any changes), simply boot in the Clonezilla LiveCD, select the image on your (external) HDD and restore it. As these images are a literal copy of every bit on your disk, this might take a few hours depending on your disk speed and connection speed (the connection between the data, usually an external USB HDD, and the computer).



                By the way, this is called a backup method.






                share|improve this answer
























                  up vote
                  3
                  down vote













                  When doing a major upgrade, I clone the disk using Clonezilla. Burn it on a CD, have a spare (external) HDD available and follow the instructions on the Clonezilla LiveCD. Choose the partition-image mode, this uses the least space.



                  If you think you've broken your system (or wish to revert any changes), simply boot in the Clonezilla LiveCD, select the image on your (external) HDD and restore it. As these images are a literal copy of every bit on your disk, this might take a few hours depending on your disk speed and connection speed (the connection between the data, usually an external USB HDD, and the computer).



                  By the way, this is called a backup method.






                  share|improve this answer






















                    up vote
                    3
                    down vote










                    up vote
                    3
                    down vote









                    When doing a major upgrade, I clone the disk using Clonezilla. Burn it on a CD, have a spare (external) HDD available and follow the instructions on the Clonezilla LiveCD. Choose the partition-image mode, this uses the least space.



                    If you think you've broken your system (or wish to revert any changes), simply boot in the Clonezilla LiveCD, select the image on your (external) HDD and restore it. As these images are a literal copy of every bit on your disk, this might take a few hours depending on your disk speed and connection speed (the connection between the data, usually an external USB HDD, and the computer).



                    By the way, this is called a backup method.






                    share|improve this answer












                    When doing a major upgrade, I clone the disk using Clonezilla. Burn it on a CD, have a spare (external) HDD available and follow the instructions on the Clonezilla LiveCD. Choose the partition-image mode, this uses the least space.



                    If you think you've broken your system (or wish to revert any changes), simply boot in the Clonezilla LiveCD, select the image on your (external) HDD and restore it. As these images are a literal copy of every bit on your disk, this might take a few hours depending on your disk speed and connection speed (the connection between the data, usually an external USB HDD, and the computer).



                    By the way, this is called a backup method.







                    share|improve this answer












                    share|improve this answer



                    share|improve this answer










                    answered Apr 13 '11 at 21:02









                    Lekensteyn

                    115k46258349




                    115k46258349




















                        up vote
                        2
                        down vote













                        You can install an older version of a given package (downgrade) with apt or dpkg easily. Finding an older version of the package is the problem as these often disappear from the pool and mirrors as updates roll in.



                        If you install the package from an install CD or an outdated mirror or a cache, you will also need to keep it pinned to the old version so it won't be upgraded until you allow that. Which means you have to watch for updates and test them until your problem is fixed. This is of course a problem since meanwhile (maybe forever) you'll be left with the unfixed, possibly insecure package. That means every user with some kind of system issue will be left in some random state until they can resolve it.



                        All software also isn't forwards compatible, so an older version of something may well not behave right when fed with newer configuration or data files. Obviously this is impossible to solve unless you also roll back all user data to a state before the upgrade was done.



                        It would be great if there was a way to do this, but it is massively problematic. Anyone who thinks there is a coherent solution should write a proposal and invite comments or, better yet, make a proof of concept solution (code, script, document). Trolling and whining is not constructive.



                        Because there is no clean technical solution, most software is developed (and integrated) with "the only way is forward" mentality. Trying to manage outdated versions is a waste of everyone's time. Found problems are fixed in newer versions ASAP. As a minor solution, I would like to see an archive of previous package versions kept somewhere for the occasional temporary workaround.



                        Meanwhile you can report bugs and don't expect bleeding edge software to never fail. A fix, once found, should be in the next update. Devs are humans (mostly), and therefore fallible. Computers are fiddly and full of insane variety and detail. Defensively maintained systems using well-supported components and stable integrated software distribution can be very stable without becoming insecure or non-upgradeable despite this.






                        share|improve this answer


























                          up vote
                          2
                          down vote













                          You can install an older version of a given package (downgrade) with apt or dpkg easily. Finding an older version of the package is the problem as these often disappear from the pool and mirrors as updates roll in.



                          If you install the package from an install CD or an outdated mirror or a cache, you will also need to keep it pinned to the old version so it won't be upgraded until you allow that. Which means you have to watch for updates and test them until your problem is fixed. This is of course a problem since meanwhile (maybe forever) you'll be left with the unfixed, possibly insecure package. That means every user with some kind of system issue will be left in some random state until they can resolve it.



                          All software also isn't forwards compatible, so an older version of something may well not behave right when fed with newer configuration or data files. Obviously this is impossible to solve unless you also roll back all user data to a state before the upgrade was done.



                          It would be great if there was a way to do this, but it is massively problematic. Anyone who thinks there is a coherent solution should write a proposal and invite comments or, better yet, make a proof of concept solution (code, script, document). Trolling and whining is not constructive.



                          Because there is no clean technical solution, most software is developed (and integrated) with "the only way is forward" mentality. Trying to manage outdated versions is a waste of everyone's time. Found problems are fixed in newer versions ASAP. As a minor solution, I would like to see an archive of previous package versions kept somewhere for the occasional temporary workaround.



                          Meanwhile you can report bugs and don't expect bleeding edge software to never fail. A fix, once found, should be in the next update. Devs are humans (mostly), and therefore fallible. Computers are fiddly and full of insane variety and detail. Defensively maintained systems using well-supported components and stable integrated software distribution can be very stable without becoming insecure or non-upgradeable despite this.






                          share|improve this answer
























                            up vote
                            2
                            down vote










                            up vote
                            2
                            down vote









                            You can install an older version of a given package (downgrade) with apt or dpkg easily. Finding an older version of the package is the problem as these often disappear from the pool and mirrors as updates roll in.



                            If you install the package from an install CD or an outdated mirror or a cache, you will also need to keep it pinned to the old version so it won't be upgraded until you allow that. Which means you have to watch for updates and test them until your problem is fixed. This is of course a problem since meanwhile (maybe forever) you'll be left with the unfixed, possibly insecure package. That means every user with some kind of system issue will be left in some random state until they can resolve it.



                            All software also isn't forwards compatible, so an older version of something may well not behave right when fed with newer configuration or data files. Obviously this is impossible to solve unless you also roll back all user data to a state before the upgrade was done.



                            It would be great if there was a way to do this, but it is massively problematic. Anyone who thinks there is a coherent solution should write a proposal and invite comments or, better yet, make a proof of concept solution (code, script, document). Trolling and whining is not constructive.



                            Because there is no clean technical solution, most software is developed (and integrated) with "the only way is forward" mentality. Trying to manage outdated versions is a waste of everyone's time. Found problems are fixed in newer versions ASAP. As a minor solution, I would like to see an archive of previous package versions kept somewhere for the occasional temporary workaround.



                            Meanwhile you can report bugs and don't expect bleeding edge software to never fail. A fix, once found, should be in the next update. Devs are humans (mostly), and therefore fallible. Computers are fiddly and full of insane variety and detail. Defensively maintained systems using well-supported components and stable integrated software distribution can be very stable without becoming insecure or non-upgradeable despite this.






                            share|improve this answer














                            You can install an older version of a given package (downgrade) with apt or dpkg easily. Finding an older version of the package is the problem as these often disappear from the pool and mirrors as updates roll in.



                            If you install the package from an install CD or an outdated mirror or a cache, you will also need to keep it pinned to the old version so it won't be upgraded until you allow that. Which means you have to watch for updates and test them until your problem is fixed. This is of course a problem since meanwhile (maybe forever) you'll be left with the unfixed, possibly insecure package. That means every user with some kind of system issue will be left in some random state until they can resolve it.



                            All software also isn't forwards compatible, so an older version of something may well not behave right when fed with newer configuration or data files. Obviously this is impossible to solve unless you also roll back all user data to a state before the upgrade was done.



                            It would be great if there was a way to do this, but it is massively problematic. Anyone who thinks there is a coherent solution should write a proposal and invite comments or, better yet, make a proof of concept solution (code, script, document). Trolling and whining is not constructive.



                            Because there is no clean technical solution, most software is developed (and integrated) with "the only way is forward" mentality. Trying to manage outdated versions is a waste of everyone's time. Found problems are fixed in newer versions ASAP. As a minor solution, I would like to see an archive of previous package versions kept somewhere for the occasional temporary workaround.



                            Meanwhile you can report bugs and don't expect bleeding edge software to never fail. A fix, once found, should be in the next update. Devs are humans (mostly), and therefore fallible. Computers are fiddly and full of insane variety and detail. Defensively maintained systems using well-supported components and stable integrated software distribution can be very stable without becoming insecure or non-upgradeable despite this.







                            share|improve this answer














                            share|improve this answer



                            share|improve this answer








                            edited Apr 13 '17 at 12:24









                            Community♦

                            1




                            1










                            answered Nov 12 '12 at 11:25









                            XTL

                            1316




                            1316






















                                 

                                draft saved


                                draft discarded


























                                 


                                draft saved


                                draft discarded














                                StackExchange.ready(
                                function ()
                                StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f34888%2fis-there-any-way-to-roll-back-the-most-recent-upgrade%23new-answer', 'question_page');

                                );

                                Post as a guest













































































                                Popular posts from this blog

                                Unable to execute new pre-installation script (/var/lib/dpkg/tmp.ci/preinst)

                                Running the scala interactive shell from the command line

                                Do not install recommended packages of dependencies