# Installbackup mit tar?

## Harsesis

Ich habe Gentoo (wieder mal) neu aufgesetzt oder besser gesagt ich bin mitten in der Installation. Gleich komme ich wieder zu einem Punkt wo mir es die chroot-Umgebung zerhaut (bei emerge --update world zerhaut es mir "bash"). Da man den Portage und die Distfiles ja alle entpackt (tar -p fuer die Dateirechte) muesste man ja - rein theoretisch - alle Daten der HDD packen koennen mit tar cjf * backup.tar, oder irre ich mich da? Wie sieht es mit den rechten aus oder fuehrt der Befehl so ins Nirvada? Habe ich einen anderen Denkfehler drin? Hilfe waere nett!

P.S. Das ich das nicht im gechrooteten zustand machen kann ist mir schon klar  :Wink: 

----------

## SinoTech

 *Harsesis wrote:*   

> Ich habe Gentoo (wieder mal) neu aufgesetzt oder besser gesagt ich bin mitten in der Installation. Gleich komme ich wieder zu einem Punkt wo mir es die chroot-Umgebung zerhaut (bei emerge --update world zerhaut es mir "bash"). Da man den Portage und die Distfiles ja alle entpackt (tar -p fuer die Dateirechte) muesste man ja - rein theoretisch - alle Daten der HDD packen koennen mit tar cjf * backup.tar, oder irre ich mich da? Wie sieht es mit den rechten aus oder fuehrt der Befehl so ins Nirvada? Habe ich einen anderen Denkfehler drin? Hilfe waere nett!
> 
> P.S. Das ich das nicht im gechrooteten zustand machen kann ist mir schon klar 

 

Ja, also sollte funktionieren. Bei solchen sachen mounte ich die Partition aber immer "read-only" (Keine Ahnung ob das nötig ist, aber man kann ja nie wissen  :Smile: ).

BTW du musst den Namen des tar-Archivs als erstes Argmuent hinter dem "-f" Switch übergeben. Also:

tar cjf backup.tar *

Mfg

Sino

----------

## Harsesis

Danke fuer die schnelle Antwort, ich bin gerade an dem Punkt angelangt wo ich das Backup machen sollte  :Smile: 

----------

## SinoTech

Evtl. solltest du noch den "-p" (--preserve-permissions) Switch verwenden. Wobei ich nicht weiß ob der auch schon beim Erstellen des Archives eine Wirkung hat, oder erst beim entpacken.

Mfg

Sino

----------

## smg

 *SinoTech wrote:*   

> Evtl. solltest du noch den "-p" (--preserve-permissions) Switch verwenden. Wobei ich nicht weiß ob der auch schon beim Erstellen des Archives eine Wirkung hat, oder erst beim entpacken.
> 
> Mfg
> 
> Sino

 

Ja gerade beim Packen ist -p extrem wichtig. Wie sollte sonst im Archiv sichergestellt werden, was welche Permission davor hatte? Sonst erpackt er alles einfach mit den Rechten des entpackenden Users...

----------

## energyman76b

Hi,

also... erstmal -p ist nur beim auspacken wichtig.

zweitmal, du darfst --exclude=/proc und --exclude=/sys nicht vergessen, sonst versucht er, die mitzupacken. Und das ist nicht nur Unsinn, kostet Zeit und Platz, sondern kann auch zur Katastrophe führen. --exclude=/dev ist auch nicht schlecht.

tar -cvvf backup.tar / --exclude=/proc --exclude=/sys --exclude=/dev --exclude=/tmp --exclude=/var/lib/init.d --totals >& /tmp/tar.log

sollte klappen.

Um sicher zu gehen, kannst du auch -cvvpsf machen.

Auf mein Tape sicher ich damit:

tar -cpsvvf /dev/tape /  --exclude=/proc --exclude=/dev --exclude=/sys --exclude=/var/tmp --exclude=/tmp --exclude=/usr/portage --exclude=/udev --exclude=/mnt --exclude=/home --exclude=/backup-files --exclude=/backup-fehler --exclude=/usr/src --exclude=/usr/local --totals 1>/backup.files 2>/backup.fehler

----------

## smg

 *energyman76b wrote:*   

> Hi,
> 
> also... erstmal -p ist nur beim auspacken wichtig.
> 
> 

 

Mh. Das stimmt, ja. Hatte das anders in der Erinnerung, aber man tar hilft ja Wunder.  :Smile: 

Danke!

Bye.

----------

## AlexG

 *energyman76b wrote:*   

> 
> 
> zweitmal, du darfst --exclude=/proc und --exclude=/sys nicht vergessen, sonst versucht er, die mitzupacken.
> 
> 

 

