mkdir archive
cd archive
zcat ../archive.cpio.gz | cpio -idmv --no-absolute-filenames
Dies ist zwar eine alte Frage, sie taucht aber bei Google auf, sodass ich dachte, ich könnte sie aktualisieren. Ich stimme der akzeptierten Antwort im Allgemeinen zu, aber Sie sollten "--no-absolute-filenames" hinzufügen, es sei denn, Sie beabsichtigen, wichtige Systemdateien auf Ihrem Computer zu überschreiben. Auch persönlich bevorzuge ich "zcat" gegenüber "gzip -cd" oder "gunzip -c".
Beachten Sie schließlich, dass Sie cpio als root ausführen müssen (z. B. sudo), wenn Sie ein Root-Dateisystem extrahieren, das Geräteknoten enthält.
Um beispielsweise den archivierten Inhalt von / etc / httpd / in das aktuelle Verzeichnis zu extrahieren, erstellen Sie Unterverzeichnisse ./etc/httpd/
Die akzeptierte Antwort und die von Matt waren beide hilfreich für mich, aber ich war eine Weile ratlos wegen drei Details:
Das passende Muster muss in Anführungszeichen gesetzt werden, um als Muster zu funktionieren: P
Die Option --no-absolute-filenamesmuss vor dem Muster in der Befehlszeile stehen
Da bei dieser Option der führende /Punkt aus den Dateinamen entfernt wird, muss im übereinstimmenden Muster auch der führende Punkt weggelassen werden/
man cpio
was gesehen?Antworten:
quelle
Dies ist zwar eine alte Frage, sie taucht aber bei Google auf, sodass ich dachte, ich könnte sie aktualisieren. Ich stimme der akzeptierten Antwort im Allgemeinen zu, aber Sie sollten "--no-absolute-filenames" hinzufügen, es sei denn, Sie beabsichtigen, wichtige Systemdateien auf Ihrem Computer zu überschreiben. Auch persönlich bevorzuge ich "zcat" gegenüber "gzip -cd" oder "gunzip -c".
Beachten Sie schließlich, dass Sie cpio als root ausführen müssen (z. B. sudo), wenn Sie ein Root-Dateisystem extrahieren, das Geräteknoten enthält.
quelle
Diese Wikipedia-Seite
cpio
hat einige gute Hinweise.Weitere Einzelheiten finden Sie im
cpio
Handbuch .Ein Link auf derselben Wikipedia-Seite beschreibt den Vergleich mit
tar
Archiven .Und hier ist ein Beispiel für die Verwendung
cpio
mit demtar
Format .quelle
Um beispielsweise den archivierten Inhalt von / etc / httpd / in das aktuelle Verzeichnis zu extrahieren, erstellen Sie Unterverzeichnisse ./etc/httpd/
Die akzeptierte Antwort und die von Matt waren beide hilfreich für mich, aber ich war eine Weile ratlos wegen drei Details:
--no-absolute-filenames
muss vor dem Muster in der Befehlszeile stehen/
Punkt aus den Dateinamen entfernt wird, muss im übereinstimmenden Muster auch der führende Punkt weggelassen werden/
quelle