Rollback, a barrel of fun

One morning, not long ago, I ran the sudo conary updateall command in the terminal emulator in one of my Foresight Linux Xfce installations. Conary did what it was told, as Conary always does unless the connection times out or something. But this time, one of its gifts was a beta of Opera 11.50.

Opera did something clever. The beta installed itself as opera-next and borrowed my bookmarks ‘n stuff from the ~/.opera directory, so I could use both the stable version (11.11) and the beta side-by-side. Or so that was the theory. The beta didn’t work, for whatever reason, and the stable version wouldn’t load.

Reader, I was plunged into despair. Maybe someday I’ll write a blog post about why I love Opera so much. But I understand that browser discussions can get as perfervid as WordPerfect vs. Word or (X)Emacs vs. Vi(m), so for now, all I want to say is that I’ve been using Opera since version 5, which came out a couple of days before the Supreme Court stopped the Florida vote recount, and I’ve hardly ever had a problem with it. I’ve run alpha versions that have been worked better than the stable versions of some programs. Not this time. Ahh…nobody’s perfect, you know what I’m sayin’?

But despair is fleeting in the world of Linux, where our women are tougher than their men. I decided to try the promising command sudo conary rollback, which cancels the effects of the last updateall while it insinuates hokey Wal-Mart jingles into your brain. Rollback is pretty customizable; you can roll back the last two, or more, or you can even roll back every update and restore your Foresight system to what it was like the very minute you first installed it. You can think of it as the Linux version of Stephen Hawking’s A Brief History of Time. Reader, I ask you to remember the power of sudo conary rollback…a power so great that, yea, verily it can reshape the past.

Before one tries a rollback, it might be useful to run the sudo conary rblist command, which gives you a verbose list of changes, organized by updateall moments. Here is a partial example:

r.10:
updated: conary:config foresight.rpath.org@fl:2-qa/2.2.15-1-1 -> 2.3.3-1-1
updated: conary:data foresight.rpath.org@fl:2-qa/2.2.15-1-1 -> 2.3.3-1-1
updated: conary:doc foresight.rpath.org@fl:2-qa/2.2.15-1-1 -> 2.3.3-1-1
updated: conary:python foresight.rpath.org@fl:2-qa/2.2.15-1-1 -> 2.3.3-1-1
updated: conary:runtime foresight.rpath.org@fl:2-qa/2.2.15-1-1 -> 2.3.3-1-1
updated: Thunar(:config :data :doc :lib :locale :runtime) foresight.rpath.org@fl:2-qa/1.2.1-0.2-1 -> 1.2.2-0.1-1
updated: conary foresight.rpath.org@fl:2-qa/2.2.15-1-1 -> 2.3.3-1-1
updated: exaile(:config :data :doc :lib :locale :runtime) foresight.rpath.org@fl:2-qa/0.3.2.1-1-1 -> 0.3.2.1-1-2
updated: gdm(:config :data :lib :locale :runtime) foresight.rpath.org@fl:2-qa/2.32.1-1-1 -> 2.32.1-2-1
updated: gdm-user-switch-applet(:data :lib :runtime) foresight.rpath.org@fl:2-qa/2.32.1-1-1 -> 2.32.1-2-1
updated: group-base foresight.rpath.org@fl:2-qa/2.5.0+2011.05.18-0.1-2 -> 2.5.0+2011.06.02-0.1-1
updated: group-codecs foresight.rpath.org@fl:2-qa/2.5.0+2011.05.18-0.1-2 -> 2.5.0+2011.06.02-0.1-1
updated: group-mozilla foresight.rpath.org@fl:2-qa/2.5.0+2011.05.18-0.1-2 -> 2.5.0+2011.06.02-0.1-1
updated: group-pidgin foresight.rpath.org@fl:2-qa/2.5.0+2011.05.18-0.1-2 -> 2.5.0+2011.06.02-0.1-1
updated: group-printing foresight.rpath.org@fl:2-qa/2.5.0+2011.05.18-0.1-2 -> 2.5.0+2011.06.02-0.1-1
updated: group-text-tools foresight.rpath.org@fl:2-qa/2.5.0+2011.05.18-0.1-2 -> 2.5.0+2011.06.02-0.1-1
updated: group-xfce-apps foresight.rpath.org@fl:2-qa/2.5.0+2011.05.18-0.1-2 -> 2.5.0+2011.06.02-0.1-1
updated: group-xfce-extras foresight.rpath.org@fl:2-qa/2.5.0+2011.05.18-0.1-2 -> 2.5.0+2011.06.02-0.1-1
updated: group-xorg foresight.rpath.org@fl:2-qa/2.5.0+2011.05.18-0.1-2 -> 2.5.0+2011.06.02-0.1-1
updated: libcanberra(:data :lib) foresight.rpath.org@fl:2-qa/0.26-1-1 -> 0.26-2-1
updated: libexo(:config :data :doc :lib :locale :python :runtime) foresight.rpath.org@fl:2-qa/0.6.1-1-1 -> 0.6.1-2-1
updated: libgpod(:lib :python) foresight.rpath.org@fl:2-qa/0.7.95-1-2 -> 0.7.95-1-3

