Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


lpi1:tar

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

lpi1:tar [2017/10/02 08:26]
lpi1:tar [2024/04/16 15:03] (aktuell)
Zeile 1: Zeile 1:
 +====== tar ======
 +Wichtige Optionen für tar:
 +| ''​c''​ | ''​%%--create%%'' ​ | tar Archiv erstellen |
 +| ''​x''​ | ''​%%--extract%%''​ | tar Archiv auspacken |
 +| ''​t''​ | ''​%%--list%%'' ​   | tar Archiv anzeigen ​ |
 +| ''​d''​ | ''​%%--diff%%'' ​   | tar Archiv vergleichen |
 +| ''​f''​ | ''​%%--file%%'' ​   | tar Archiv in angegebene Datei schreiben bzw. aus angegebener Datei lesen |
 +| ''​l''​ | ''​%%--one-file-system%%''​ | keine Mountpoints sichern, bleibe auf dem Start-Dateisytem |
 +| ''​z''​ | ''​%%--gzip%%'' ​           | gzip Komprimierung:​ geringere Komprimierung,​ nicht reparierbar bei Fehlern, geringer Rechenaufwand |
 +| ''​j''​ | ''​%%--bzip2%%'' ​          | bzip2 Komprimierung:​ höhere Komprimierung,​ größere Datensicherheit,​ mehr Rechenaufwand im Vergleich zu gzip |
 +| ''​J''​ | ''​%%--xz%%'' ​             | xz Komprimierung:​ noch höhere Komprimierung,​ noch mehr Rechenaufwand |
 +|       | ''​%%--zstd%%'' ​             | zstd Komprimierung:​ noch höhere Komprimierung,​ weniger Rechenaufwand,​ threaded |
 +|       | ''​%%--numeric-owner%%'' ​  | Nicht die Namen, sondern die Nummern der Benutzer sollen gesichert werden. Notwendig bei der Sicherung des kompletten Systems |
 +|       | ''​%%--acl%%'' ​            | ACLs mitsichern bzw. wiederherstellen |
 +|       | ''​%%--xattrs%%'' ​         | erweiterte Attribute (für SELinux, Capabilities,​ o.ä.) mitsichern |
 +| ''​C''​ | ''​%%--directory%%''​ | ins Verzeichnis wechseln |
  
 +===== tar und gzip =====
 +(( wird man in der Praxis so selten verwenden, nur um zu zeigen das //tar// und //gzip// zwei verschiedene Aufgaben erfüllen. ))
 +
 +Verzeichnis archivieren:​
 +  tar cf directory.tar directory/
 +Archiv komprimieren:​
 +  gzip directory.tar
 +Archiv entpacken:
 +  gunzip directory.tar.gz
 +unkomprimiertes Archiv ansehen:
 +  tar tf directory.tar
 +komprimiertes Archiv ansehen:
 +  tar tzf directory.tar.gz
 +Archiv auspacken:
 +  tar xf directory.tar
 +
 +===== tar =====
 +Verzeichnis archivieren und komprimieren:​
 +  tar czf directory.tgz directory/
 +komprimiertes Archiv ansehen:
 +  tar tzf directory.tgz
 +komprimiertes Archiv auspacken:
 +  tar xzf directory.tgz
 +
 +====== Sicherung des root-Dateisystems auf Band ======
 +Sicherung: ​
 +
 +  tar cf /dev/st0 --directory / --one-file-system --numeric-owner .
 +
 +Überprüfung der Sicherung: (im tar-Archiv fehlende Dateien werden nicht angezeigt ((
 +Auch die kann man sich raussuchen, aber mir fällt dazu nur eine etwas mühevolle Lösung ein:
 +  tar tf /dev/md0 | sort > /​run/​tar.list
 +  (cd / && find . -xdev \( -type d -printf "​%p/​\n"​ , ! \( -type d -o -type s \) -print \)) | sort  | comm --total -2 -3 - /​run/​tar.list
 +)) )
 +  tar df /dev/st0 --directory / --one-file-system --numeric-owner .
 +
 +====== Sicherung in Datei auf entfernten Rechner mit ssh =====
 +tar-Archiv auf Rechner notebook02 anlegen:
 +  tar cj --directory /usr/share doc | ssh notebook02 'cat > /​tmp/​doc.tar.bz2'​
 +
 +Wiederherstellung:​
 +  ssh notebook02 'cat /​tmp/​doc.tar.bz2'​ | tar xj --directory /usr/share
 +
 +====== Dateien kopieren mit sudo, tar und ssh ======
 +Datei incl. Berechtigungen von notebook01 auf notebook02 kopieren: (( überschreibt ohne zu Fragen! ))
 +  ssh notebook01 'sudo tar cP /​etc/​ssl/​certs/​service.linuxhotel.de.cert.pem /​etc/​ssl/​private/​service.linuxhotel.de.key.pem'​ | ssh notebook02 'sudo tar xP'
 +((alternativ,​ incl. Anzeige der Übertragung:​
 +  ssh notebook01 'sudo tar cP /​etc/​ssl/​certs/​service.linuxhotel.de.cert.pem /​etc/​ssl/​private/​service.linuxhotel.de.key.pem'​ | ssh notebook02 'pv -b -r | sudo tar xP'
 +))
 +====== Verzeichnisse kopieren mit sudo, tar und netcat ======
 +Unter Debian (6) getestet, unter CentOS wahrscheinlich andere Schalter.
 +===== Empfänger =====
 +  netcat -l -s 172.16.240.155 -p 6666 | sudo tar xz --directory /mnt/kopie
 +
 +((alternativ,​ incl. Anzeige der Übertragung:​
 +  netcat -l -s 172.16.240.155 -p 6666 | pv -b -r | sudo tar xz --directory /mnt/kopie
 +))
 +===== Sender =====
 +  tar cz --numeric-owner --directory /​mnt/​original . | nc -q0 -T reliability 172.16.240.155 6666
 +
 +====== erweiterte Attribute, ACLs, Capabilities ======
 +//testen, klappt evtl nur mit RH-Version und tar ab Version 1.27//
 +
 +//Todo: unter CentOS 7 getestet. Was ist mit debian und tar Version 1.27?//
 +
 +The default ACL values have incorrectly been filled in, using the values of the directory'​s access permissions. Dieser Bug ist unter CentOS bekannt: https://​bugs.centos.org/​view.php?​id=7696 ​
 +Diesen Bug gibt es aber auch unter Debian, in tar aus den Backports. Wahrscheinlich auch unter jessie. ​
 +
 +  tar -c --numeric-owner --xattrs --acls --one-file-system --directory / . | ssh nutzer06@notebook06 sudo tar x --xattrs --acls --xattrs-include='​*'​ --directory /​mnt/​backup/​tar
 +((https://​bugzilla.redhat.com/​show_bug.cgi?​id=771927))
 +
 +====== Systembackup ======
 +Systemverzeichnisse ermitteln:
 +  df -hT -x tmpfs -x deftmpfs
 +
 +Alle Systemverzeichnise auf Server sichern:
 +  sudo tar c --one-file-system --numeric-owner / /boot /boot/efi | zstd | ssh nutzer45@notebook45 'cat > /​mnt/​backup.tar.zstd'​
 +  ​
 +====== Grenzen von tar ======
 +  * https://​www.cyphar.com/​blog/​post/​20190121-ociv2-images-i-tar
lpi1/tar.txt · Zuletzt geändert: 2024/04/16 15:03 (Externe Bearbeitung)