Saya telah menerima distribusi perangkat lunak Unix sebagai file cpio terkompresi. Apa perintah terbaik untuk mengekstrak file?
Saya telah menerima distribusi perangkat lunak Unix sebagai file cpio terkompresi. Apa perintah terbaik untuk mengekstrak file?
Jawaban:
gzip -cd foo.cpio.gz | cpio -idmv
mkdir archive
cd archive
zcat ../archive.cpio.gz | cpio -idmv --no-absolute-filenames
Meskipun ini adalah pertanyaan lama, ini muncul tinggi di Google, jadi saya pikir saya mungkin memperbaruinya. Saya setuju dengan jawaban yang diterima secara umum, tetapi Anda harus menambahkan "--no-absolute-filenames" kecuali Anda bermaksud menimpa file sistem penting pada mesin Anda. Juga, secara pribadi, saya lebih suka "zcat" daripada "gzip -cd" atau "gunzip -c".
Terakhir, perhatikan bahwa Anda perlu menjalankan cpio sebagai root (mis. Sudo) jika Anda mengekstrak sistem file root yang berisi node perangkat.
Halaman Wikipedia ini cpio
memiliki beberapa catatan bagus.
Untuk detail lebih lanjut, lihat cpio
manual .
Tautan dari halaman Wikipedia yang sama membahas perbandingan dengan tar
arsip .
Dan, berikut adalah contoh penggunaan cpio
dengan tar
format .
Misalnya, untuk mengekstrak konten yang diarsipkan dari / etc / httpd / ke direktori saat ini, membuat subdirektori ./etc/httpd/
mkdir restored-etc-httpd
cd restored-etc-httpd
zcat archive.cpio.gz | cpio -idmv --no-absolute-filenames "*etc/httpd/*"
Jawaban yang diterima dan Matt sama-sama membantu saya tetapi saya bingung untuk sementara karena tiga detail:
--no-absolute-filenames
harus mendahului pola pada baris perintah/
dari nama file, pola yang cocok juga harus menghilangkan yang memimpin/
man cpio
apa yang Anda lihat?