5

15 years ago GoBack came out which let Windows users revert changes and restore a computer to a previous state. It did this by imposing a journaling system underneath the OS - at the block level, not the file level - and letting you roll back changes.

Is there anything like that for Linux? It's easy to do this inside VirtualBox, but I'd like this to be for my main top-level machine.

How easy would it be to make a virtual machine be one's normal machine? How would one go about this?

Luis Alvarado
  • 211,503
Daniel
  • 460
  • There are two questions here. Its preferable to ask only one question per post. Edit your question to ask only either of the question. You can post the other question as a new entry. – Bhavin Doshi May 14 '13 at 18:56

3 Answers3

4

There was an old version called TimeVault but the one I found similar to what you are looking for would be Back In Time which was inspired by TimeVault itself. It takes snapshops of predefined parts of the system. You can customize this to take the whole system.

The PPA explains that you only need to do 3 things:

  1. Where to save snapshots
  2. What to backup
  3. Backup frequency (manual, every hour, every day, every month)

The Stable releases can be found in the stable branch

You can install it via terminal with:

If in KDE type sudo apt-get install backintime-kde

If in GNOME type sudo apt-get install backintime-gnome

You can also install it via Software Center:

enter image description here

Ubuntu also comes with Deja-Dup by default which supports backing up externally to Ubuntu One, Amazon or even RackSpace. Similar to BackInTime, you can select what to backup, how often and how to restore.

enter image description here

Achu
  • 21,237
Luis Alvarado
  • 211,503
4

What you describe is a feature known as filesystem snapshots. LVM implements this in the block layer, and the btrfs filesystem has it built into the filesystem itself. Practically speaking both are still not usable for the average person for several reasons:

  1. Current LVM snapshots perform badly when you create more than one, which rather limits their usefulness. This should be improved with the multi snapshot feature still being developed.
  2. btrfs is still in heavy development and not considered stable enough for production use
  3. There are no simple to use gui tools written to make use of these features

If you are feeling adventurous and want to play around with these systems, preferably in a throw away system you don't care if you blow up, then here's how:

For LVM, you will need to format the system to use LVM when you install. You should read the Ubuntu wiki entry on LVM. You use lvcreate -s to create a snapshot of the volume, then you can make changes, install packages, etc, and you can mount the snapshot to see the old state of files, and if you chose, revert the system to that state at the next boot with lvconvert --merge.

For btrfs, you need to use the btrfs filesystem, and then install the apt-btrfs-snapshot package. This package will automatically create a snapshot before apt modifies any packages, and provides a command line utility to view and manipulate the snapshots.

psusi
  • 37,551
1

Luis, as usual, gave you a very nice and detailed answer.

I would just add, Linux is not Windows and it is rare you would ever need to roll back your system.

For the most part, you can back up /home, any system files you manually edit, and keep a list of installed applications.

See: http://savvyadmin.com/backup-and-restore-package-lists-in-ubuntu/

and How to list all installed packages

It is then very easy to restore with a fresh install from a live "cd".

Panther
  • 102,067