Erstellen Sie ein Archiv mit dem Befehl "gzip"

Erstellen Sie ein Archiv mit dem Befehl "gzip"

Ich muss ein Archiv mit dem Befehl gzip (nicht tar - das ist notwendig) erstellen und das Archiv sollte Dateien aus einem anderen Verzeichnis enthalten - zum Beispiel /etc. Ich habe versucht, den Befehl zu verwenden

gzip myetc.gz /etc

Aber es hat nicht funktioniert.

Antwort1

gziparbeitet mit Dateien, nicht mit Verzeichnissen. Um ein Archiv eines Verzeichnisses zu erstellen, müssen Sie daher Folgendes verwenden tar(wodurch aus mehreren Dateien ein einzelnes Tarball erstellt wird):

tar cvf myetc.tar /etc

oder für ein gzipptes Archiv:

tar cvzf myetc.tar.gz /etc

Antwort2

Gzip funktioniert nur mit einer einzelnen Datei oder einem Datenstrom – Daten, die an gzip weitergeleitet werden. Sie müssen also zunächst eine Datei generieren, wie bei tar, und diese dann mit gzip komprimieren. Die andere Möglichkeit besteht darin, alle einzelnen Dateien mit gzip zu komprimieren und diese dann in einer Datei zu tarnen.

Beide Lösungen sind dumm und sollten nicht verwendet werden. Sie sollten Tar mit der integrierten Komprimierungsoption verwenden und alles mit einem Befehl erledigen.

Antwort3

Wenn Sie wirklich kein Tar zur Verfügung haben, können Sie mit gzip und der Option (-r – rekursiv) eine Sicherungskopie eines Verzeichnisses erstellen, aber vielleicht ist das nicht genau das, was Sie erwarten ...

Zuerst müssen Sie Ihr Verzeichnis unter einem anderen Namen kopieren, wenn Sie das ursprüngliche Verzeichnis unantastbar halten möchten.

#cp -a directory my_gzip_alone_backup

Zweitens komprimieren Sie alle Dateien im Verzeichnis rekursiv (-r).

#gzip -r my_gzip_alone_backup

Werfen wir nun einen Blick in das my-gzip-alone-Backup. Sie werden nicht wie erwartet eine einzelne Datei myfile.gz haben, sondern viele rekursiv gzippte Dateien. Aber das ist wegen der symbolischen Links nicht gut mit etc. zu machen...

Zum Dekomprimieren des Verzeichnisses kann die gleiche Logik mit gunzip angewendet werden.

Eine andere Möglichkeit besteht darin, das Verzeichnis in eine einzelne Datei zu konvertieren, wenn Sie dafür kein Tar haben, aber das Dienstprogramm dd, wie in diesem Beitrag gezeigt:https://askubuntu.com/questions/626634/converting-a-file-to-directory

verwandte Informationen