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.