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 cpiomemiliki beberapa catatan bagus.
Untuk detail lebih lanjut, lihat cpiomanual .
Tautan dari halaman Wikipedia yang sama membahas perbandingan dengan tararsip .
Dan, berikut adalah contoh penggunaan cpiodengan tarformat .
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-filenamesharus mendahului pola pada baris perintah/dari nama file, pola yang cocok juga harus menghilangkan yang memimpin/
man cpioapa yang Anda lihat?