Tar ile birlikte kullanılırken gzip hatası


0

Ubuntu'da yeniyim. Gzip ile birlikte tar işlevini kullanırken hatam var. Aşağıdaki kodu kullanıyorum:

find -type d -name 'doc*' | tar -czvf /path/where/gz/file/is/stored/file.tar.gz -T-

Ancak süreç başlıyor, sıkıştırmaya başlıyor ve bunun gösterilmesi arasında kesintiye uğradı:

gzip: short write 
tar: write error: Broken pipe

ve boş bir tar.gz. yaratır Bunu nasıl düzeltebilirim?


Diğer sıkıştırma algoritmaları, örneğin görülüyor mu bzip2: tar -cjya xz: tar -cJ?
heemayl

evet, olur -cj.
kaya

Çalışıyor find -type d -name 'doc*' -exec tar -cvzf file.tar.gz {} +mu
heemayl

Komutun bu şekilde olması gerekirse açıklığa kavuşturmak isterim: Bulmak -dip d-name 'doc *' -exec tar -cvzf / yol / to file.tar.gz {} +
kaya

Evet, belli ki.
heemayl

Yanıtlar:


0
tar -zcf /path/to/be/stored/file.tar.gz * 

Bu çalıştı. Ancak, gzip'lerin gönderileceği dosyaların özel klasöründe olmanız gerekir.


-1

Bunun tar, kaydedilecek dosyaların listesini kabul ettiğini varsayıyorsunuz STDIN. O değil. Bkz man tarve info tar.

Daha iyi bir yol, eğer dizin listeniz çok uzun değilse, komut değiştirme yoluyla:

tar -czvf /path/where/gz/file/is/stored/file.tar.gz \
    $( find . -type d -name 'doc*' -print)

1
Öyle -T-, tam olarak bunun için.
heemayl

sadece tar kullanarak iyi çalışıyordu (ancak yine de dizinin boyutunu iki katına çıkardım), bir tar dosyası aldım.
kaya
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.