So entpacken Sie eine tar.gz-Datei
Wenn Sie Open-Source-Software verwenden, werden Sie wahrscheinlich irgendwann auf eine .tar-Datei stoßen. Das Open-Source-Tar-Archivierungsprogramm gibt es seit 1979 Daher ist es in der POSIX-Welt wirklich allgegenwärtig. Sein Zweck ist einfach: Es nimmt eine oder mehrere Dateien und „verpackt“ sie in eine in sich geschlossene Datei, die als Bandarchiv bezeichnet wird, da bei der Erfindung von tar Daten verwendet wurden Speicherbänder.
Personen, die neu im tar-Format sind, setzen es normalerweise einer .zip-Datei gleich, aber ein tar-Archiv wird insbesondere nicht komprimiert. Das tar-Format erstellt nur einen Container für Dateien, die Dateien können jedoch komprimiert werden Häufige Komprimierungen für eine .tar-Datei sind Gzip, bzip2 und xz. Aus diesem Grund wird selten nur eine .tar-Datei angezeigt, und es treten häufiger .tar.gz- oder .tgz-Dateien auf.
Installieren von tar
Unter Linux, BSD, Illumos und sogar Mac OS ist der Befehl tar bereits für Sie installiert.
Unter Windows ist dies der einfachste Weg, mit .tar-Dateien umzugehen ist zu insta ll das LGPL Open Source 7-Zip-Dienstprogramm. Sein Name impliziert, dass es ein Zip-Dienstprogramm ist, aber es funktioniert auch mit Tar-Archiven und bietet sogar Befehle für die Befehlszeilenschnittstelle cmd.
Wenn Sie wirklich ein tatsächliches Tar-Dienstprogramm unter Windows möchten, ist GNU tar Installierbar über WSL unter Windows 10 oder über Cygwin.
Erstellen eines Tarballs
Ein Teerarchiv wird häufig als Tarball bezeichnet, vermutlich weil wir Hacker es lieben, Wörter auf möglichst wenige Silben zu verkürzen und „tarball“ ist kürzer und einfacher als „tar archive“.
In einer GUI ist das Erstellen eines Tarballs höchstens ein dreistufiger Prozess. Ich verwende KDE, aber Der Vorgang ist in Gnome oder XFCE im Wesentlichen der gleiche:
- Erstellen eines Verzeichnisses
- Platzieren Sie Ihre Dateien im Verzeichnis
- Klicken Sie mit der rechten Maustaste auf das Verzeichnis und wählen Sie „Komprimieren“
compress.jpg
Tarball erstellen
In einer Shell ist es im Grunde dasselbe Prozess.
Um eine gr zu sammeln Gruppe von Dateien in einem Archiv, platzieren Sie Ihre Dateien in einem Verzeichnis und rufen Sie dann tar auf. Geben Sie dabei einen Namen für das zu erstellende Archiv und das zu archivierende Verzeichnis an:
Das Dienstprogramm tar ist unter Befehlen einzigartig, da für die kurzen Optionen keine Bindestriche erforderlich sind, sodass Hauptbenutzer komplexe Befehle wie folgt abkürzen können:
Sie müssen keine Dateien in ein Verzeichnis stellen, bevor Sie sie archivieren, aber es wird als schlechte Etikette angesehen, dies nicht zu tun, da niemand möchte, dass 50 Dateien auf seinem Desktop verteilt werden, wenn die Archivierung eines Verzeichnisses aufgehoben wird. Diese Art von Archiven wird manchmal als Tarbomb bezeichnet, wenn auch nicht immer mit negativer Konnotation. Tarbombs sind nützlich für Patches und Software-Installer. Es geht nur darum zu wissen, wann man sie verwendet und wann man sie vermeidet.
Komprimieren von Archiven
Durch das Erstellen eines Tar-Archivs werden Ihre Dateien nicht komprimiert, sondern nur einfacher Bewegen Sie sich als ein Blob. Für die Komprimierung können Sie den Tar-Aufruf Gzip oder bzip verwenden:
$ tar --create --bzip2 --file foo.tar.bz2 myfiles
$ tar --create --gzip --file foo.tar.gz myfiles
Häufige Erweiterungen sind tar.gz und .tgz für einen Gzipped-Tar Datei und .tbz und .tar.bz2 für eine gezippte TAR-Datei.
Extrahieren von Archiven
Wenn Sie einen Tarball von einem Freund oder einem Softwareprojekt erhalten haben, können Sie extrahieren es entweder in Ihrem GUI-Desktop oder in einer Shell. Klicken Sie in einer GUI mit der rechten Maustaste auf das Archiv, das Sie extrahieren möchten, und wählen Sie „Extrahieren“.
extract_0.jpg
Extrahieren eines Archivs
Der Dolphin-Dateimanager bietet eine Funktion zum automatischen Erkennen, ob die aus einem Archiv extrahierten Dateien in einem Verzeichnis enthalten sind oder ob ein neues Verzeichnis für sie erstellt werden muss. Ich verwende diese Option, damit Dateien beim Extrahieren aus einer Tarbomb aufgeräumt und enthalten bleiben.
In einer Shell ist der Befehl zum Extrahieren eines Archivs ziemlich intuitiv:
Hauptbenutzer verkürzen dies auf:
Sie können sogar das Dienstprogramm tar zum Entpacken von ZIP-Dateien verwenden:
Advanced tar
Die tar-Dienstprogramme sind sehr robust und flexibel. Sobald Sie mit den Grundlagen vertraut sind, ist es hilfreich, andere Funktionen zu erkunden.
Hinzufügen einer Datei oder eines Verzeichnisses zu einem vorhandenen Tarball
Wenn Sie einen vorhandenen Tarball haben und dies möchten Wenn Sie eine neue Datei hinzufügen, müssen Sie nicht alles entarchivieren, nur um eine neue Datei hinzuzufügen.
Die meisten Linux- und BSD-Desktops verfügen über ein Dienstprogramm für grafische Archive. Mit diesem können Sie ein Tar-Archiv öffnen Schauen Sie sich das Verzeichnis an, extrahieren Sie einzelne Dateien, fügen Sie Dateien hinzu und zeigen Sie sogar eine Vorschau der darin enthaltenen Textdateien und Bilder an.
ark.jpg
Das Ark-Archivierungsdienstprogramm
In der Shell können Sie einem Tar-Archiv eine Datei oder ein Verzeichnis hinzufügen, solange es nicht komprimiert ist. Wenn Ihr Archiv komprimiert wurde, müssen Sie es dekomprimieren, aber Sie müssen es nicht entarchivieren.
Wenn beispielsweise ein Archiv mit Gzip komprimiert wurde:
$ gunzip archive.tar.gz
$ ls
archive.tar
Nachdem Sie ein unkomprimiertes Teerarchiv haben, fügen Sie eine Datei und ein Verzeichnis hinzu:
$ tar --append --file archive.tar foo.txt
$ tar --append --file archive.tar bar/
Die kürzere Version:
$ tar rf archive.tar foo.txt
$ tar rf archive.tar bar/
Anzeigen einer Liste von Dateien in einem Tarball
Um die Dateien in einem komprimierten oder unkomprimierten Archiv anzuzeigen, verwenden Sie – Listenoption:
$ tar --list --file archive.tar.gz
myfiles/
myfiles/one
myfiles/two
myfiles/three
bar/
bar/four
foo.txt
Hauptbenutzer verkürzen dies auf:
Extrahieren Sie nur eine Datei oder Verzeichnis
Manchmal benötigen Sie nicht alle Dateien in einem Archiv, sondern möchten nur eine oder zwei extrahieren. Verwenden Sie nach dem Auflisten des Inhalts eines Tar-Archivs den üblichen Befehl tar extract zusammen mit dem Der Pfad der Datei, die Sie extrahieren möchten, lautet:
$ tar xvf archive.tar.gz bar/four
bar/four
Das Extrahieren mehrerer Dateien oder Verzeichnisse ist grundsätzlich der gleiche:
$ tar xvf archive.tar.gz myfiles/one bar/four
myfiles/one
bar/four
Sie können sogar Platzhalter verwenden:
$ tar xvf archive.tar.gz --wildcards "*.txt"
foo.txt
Extrahieren eines Tarballs in ein anderes Verzeichnis
Zuvor habe ich erwähnt, dass einige Tarballs übrig gebliebene Tarbomben waren Dateien auf Ihrem Computer verstreut. Wenn Sie ein Tar-Archiv auflisten und feststellen, dass seine Dateien nicht in einem Verzeichnis enthalten sind, können Sie ein Zielverzeichnis für sie erstellen:
$ tar --list --file archive.tar.gz
foo
bar
baz
$ mkdir newfiles
$ tar xvf archive.tar.gz -C newfiles
Hiermit werden alle Dateien abgelegt Die Dateien im Archiv werden ordentlich in das Verzeichnis „newfiles“ verschoben.
Die Option „Zielverzeichnis“ ist viel mehr als nur zum Aufräumen extrahierter Dateien nützlich, z. B. zum Verteilen von Dateien, die in ein Verzeichnis kopiert werden sollen vorhandene Verzeichnisstruktur. Wenn Sie an einer Website arbeiten und dem Administrator einige neue Dateien senden möchten, können Sie dies auf verschiedene Arten tun. Die naheliegende Möglichkeit besteht darin, die Dateien zusammen mit einem Text per E-Mail an den Site-Administrator zu senden, in dem erläutert wird, wo sich die einzelnen Dateien befinden sollen platziert: „Die angehängte Datei index.php wird in /var/www/example.com/store und die Datei vouchers.php in /var/www/example.com/deals …“
Der effizientere Weg wäre, ein Tar-Archiv zu erstellen:
Angesichts dieser Struktur könnte der Site-Administrator Ihr eingehendes Archiv direkt in das Stammverzeichnis des Servers extrahieren. Das Dienstprogramm tar erkennt automatisch das Vorhandensein von /var/www/example.com sowie die Unterverzeichnisse, speichert und behandelt die Bilder und verteilt die Dateien in den richtigen Verzeichnissen. Es ist Massenkopieren und Einfügen, schnell und einfach.
GNU-Teer und BSD-Teer
Das Teer-Format ist nur ein Format, und es ist ein offenes Format kann mit mehr als nur einem Tool erstellt werden.
Es gibt zwei gängige Tar-Dienstprogramme: das GNU-Tar-Dienstprogramm, das standardmäßig auf Linux-Systemen installiert ist, und das BSD-Tar-Dienstprogramm, das standardmäßig unter BSD und Mac OS installiert ist und einige Linux-Systeme. Für den allgemeinen Gebrauch reicht jeder Teer. Alle Beispiele in diesem Artikel funktionieren beispielsweise für GNU- oder BSD-Teer gleich. Die beiden Dienstprogramme weisen jedoch einige geringfügige Unterschiede auf. Wenn Sie sich mit einem vertraut gemacht haben, sollten Sie das andere ausprobieren.
Sie müssen wahrscheinlich den „anderen“ Teer installieren (was auch immer darauf sein mag) Ihr System) manuell. Um Verwechslungen zwischen Dienstprogrammen zu vermeiden, wird GNU tar häufig als gtar und BSD tar als bsdtar bezeichnet, wobei der Befehl tar ein Symlink oder ein Alias zu dem auf Ihrem Computer vorinstallierten Befehl ist.