I tend of wipe my hard drive and reinstall my computer’s operating system quite often. Why? Because I like to try out new Linux distributions on a regular basis, not only to help me get familiar with more than just Ubuntu (or Fedora or OpenSUSE), but so that I know what’s out there. I like to to keep up-to-date. What this does, however, is force me, in most cases, to spend quite a bit of time installing programs that I like to use, but that aren’t generally a part of a standard distribution. Thankfully, a new project called Meta Backup was recently released, and it goes a long way toward solving that problem.
Meta Backup is a script that basically makes an installer that ensures that the programs you have on your current computer will be installed on your new one. It does this by creating a meta package (hence the name), that includes all of your currently installed programs as dependencies.
What is a meta package? A meta package is not a program in and of itself, but in order for it to be installed, it requires other programs to be installed along with it. For instance, if you use Ubuntu, there are three main meta packages, called ubuntu-minimal, ubuntu-standard and ubuntu-desktop. Those three packages don’t do anything per se, but installing them will also install all the standard Ubuntu “stuff,” so that when installed, you’ll end up with an environment that is pretty much what you’d get if you installed Ubuntu from a CD.
Meta Backup works the same way, and using it is very simple. Start it by typing “meta-backup” into a Terminal (without the quotes). A window will pop up asking you if you have extra repositories installed on your current system. Answer yes or no, depending on whether or not you use extra repositories (for software not normally available from your Linux distribution’s software library). Once you’ve done this, it will tell you that a new installer, called my-meta-backup.deb, has been saved in your home directory.
This package depends on all the programs currently on your computer. You can then take this package and install it on other computers, which results in all the programs on your computer right now being installed with little effort. What will happen when you double-click it to install is that the extra repositories you’re currently using will be added to your new computer (which enables any “extra” software to be installed), and the full list of software on your “old” computer will be added to your “new” computer, all in a single step.
I can honestly say I’ve been waiting for something like this since I started using Linux. It definitely wouldn’t be something I would “need’ if it wasn’t for how often I delete and install Ubuntu, but since I do, something like Meta Backup is a great option. It isn’t perfect yet. One of the other parts to reinstalling Ubuntu is that I need to delete programs I don’t want, whether that’s the Firefox web browser (because I use Google Chrome as my default), or a remote desktop client, because I don’t have a need for one. What I would really like is a program – like Meta Backup – which would not only make sure everything on my computer gets installed, but that everything “extra” on the new computer (stuff that isn’t on my old computer), gets deleted. That’s probably not a good option, however, as something it deletes might be important to the new system. Wouldn’t want to mess it up right away!
There are two things to consider when looking at Meta Backup. First is that it is designed for Debian systems (this is the only installation option from the project’s GTK-Apps.org page. Second, the page suggests it is designed for a desktop environment which uses the GNOME or GTK toolkit, or on any system where aptitude (a command-line package manager), is available. I’m currently using KDE, and Meta Backup worked fine once I installed aptitude, but as for the first requirement, of a Debian-based system, that’s something to keep in mind. As such, Meta Backup will work on Debian, Ubuntu, and other Debian derivatives.