Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
admin_grundlagen:tar [2014/09/01 10:38] ingo_wichmann [tar: erweiterte Attribute, ACLs, Capabilities] |
admin_grundlagen:tar [2024/05/24 10:14] (aktuell) |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== tar ====== | ====== tar ====== | ||
- | Wichtige Optionen für tar: | + | ^ Hauptoptionen ^^^ |
- | | c | ''--create'' | tar Archiv erstellen | | + | | ''c'' | ''%%--create%%'' | tar Archiv erstellen | |
- | | x | ''--extract'' | tar Archiv auspacken | | + | | ''x'' | ''%%--extract%%'' | tar Archiv auspacken | |
- | | d | ''--diff'' | tar Archiv vergleichen | | + | | ''t'' | ''%%--list%%'' | tar Archiv anzeigen | |
- | | f | ''--file'' | tar Archiv in angegebene Datei schreiben bzw. aus angegebener Datei lesen | | + | | ''d'' | ''%%--diff%%'' | tar Archiv vergleichen | |
- | | l | ''--one-file-system'' | keine Mountpoints sichern, bleibe auf dem Start-Dateisytem | | + | ^ weitere Optionen ^^^ |
- | | | ''--numeric-owner'' | Nicht die Namen, sondern die Nummern der Benutzer sollen gesichert werden. Notwendig bei der Sicherung des Kompletten Systems | | + | | ''f'' | ''%%--file%%'' | tar Archiv in angegebene Datei schreiben bzw. aus angegebener Datei lesen | |
- | | z | ''--gzip'' | gzip Komprimierung: geringere Komprimierung, nicht reparierbar bei Fehlern, geringer Rechenaufwand | | + | | ''l'' | ''%%--one-file-system%%'' | keine Mountpoints sichern, bleibe auf dem Start-Dateisytem | |
- | | j | ''--bzip2'' | bzip2 Komprimierung: höhere Komprimierung, größere Datensicherheit, mehr Rechenaufwand im Vergleich zu gzip | | + | | ''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 ===== | ===== tar und gzip ===== | ||
(( wird man in der Praxis so selten verwenden, nur um zu zeigen das //tar// und //gzip// zwei verschiedene Aufgaben erfüllen. )) | (( wird man in der Praxis so selten verwenden, nur um zu zeigen das //tar// und //gzip// zwei verschiedene Aufgaben erfüllen. )) | ||
Zeile 18: | Zeile 26: | ||
Archiv entpacken: | Archiv entpacken: | ||
gunzip directory.tar.gz | gunzip directory.tar.gz | ||
- | Archiv ansehen: | + | unkomprimiertes Archiv ansehen: |
tar tf directory.tar | tar tf directory.tar | ||
+ | komprimiertes Archiv ansehen: | ||
+ | tar tzf directory.tar.gz | ||
Archiv auspacken: | Archiv auspacken: | ||
tar xf directory.tar | tar xf directory.tar | ||
Zeile 31: | Zeile 41: | ||
tar xzf directory.tgz | tar xzf directory.tgz | ||
- | ===== tar: erweiterte Attribute, ACLs, Capabilities ===== | + | ====== Sicherung des root-Dateisystems auf Band ====== |
- | //testen, klappt evtl nur mit RH-Version und tar ab Version 1.27// | + | Sicherung: |
- | tar c --selinux --acls --xattrs-include='*' /usr/bin/ping | ( tar x --selinux --acls --xattrs-include='*' -C /tmp ) | + | |
- | tar -cf - | ( cd somewhere; tar -x --selinux --acls --xattrs-include='*' -f - -C dst ) | + | |
- | ((https://bugzilla.redhat.com/show_bug.cgi?id=771927)) | + | |
- | | + | tar cf /dev/st0 --directory / --one-file-system --numeric-owner . |
- | ===== Sicherung mit tar auf Band ===== | + | |
- | Komplettsicherung eines Systems auf Band ( ''/dev/st0'' ), bei dem die Verzeichnisse ''/'' und ''/usr'' und ''/dev'' auf separaten Dateisystemen liegen: | + | Überprüfung der Sicherung: (im tar-Archiv fehlende Dateien werden nicht angezeigt (( |
- | tar clf /dev/st0 --numeric-owner / /usr | + | 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 . | ||
- | oder in Langform: | + | ====== Sicherung in Datei auf entfernten Rechner mit ssh ===== |
- | tar --create --one-file-system --numeric-owner --file /dev/st0 / /usr | + | tar-Archiv auf Rechner notebook02 anlegen: |
+ | tar cj --directory /usr/share doc | ssh notebook02 'cat > /tmp/doc.tar.bz2' | ||
- | + | Wiederherstellung: | |
- | Überprüfung der Sicherung: | + | ssh notebook02 'cat /tmp/doc.tar.bz2' | tar xj --directory /usr/share |
- | cd / && tar dlf /dev/st0 * | + | |
- | + | ||
- | Sicherung in Datei, mit Logdateien: | + | |
- | mount server:/verzeichnis /mnt/sicherung | + | |
- | tar -czvf /mnt/sicherung/notebook22a.tgz --numeric-owner --one-file-system / /usr /dev > /mnt/sicherung/notebook22a.log 2>/mnt/sicherung/notebook22a.err | + | |
- | + | ||
- | Sicherung auf mehrere Dateien aufteilen, z.B. wegen Dateisystem-Begrenzungen oder für CD's: | + | |
- | tar -cz --numeric-owner --one-file-system / /usr/bin/ | split -b 650m /mnt/sicherung/notebook22a.tgz. | + | |
====== Dateien kopieren mit sudo, tar und ssh ====== | ====== Dateien kopieren mit sudo, tar und ssh ====== | ||
Zeile 64: | Zeile 67: | ||
)) | )) | ||
====== Verzeichnisse kopieren mit sudo, tar und netcat ====== | ====== Verzeichnisse kopieren mit sudo, tar und netcat ====== | ||
+ | Unter Debian (6) getestet, unter CentOS wahrscheinlich andere Schalter. | ||
===== Empfänger ===== | ===== Empfänger ===== | ||
- | netcat -l -s 172.16.240.155 -p 6666 | sudo tar xzP --directory /mnt/kopie | + | netcat -l -s 172.16.240.155 -p 6666 | sudo tar xz --directory /mnt/kopie |
((alternativ, incl. Anzeige der Übertragung: | ((alternativ, incl. Anzeige der Übertragung: | ||
- | netcat -l -s 172.16.240.155 -p 6666 | pv -b -r | sudo tar xzP --directory /mnt/kopie | + | netcat -l -s 172.16.240.155 -p 6666 | pv -b -r | sudo tar xz --directory /mnt/kopie |
)) | )) | ||
===== Sender ===== | ===== Sender ===== | ||
- | tar cPz --numeric-owner --directory /mnt/original . | nc -q0 -T reliability 172.16.240.155 6666 | + | 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 |