วิธีการบีบอัดที่ดีที่สุด?


53

ฉันต้องการบีบอัดโฟลเดอร์ 16GB แต่วิธีการที่ดีที่สุดคืออะไร tar.gz? tar.bz2 หายาก? 7z? ไฟล์เก็บถาวรจะเล็กลงหรือไม่ถ้าฉันบีบอัดในวิธีแรกจากนั้นคัดลอกไฟล์เก็บถาวรที่บีบอัดไปยังโฟลเดอร์ใหม่แล้วบีบอัดไฟล์ในวิธีอื่นได้หรือไม่ ฉันต้องทำให้มันพอดีกับ DVD (อาจจะเป็นเอาท์พุท 8.5GB จำไม่ได้) แต่การใส่ "4370 MB" ทำให้ไฟล์บีบอัดเป็นส่วน 2.5GB

BTW, วิธีการบีบอัดเริ่มต้นบน Ubuntu คืออะไร?

คำตอบ:


70

gzเริ่มต้นคือ ผลลัพธ์ที่ดีที่สุดที่ฉันได้รับมี7zแต่

นี่คือผลลัพธ์สำหรับคอนเทนเนอร์ Virtualbox 1.4 Gb:

ป้อนคำอธิบายรูปภาพที่นี่

การบีบอัดที่ดีที่สุด - ขนาดเป็น MB:

7z 493
rar 523
bz2 592
lzh 607
กรัม 614
Z 614
รหัสไปรษณีย์ 614
.arj 615
lzo 737
สวนสัตว์ 890

แหล่ง

ป้อนคำอธิบายรูปภาพที่นี่

ติดตั้ง

 sudo apt-get install p7zip-full

ขอบคุณฉันติดตั้ง 7z และ rar ผ่าน Software Center เรียบร้อยแล้ว ฉันจะลองกับ 7z
Amanda

1
ผลลัพธ์เหล่านี้มาจากไหน สำหรับอัลกอริธึมทุกอัตราส่วนการบีบอัดและความเร็วขึ้นอยู่กับสิ่งที่คุณพยายามบีบอัด ลองบีบอัดข้อมูลบางส่วนที่มาจาก/dev/urandom: คุณจะได้รับผลลัพธ์ที่แตกต่างกันในการลองแต่ละครั้ง หรือลอง/dev/zero: bzip2 เป็นผู้ชนะ (สำหรับอัตราส่วน)
Andrea Corbellini

1
@AndreaCorbellini ลิงค์อยู่ในคำตอบดังนั้นคลิก! และอย่างที่ฉันพูด: มันขึ้นอยู่กับคอนเทนเนอร์กล่องเสมือน 1.4 ผมยอมรับว่าการบีบอัดขึ้นอยู่มากในสิ่งที่ไฟล์มันมี แต่จากไม่กี่ปีของประสบการณ์ 7z ดูเหมือนว่าจะดีกว่าสำหรับไฟล์ที่ผมมักจะมี (ส่วนใหญ่เป็นซอฟแวร์และไฟล์ข้อมูลไบนารีบริการ)
Rinzwind

1
@ รินซ์วินด์: ฉันขอโทษจริงๆฉันไม่เห็นลิงก์แหล่งที่มา
Andrea Corbellini

1
@AndreaCorbellini ไม่เป็นไร;) หวังว่าอแมนดาจะรายงานผลกลับมา: +
Rinzwind

14

คำถามนี้เก่ามาก แต่บางคนอาจพบว่าวิธีนี้มีประโยชน์:

ใช้หลังจากrzip tarก่อนจะบีบอัดบล็อกข้อมูลขนาดใหญ่ 900 MB โดยใช้วิธีการพจนานุกรมแล้วมอบข้อมูลที่ผ่านการทำความสะอาดbzip2แล้ว มันเป็นอะไรที่เร็วขึ้นกว่าที่อื่น ๆ เครื่องมือการบีบอัดที่แข็งแกร่ง ( bzip2, lzma) และไฟล์บีบอัดบางอย่างมันจะดีกว่าหรือbzip2lzma

ใช่gzเป็นเครื่องมือบีบอัดข้อมูลเริ่มต้นบน Linux มันรวดเร็วและแม้อายุจะให้ผลที่ดีมากในการบีบอัดไฟล์ข้อความเช่นซอร์สโค้ด อีกเครื่องมือมาตรฐานคือbzip2แม้ว่ามันจะช้ากว่ามาก

นอกจากนี้: lrzip ใหม่กว่าและขยายหลักการของ rzip มันยังรองรับขนาดบล็อกไม่ จำกัด และวิธีการบีบอัด (LZMA, Bzip2, Gzip, LZO, ZPAQ หรือไม่เลือก) LZMA เป็นมาตรฐาน สำหรับการสำรองข้อมูลหรือถ้าคุณแชร์ข้อมูลจำนวนมากกับผู้ใช้ Linux / BSD รายอื่นมันจะมีประโยชน์จริงๆ


ฉันคิดว่าคุณหมายถึงบล็อก 900 kB? 900 MB จะค่อนข้างใหญ่ ...
ผู้บัญชาการ Byte

1
จริง ๆ แล้วเป็น 900 MB ดูen.wikipedia.org/wiki/Rzip
258532

2

LZMAฉันเลือกสำหรับ มันมีค่าใช้จ่ายไบต์ที่เล็กที่สุดและมีอัตราส่วนการบีบอัดที่แข็งแกร่ง การเปรียบเทียบระหว่าง ZIP และ LZMA: ฉันสร้างไฟล์สองไฟล์seq.txtด้วยรหัส PHP

$s = '0123456789'; $str = ''; for ($i=0; $i < 1000000; $i++) $str .= $s[$i%10].($i%10==9 ? "\n":""); file_put_contents('seq.txt', $str);

ซึ่งเก็บบล็อคการทำซ้ำของ 0..9 หลัก ~ 1Mb ของข้อมูลและrnd.txtด้วยรหัส PHP

$s = '0123456789'; $str = ''; for ($i=0; $i < 1000000; $i++) $str .= $s[rand(0,9)].($i%10==9 ? "\n":""); file_put_contents('rnd.txt', $str);

ซึ่งเก็บบล็อคแบบสุ่มที่ 0..9 หลัก ~ 1Mb ของข้อมูล

ผลการบีบอัด:

  • seq.txt, rnd.txt - 1100000 ไบต์
  • seq.txt.zip - 2502 ไบต์
  • rnd.txt.zip - 515957 ไบต์
  • seq.txt.lzma - 257 ไบต์
  • rnd.txt.lzma - 484939 ไบต์

อัตราส่วนการบีบอัด:

  • ZIP -> "seq.txt" -> 99.772%
  • ZIP -> "rnd.txt" -> 53.094%
  • LZMA -> "seq.txt" -> 99.976%
  • LZMA -> "rnd.txt" -> 55.914%

ดังนั้น LZMA จึงบีบอัดข้อมูลตามลำดับได้อย่างมีประสิทธิภาพมากกว่า ZIP ถึง 0.2%
และสุ่มข้อมูลได้อย่างมีประสิทธิภาพมากกว่า ZIP 2.8%

แน่นอนว่า LZMA ชนะ!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.