besser ist --exclude=/proc/* --exclude=/sys/* und --exclude=/tmp/*

dann sind diese Verzeichnisse wenigstens im Archiv aber leer.

So wie du das machst must du nach dem zurückspielen des Backups erstmal /proc  /sys und /tmp anlegen. Ich hoffe du weißt dann auch welche besonderen Dateirechte das /tmp braucht.  :Embarassed: 

 *Quote:*   

> 
> 
>  --exclude=/dev ist auch nicht schlecht.
> 
> 

 

Mit dem /dev ist es immer so eine Sache, der Kernel benötigt schon einige Gerätedateien in /dev bevor udev startet (z.B. /dev/console), es darf also nicht ganz leer sein. Welche das sind, müsste man nach einem umount /dev sehen -- werde ich später mal testen.

----------

## wuschel

 *energyman76b wrote:*   

> tar -cvvf backup.tar / --exclude=/proc --exclude=/sys --exclude=/dev --exclude=/tmp --exclude=/var/lib/init.d --totals >& /tmp/tar.log

 

Da man IMHO noch einiges mehr ausschließen kann und diese Aufzählung irgendwann unübersichtlich wird kann man's z.B. auch so machen:

```
tar -cpjf /backup.tar.bz2 / -X ~/tar-ausschlussliste
```

Meine tar-ausschlussliste hat z.B. folgenden Inhalt:

```
root@hal:  17 files 149Mb -> cat /root/tar-ausschlussliste

*.tar

*.gz

*.bz2

tmp/*

var/tmp/*

usr/portage/*

proc/*

dev/*

sys/*

mnt/*

usr/src/*

```

Damit habe ich bislang gute Erfahrungen gemacht. Auch das Zurückspielen auf irgendeine andere Partition hat geklappt, du musst nur evtl. die /etc/fstab sowie die /boot/grub/grub.conf daran anpassen.

Da die ersten 3 Zeilen Archivdateien selber ausschließen kannst du die Sicherung sogar auf die selbe Partition machen. 

hth

wuschel

----------

## energyman76b

 *AlexG wrote:*   

>  *energyman76b wrote:*   
> 
> zweitmal, du darfst --exclude=/proc und --exclude=/sys nicht vergessen, sonst versucht er, die mitzupacken.
> 
>  
> ...

 

console und null - beide kann man anlegen. Ist aber auch nicht schlimm, wenn die fehlen. Dann kriegst du vom gentoo-init eine Meckermeldung mit Anleitung, wie du das in Ordnung bringen kannst.

----------

## sidious

wie lege ich /dev/console und /dev/null denn an nachdem ich das backup entpackt habe. welche rechte brauchen die?

Ich frage weil ich vor habe meine Arch-Linux installation auch mit tar zu sichern und dort wird mir wahrscheinlich nicht gesagt wie ich das Problem behebe.

oder gibt es eine möglichkeit die beiden mit zu archivieren obwohl /dev/* in der ausschlussliste steht?

----------

## Fabiolla

 *Quote:*   

> 
> 
> wie lege ich /dev/console und /dev/null denn an nachdem ich das backup entpackt habe.
> 
> 

 

Mit mknod

cd /dev

mknod -m 660 console c 5 1

mknod -m 660 null c 1 3

----------

## sidious

ok,

danke.

aber bist du sicher das die rechte / gruppe stimmen?

ls -l /dev/console gibt bei mir das hier aus:

```

crw------- 1 root tty 5, 1  3. Jan 17:57 /dev/console

```

und ls -l /dev/null

```

crw-rw-rw- 1 root root 1, 3 22. Okt 2000  /dev/null

```

----------

## mv

 *sidious wrote:*   

> oder gibt es eine möglichkeit die beiden mit zu archivieren obwohl /dev/* in der ausschlussliste steht?

 

Wenn die zu sichernden Daten auf einer (/) Partition stehen, würde ich gar keine Ausschlussliste machen, sondern das /dev, /sys, /proc, .... dieser Partition mitsichern. Dazu musst Du sie nur neu mounten, sinngemäß etwa so (als root): 

```
mkdir /neumount

mount --bind / /neumount

cd /neumount

tar cjf backup.tar.bz2 *

cd /

umount /neumount

rmdir /neumount
```

 Alles ungetestet. Möglicherweise musst Du tmp (als Einziges) in die Exclude-Liste setzen, damit tar ggf. nicht seine eigene Temporärdatei einpackt.

Edit: Zum Auspacken (insbesondere um die echte /dev [im Gegensatz zu der "überlagerten" im RAM] mit den Daten zu füllen) solltest Du analog vorgehen.

----------

## Fabiolla

 *Quote:*   

> 
> 
> aber bist du sicher das die rechte / gruppe stimmen? 
> 
> 

 

Ja, mit mknod legst du keine Datei sondern den Device-Node an. Die Rechte werden dann vom System autom. gesetzt.

Ist auch hier http://www.gentoo.org/doc/de/udev-guide.xml so beschrieben:

 *Quote:*   

> 
> 
> Befehlsauflistung 3.2: Erstellen notwendiger Device-Node-Dateien
> 
> # mknod -m 660 console c 5 1
> ...

 

----------

## Aldo

Ganz anderer Ansatz:

Mit 'dd' einfach die komplette Partition sichern.

Läßt sich auch prima splitten um das Backup dann auf CD zu sichern oder so...

/dev/hda1 sichern:

```
dd if=/dev/hda1 bs=1024 | gzip -c | split -b 700m - backup_
```

Restore:

```
cat backup_* | gzip -d | dd of=/dev/hda1 bs=1024
```

Hierbei braucht man sich um Dateirechte etc. nun überhaupt keinen Kopp mehr machen.

----------

## l3u

Also ich würde einfach das stage4-Script benutzen, was hier irgendwo im Forum rumgeistert ... damit mach ich immer Komplett-(Sicherheits-)Backups.

----------

## b3cks

 *Libby wrote:*   

> Also ich würde einfach das stage4-Script benutzen, was hier irgendwo im Forum rumgeistert ... damit mach ich immer Komplett-(Sicherheits-)Backups.

 

Info: http://blinkeye.ch/mediawiki/index.php/GNU/Linux_System_Backup_Script_%28stage4%29

D/L: ftp://blinkeye.ch/gentoo/mkstage4.sh

 :Wink: 

----------

