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
gzip
arbeitet 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