A few words of thanks would be greatly appreciated.

Restoring Linux using tar

The principle is to make a single archive containing all files on the hard disk to make a backup.
Under Linux, it is possible to access all the files and modify them even if they are in use. It is theoretically not necessary, therefore, to run on a Live-CD for backup or restore.
To create and to restore our archive, we will just use tar.


Before doing the backup: ensure not to include useful files:

1. Empty your recycle bin of every user,
2. If you want a system backup, do not add personal documents.
3. Also empty the cache folder of fitness: When downloading a packet, it remains on the disk, they must be abolished to win (a lot) of space. For this, type in a terminal:

sudo aptitude clean

It is very important if you follow this trick directly from the system restore (no Live-CD for example) not to use other software during the backup: do not modify files on the disk during reading tar.

The best to do is the backup after installing the system, after installing its software and the like updates like this, the system is clean.


To get full access to system files, let us root user by typing in a terminal:

sudo su

Then go to where you want to create the archive: here we take the root of the drive: /

cd /

Well, we can create our archive using the following command:

tar cvpzf backup.tgz --exclude=/backup.tgz --exclude=/lost+found   --exclude=/media 

  • cvpzf: what are the options: to create (c) showing an archive (v) the scroll on the screen. Each file will retain its permissions (p) using gzip (z) to create the file (f) backup.tgz.
  • The records and files after - exclude / are the records that we do not want to include in the archive:
    • 1.backup.tgz: we can not of course include the archive itself failing to create a loop ...
    • 2. / lost + found, these files are not used to much.
    • 3. / media: we must not include the other file systems.
    • 4. As we want to save, it puts "/" to include the root file system.

Run the command and then wait as it might take time.
At the end, you end up with a file backup.tgz in the root file system containing all the files in "/" we have not excluded.


  • You can also use gzip Bzip2 instead: this will cause a compression of larger files (an archive smaller) but the process will take longer.
  • To this solution, just replace "z" with "j" in the options, and name the archive so that it ends with. "Tar.bz2", like this:

tar cvpjf backup.tar.bz2 --exclude=/backup.tar.bz2 --exclude=/lost+found --exclude=/media /


Here be careful: handling below replace each file with their "counterpart" in the archive, so be sure what you do.

Backup.tgz Place the file in the root file system, then put you in as root (sudo su) and put you in the root (cd /)
  • Here is the command to restore any type:

tar xvpfz backup.tgz -C /
  • Or in the case of using Bzip2 to replace gzip:

tar xvpfj backup.tar.bz2 -C /

x: to extract.
-C: to use the current directory (/) to extract the files.

To restore, type the command. Then press enter and wait until the process finishes.

There only one thing: if you have excluded files (eg / lost + found), you must recreate them with the command
mkdir /lost+found

That is: after a system reboot, you'll have a system in the same condition as when creating the backup!


Under linux, so its really important to do a system restore.


A few words of thanks would be greatly appreciated.

Ask a question
CCM is a leading international tech website. Our content is written in collaboration with IT experts, under the direction of Jean-François Pillou, founder of CCM.net. CCM reaches more than 50 million unique visitors per month and is available in 11 languages.


This document, titled « Restoring Linux using tar », is available under the Creative Commons license. Any copy, reuse, or modification of the content should be sufficiently credited to CCM (ccm.net).

1 Comment