Grundlegender CPIO-Extraktionsbefehl, Äquivalent zu „tar xzvf“?

Grundlegender CPIO-Extraktionsbefehl, Äquivalent zu „tar xzvf“?

Ich habe eine Unix-Softwareverteilung als komprimierte cpio-Datei erhalten. Welcher Befehl ist der beste, um die Dateien zu extrahieren?

Antwort1

gzip -cd foo.cpio.gz | cpio -idmv
  • i: Extrahieren (Eingabe)
  • d: Verzeichnisse erstellen
  • m: mtime beibehalten
  • v: ausführlich

Antwort2

mkdir archive
cd archive
zcat ../archive.cpio.gz | cpio -idmv --no-absolute-filenames

Obwohl dies eine alte Frage ist, wird sie bei Google weit oben angezeigt, daher dachte ich, 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. Außerdem bevorzuge ich persönlich „zcat“ gegenüber „gzip -cd“ oder „gunzip -c“.

Beachten Sie abschließend, dass Sie cpio als Root ausführen müssen (z. B. sudo), wenn Sie ein Root-Dateisystem extrahieren, das Geräteknoten enthält.

Antwort3

Um beispielsweise den archivierten Inhalt von /etc/httpd/ in das aktuelle Verzeichnis zu extrahieren und Unterverzeichnisse ./etc/httpd/ zu erstellen

mkdir restored-etc-httpd
cd restored-etc-httpd    
zcat archive.cpio.gz | cpio -idmv --no-absolute-filenames "*etc/httpd/*"

Sowohl die akzeptierte Antwort als auch die von Matt waren für mich hilfreich, aber ich war aufgrund dreier Details eine Zeit lang ratlos:

  1. Das passende Muster muss in Anführungszeichen gesetzt werden, um als Muster zu funktionieren :P
  2. Die Option --no-absolute-filenamesmussvorausgehendas Muster auf der Kommandozeile
  3. Da diese Option die führenden Zeichen /aus Dateinamen entfernt, muss das passende Muster auch die führenden Zeichen weglassen./

Antwort4

Diese Wikipedia-Seite übercpiohat einige gute Anmerkungen.
Weitere Einzelheiten finden Sie imcpioHandbuch.

Ein Link von derselben Wikipedia-Seitediskutiert Vergleich mit tarArchivenUnd
hier ist ein Beispiel fürVerwendung cpiomit dem tarFormat.

verwandte Informationen