The “bleeding edge” dilemma

The urge to run the latest trunk of KDE is too great ! but the fact that the trunk is not the most stable keeps a lot of us away from it. Our Friends over at project neon have done a great job trying to address the same issue.
But the problem is slightly bigger than this, imagine a scenario where you are working on two projects and for one piece of code to run you need to uninstall a few installed packages this breaks another piece of software that you need for another project.

Or another scenario would be , you are about to install an experimental piece of software. Do you leave your system in an inconsistent state if that experimental software doesn’t work ? Do you take a back-up ? or do you try to pull off a complex trick of lots of Alternate environments ?

The most embarrassing situation is when you go to your local Free Software User’s Group / LUG to give a talk about how great your OS and its applications are , and just when you are about to speak the app you were showcasing crashes , Damn !
How do you ensure that your apps don’t crash while giving the demo and also maintain your latest unstable hack to your favorite software without both getting into each others way ?

What is the solution to all of the above problems ?
I propose using Boot environments, on Open Indiana a.k.a Oi (Solaris) ( I have started to love this Distro , but my first love is always belenix.org 🙂 )
Now supposing you have a clean install of you create a snapshot

$zfs create snapshot mydistro@firstInstall 

and now make this snapshot bootable

$beadm create -e mydistro@firstinstall FirstInstall 

Now go ahead and bork up your system 🙂
You may want to come back to the borked system again later, so you create a new snapshot and make it bootable.

$zfs create snapshot mydistro@borked
$beadm create -e mydistro@borked Borked 

now you want to boot into the borked Boot Environment next time.

$beadm activate Borked 

reboot, and in the OI grub you will find FirstInstall and Borked entries, select the one you want and continue working. FirstInstall lands you up
in the system before you borked it up. Enjoy hacking 🙂

more info about boot environments and beadm
That’s all for now! Give OI a try , you may switch over 😉
Until next time !
Kunal

Advertisements

5 thoughts on “The “bleeding edge” dilemma

  1. So basically run a virtual machine and take snapshots. I guess what you’re saying is that Solaris has this built-in rather than using a VM?

  2. After second paragraph I said in my mine “just use filesystem snapshots”. Even that Linux OS (= the Linux kernel if some people does not already know) does not support ZFS officially, snapshots are not impossible as we can do them with LVM (what most people should already use!) or then use filesystem specifically designed for Linux OS, the btrfs.

    Filesystem snapshots does not replace the backup procedure but it really helps with risky testing.
    Like when using Arch Linux, people could first make a snapshot before running full system upgrade and if everything works (actually if GRUB is possible to load Linux OS and Linux OS can boot and start INIT and Xorg can start without crashing) then the snapshot can be removed.

    Cant just wait until someone from KDE steps up and develops a nice graphical tool to partitionmanager or even own module to system settings to manage snapshots.

  3. Have you tried KDE Partition Manager, I don’t know if it fits your needs, but here’s the link:

    http://kde-apps.org/content/show.php/KDE+Partition+Manager?content=89595

    Also, there is Lucky Backup (I don’t use it backup programs). Both of these applications are highly ranked on kde-apps.org:

    http://kde-apps.org/index.php?xsortmode=high&page=0&xcontentmode=30x37x56x57x58x70x77x78x210x211x212x213x214x220x221x222x223x224x230x231x232x233x234x235x236x240x241x242x243x250x251x252x253x254x260x261x270x271x272x273x274x280x281x282x283x284x285x287x288x289x295x296x297&PHPSESSID=4e4d8165d05ca37286ea8f22123d2bf1

    Sorry, if you already knew about these.

  4. schroot + lvm (or btrfs if you prefer) does this quite nicely and beautifully on a stock debian/ubuntu install. As a bonus, the same system can be used to keep around minimal 32-bit/64-bit environments for easy package building.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s