Sıkıştırılmış bir cpio dosyası olarak bir Unix yazılım dağıtımı aldım. Dosyaları ayıklamak için en iyi komut nedir?
Sıkıştırılmış bir cpio dosyası olarak bir Unix yazılım dağıtımı aldım. Dosyaları ayıklamak için en iyi komut nedir?
Yanıtlar:
gzip -cd foo.cpio.gz | cpio -idmv
mkdir archive
cd archive
zcat ../archive.cpio.gz | cpio -idmv --no-absolute-filenames
Bu eski bir soru olsa da, Google'da yüksek görünüyor, bu yüzden güncelleyebileceğimi düşündüm. Genel olarak kabul edilen yanıtı kabul ediyorum, ancak makinenizdeki önemli sistem dosyalarının üzerine yazmak istemiyorsanız "--no-mutlak-dosya adları" eklemelisiniz. Ayrıca, şahsen ben "zcat" ı "gzip -cd" veya "gunzip -c" ye tercih ederim.
Son olarak, aygıt düğümleri içeren bir kök dosya sistemi çıkarıyorsanız, cpio'yu root (örneğin sudo) olarak çalıştırmanız gerektiğini unutmayın.
Üzerindeki bu Wikipedia sayfasının cpio
bazı iyi notları var.
Daha fazla ayrıntı için cpio
kılavuza bakınız .
Aynı Wikipedia sayfasındaki bir bağlantı, arşivlerle karşılaştırmayı tartışırtar
.
Ve işte biçim ile birlikte kullanmanıncpio
tar
bir örneği .
Örneğin, / etc / httpd / arşivlenmiş içeriğini geçerli dizine ayıklamak için alt dizinler oluşturun ./etc/httpd/
mkdir restored-etc-httpd
cd restored-etc-httpd
zcat archive.cpio.gz | cpio -idmv --no-absolute-filenames "*etc/httpd/*"
Kabul edilen cevap ve Matt'in ikisi de bana yardımcı oldu ama üç ayrıntı yüzünden bir süre şaşırdım:
--no-absolute-filenames
olmalıdır önce komut satırında desen/
aralığını dosya adlarından kaldırdığından, eşleşen kalıp da satır aralığını atlamalıdır/
man cpio
ne gördün?