If I want to make a backup of everything I have done since the fresh install of Ubuntu, what are the possible options? What all should I backup? I want to get all the settings that I changed, all the packages I installed, etc.
A quick way of backing up a list of programs is to run this:
It will back them up in a format that dpkg can read for after your reinstall, like this:
Settings and Personal Data
Before you reinstall, you should probably back up the settings from some of your programs, this can easily be done by grabbing folders from /etc and all the content from your user directory (not just the stuff you can see in nautilus!):
After you reinstall, you can restore it with:
So all together as a pseudo-bash script.
This assumes there is only one user on the machine (remove
Who is this for: users that have normal regular use of their computer, that have done minimal or no configuration outside their home folder, did not mess up startup scripts and services. A user that wants to have his software restored to how it was when he installed it with all customizations being done and kept in their home folder.
Who this will not fit for: servers geeks, power users with software installed by source (restoring the package list might break your system), users that have changed the startup script of some application to fit better their needs. Caution: there is a big chance any modifications outside home will be over written.
Backup your current packages and user settings
Once you are ready with your system and happy with the software installed you can get a list of the installed packages using the command
Save the currently installed packages list
Make a backup of your apt sources file
and a copy of your apt's list of trusted keys
Make a backup of your home folder with the integrated backup tool in Ubuntu, Deja-dup.
When this is done you will have a backup of your packages and configuration files relative to your user. If when necessary you will be able to restore your files from the
Restoring your backup
Start by restoring the sources file from the backup made
The backed-up keys
Update your sources lists
Restore the packages from the saved
Remove your current configuration from your home creating a backup of the folder in their current state (after all, whats the use of restoring fresh files if there are other there that can affect the configuration?)
After this is done restore the backup created with Deja-dup.
After this is done you will have your packages back to the saved selection, our configuration restored and hopefully a working desktop, all of that without installing a single extra application and using the Ubuntu default tools.
The only thing left is to do some clean up and check that everything is working.
Something went wrong, my desktop is gone
There are a few posts in Ask Ubuntu that can guide you in case something when wrong and you need to hard reset your desktop. If something when wrong and you find your self needing to do so, please have a look at these posts:
Backups take some planning and there are several viable strategies. You will have to decide which method works best for you.
Be careful about "best way" , what works best for one person may not be best for another.
At the end of the day, the "best method" is one that has been tested and known to work. You need to test your backup strategy BEFORE you need it
One way is to simply copy and compress an image of your partitions. You can do this with several tools, anything from dd to partimage to clonezilla
The advantage of this strategy is that it is (relatively) easy and very complete. The disadvantage is that the back up images are large.
You can make smaller backups by only backing up data and settings. There are several tools to do this, everything from dd to tar to rsync.
The key here is to know what you need to back up.
Advantage - Backups will be smaller.
A list of what to back will always need to be reviewed to make sure the list is complete.
1) List of installed packages
Package list # Create a text list of an existing installation of all apt-get installed packages # in order to re-install on a newly installed distro
You would then perform a fresh install, and restore your packages. The following commands also update all the packages on your system (so restore and full update all at once).
2) Data. Generally this would be /home . Most user data and customization's are going to be in your users home directory. If you save data in other locations, include that (for example /media/data).
3) system settings . Here is where there is going to be some variation. Personally if I edit ANY system setting, I keep a copy of the original configuration file and my custom file in /root. So if I edit
You will also need
On a server you may need to include
I understand this takes some effort, so, it may be easier to include all of
4) A copy of your disk partition table.
You can use this information to restore your partition table if you replace your hard drive.
5) A copy of your MBR
You would then restore with
6) Other files/directories - Depending on your system and customization you may need to include additional directories. Considerations might include
7) Put all that into an archive
As an alternate to tar, you can use rsync.
Another option is to use NFS or Samba to back up data.
You can automate backups by writing a backup script and running it (daily / hourly) with cron.
1) Using a live CD, restore your partitions using gparted or fdisk from the information in fdisk.bak
There are many additional strategies for backup, some for backing up your home directory only, some graphical.
It is not a backup unless it is tested. This is most important when you are NOT using an image of your root partition.
Test restoring your system in a VM, a spare computer, or a spare partition or hard drive.
To create a backup list of all your installed programs: http://savvyadmin.com/backup-and-restore-package-lists-in-ubuntu/
As for your program settings, most of those are in hidden (start with a
Although this question has been answered for a while, I noticed that nobody mentioned etckeeper. Run
For instance, (assuming you configured git as your VCS) back up your
Home Data, Configuration
That defeats the purpose of a "format-and-install". If you want to do that, just do an upgrade from your existing Ubuntu installation.
Since "installation" in Ubuntu is as simply as going into the Software Center (or Synaptic or
As long as your data and program settings are backed up, you should be fine. If you still want a comprehensive list of everything in your system so you know if a package is missing, just go into the terminal and type
I'll assume its a new HDD, SSD or new system or you had on an old Ubuntu. Now you want to upgrade to 12.04?
I'll assume you detest installing them all again or reconfiguring? No need to.
Open the terminal by pressing Ctrl+Alt+T, and run the following command:
Then cp the text file to your home directory by:
Next run backup application from the systems settings in side bar.
Then reversed the backup using restore, pick in the backup program you used, and now \home is back.
Lastly, reverse the
Restoring home, gets all settings for your applications. I installed a SSD ,and copied all the files, but still did a backup just in case.
PS: this avoids, actually backing up, massive apps machine code, etc. Make sure your download folder is clean. Not full of machine code or videos then burn the
I had the same question above !! then I found this website:
I will copy what the website says for backing up the programs:
"Along with backing up my /home partition, I also use Synaptic Package Manager to periodically make a backup list of all my installed packages (applications and their dependencies). To do this you need to be using an Ubuntu-based distro or one that uses Synaptic. I’m not familiar with doing this in other distros that use a different package manager. But in Bodhi Linux, Linux Mint, or any other Ubuntu/Debian derivative, just open Synaptic; go to File> Save Markings. Make sure to check the little box that says ‘Save full state, not only changes’ and then save that file to wherever you want (preferably wherever you saved your /home backup). Then when you need to reinstall an operating system, after applying all updates, you can open Synaptic, go to File> Read Markings and choose your saved Packages file. As long as you’re connected to the internet it will automatically download and install all the applications and other packages that you had originally installed. This certainly saves a lot of time and trouble so you don’t have to search for and reinstall all your application"
find another solution:
it will back up all ypur apps and put them in an ISO image
You can also take a look at this forum here:
All the commands listed above have been put together into a script everyone can use. It is made for Linux Mint, but will most likely also work for Ubuntu: Installing a new release is quite quick, but getting the settings (such as fstab, cronjobs, etc.) back to how I like them takes me usually 1-2 days.
So I decided to write two scripts: a.) Backup_Linux_Settings: Saves all the current settings, installed packages, data stored in home folder and tweaks you have done to the system. b.) Restore_Linux_Settings Script which restores these "settings" into your new freshly installed Linux Mint.
Thanks for all of your contributions!
If storage space isn't a concern using dd or dc3dd will back absolutely everything on the target disk or partition you designate. You don't want to try this on a mounted drive so you'd do this from a bootable USB or DVD (or your install media choosing "Try Ubuntu")
where is the disk or partition that you wish to backup and target is the backup filename (often the same)(sda, sda1)
substitute dc3dd for dd if you want a progress report. You can typically mount the resulting img as a loop device by
to access specific files in the backup or restore the entire disk or partition by swapping the if= and of= parameters as in
where is the image file that you wish to restore and is the drive or partition you wish to restore it to.
PROS: Easy to backup and easy to restore everything.
CONS: Time consuming (computer time, not yours) and not suitable for daily backup
source: experience; I use this approach to backup client systems prior to beginning work and have never lost a bit of client data.
You can also take a look at this project:
All the commands listed above have been put together into a script everyone can use. The restore script lets you choose several options (e.g., "just restore packages" or "restore everything" etc.). It is open source and very convenient.
To backup all your installed package, with a GUI, you can use the Ubuntu Software Center, Go in Menu (then log-in) and Sync all your package. When you will need to re-install, select all package from a machine and click 'install' from the same menu.
From the command line (CLI) you can also use OneConf (oneconf).
I didn't check for a year, maybe this have now more option like some settings instead of only package listing backup.
protected by Community♦ Jun 2 '14 at 14:18
Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.
Would you like to answer one of these unanswered questions instead?