r.9:
installed: binutils:devel foresight.rpath.org@fl:2-qa/2.20.51.0.2-6-1
installed: binutils:devellib foresight.rpath.org@fl:2-qa/2.20.51.0.2-6-1
installed: gcc(:devel :devellib :doc :lib :locale :runtime) foresight.rpath.org@fl:2-qa/4.4.4-5-1
installed: libgcc:devellib foresight.rpath.org@fl:2-qa/4.4.4-5-1

r.8:
updated: b43-fwcutter(:doc :runtime) foresight.rpath.org@fl:2-devel/012-7-1 -> 013-1-1

And so on. (I recommend that you run sudo conary rblist in your favorite terminal emulator with the window maximized; that chatty output is hard to read as it is, and it’s a lot worse if every line is broken.)

Anyway, that told me that I wanted to rollback #10. So I blithely typed sudo conary rollback 10, having, of course, misread the instructions. That command doesn’t roll back update number 10, it rolls back the last 10 updates, which, in my case, is all of them.

I saw my Opera 11.11 come back.

I saw update number 10 vanish into the ether from whence it came.

I saw update number 9 disintegrate, too, and I thought, “Hmmmm. This can’t be good.”

I saw update number 8, and my b43-fwcutter, fall screaming into the nihilistic bit-bucket.

I saw the best minds of my generation destroyed by madness, starving hysterical naked.

I felt myself rising slowly and yet falling down upon shattered dreams. Crystal sights are shattered and distorted by reality’s truth.

I felt myself hurtling back into the endless moment before time when the whole universe was contained in a single atom, and unimaginable particles in their rage and chaos howled against the boundaries of infinity.

Reader, I hit [Ctrl-Z].

Without a word or a whimper, the rollback stopped.

“Jumpin’ pumpkins!” I exclaimed. “That was a close one!” I ran another useful conary command, sudo conary pin opera. The pin command inoculates the object, in this case Opera, from future attempts to alter it; it’s something like apt-get hold.

I ran sudo conary updateall to repair the damage I had done. Everything was restored to its state of a few minutes before. Opera-next was there, though it didn’t work. Opera-of-the-eternal-present was there, too, and it worked just fine.

Foresight Linux is so cool!

Envoi

Since the events described above, the Foresight packagers have been busy. A recent sudo conary updateall brought me an especially interesting update: from the reliable but dowdy OpenOffice.org 3.2.1 to LibreOffice 3.4.1. Not only did they skip generation 3.3, but they went from Open to Libre, which I hadn’t seen done anywhere before. It seems to work fine, too, though in all honesty my current projects haven’t required me to do anything strenuous with either Writer or Calc.

This entry was posted in Uncategorized. Bookmark the permalink.

6 Responses to Rollback, a barrel of fun

  1. Yes, noticed it too. Opera-next did install extensions, profile settings in another directory.

    So now, 11.50 is in as “stable” release. Should update and keep all settings.

    The version is: opera=foresight.rpath.org@fl:2-devel/11.50-1-1

    looks like you are in fl:2-qa label, you need to install it like:

    sudo conary update opera=foresight.rpath.org@fl:2-devel
    or
    sudo conary update opera=@fl:2-devel

    Same command really ^ :)

    [TForsman@localhost ~]$ conary q opera –info
    Name : opera Build time: Thu Jun 30 09:11:31 2011

    Was built early yesterday, sorry for the opera problem. Hope it will act normal again if you unpin and update :)

    • Forgot to write, when devel label is stable from all Xorg updates, it will be pushed to fl:2-qa. So you could wait until it gets in fl:2-qa
      to check whats there now:
      conary rq opera=@fl:2-qa
      and
      conary rq opera=@fl:2-qa –info
      will give little more info about latest build
      When we update fl:2-qa, a normal sudo conary update opera will do fine

    • Eddie says:

      No need for apologies. I think the Opera beta problem was not because there was something wrong with the packaging in the Foresight repo, but because it was a beta. :)

      Opera 11.50 went out of beta and into release quickly, so I didn’t try the beta in any other distro, only in Foresight.

  2. Ohh, and about rollback. you should use: sudo conary rollback r.10 to remove r.10 and everything after it. And as you wrote, rollback 10 will rollback latest 10 updates/changes.

  3. Pingback: Links 1/7/2011: Linux at HP, Mozilla Thunderbird for Ubuntu Default | Techrights

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Captcha Garb (1.5)