ค้นหาเว็บไซต์

วิธีบีบอัดไฟล์ให้เร็วขึ้นด้วย Pigz Tool ใน Linux


เขียนโดย Mark Adler Pigz เป็นตัวย่อของ การติดตั้งแบบขนาน ของ GZip มันเป็นเครื่องมือบีบอัดที่ดีที่ช่วยให้คุณบีบอัดไฟล์ด้วยความเร็วที่รวดเร็วอย่างเห็นได้ชัด เพื่อเป็นการปรับปรุงยูทิลิตี้ gzip แบบเก่าที่ดี มันจึงใช้ประโยชน์จากคอร์และโปรเซสเซอร์หลายตัวในการบีบอัดข้อมูล

คู่มือนี้จะให้ความกระจ่างมากขึ้นเกี่ยวกับ Pigz และแนะนำวิธีใช้ยูทิลิตีเพื่อบีบอัดไฟล์ในระบบ Linux

การติดตั้ง Pigz บนระบบ Linux

การติดตั้ง Pigz เป็นเหมือนการเดินเล่นในสวนสาธารณะเพราะแพ็คเกจ Pigz บรรจุอยู่ในที่เก็บข้อมูลอย่างเป็นทางการสำหรับการแจกแจงหลัก ๆ เช่น Debian และ CentOS .

คุณสามารถติดตั้ง Pigz ในคำสั่งเดียวในการแจกแจงต่างๆ โดยใช้ตัวจัดการแพ็คเกจตามลำดับดังต่อไปนี้

sudo apt install pigz  [On Debian/Ubuntu]
sudo dnf install pigz  [On CentOS/RHEL/Fedora]
sudo pacman -S pigz    [On Arch/Manjaro Linux] 
OR
yay -S pigz

วิธีบีบอัดไฟล์ด้วย Pigz

หากต้องการบีบอัดไฟล์เดียวเป็นรูปแบบ zip ให้ใช้ไวยากรณ์

pigz filename

ในคู่มือนี้ เราจะใช้ไฟล์ ubuntu-20.04-beta-desktop-amd64.iso เพื่อการสาธิต ในการบีบอัดไฟล์ให้ดำเนินการ:

pigz ubuntu-20.04-beta-desktop-amd64.iso

อย่างไรก็ตาม คำสั่งจะลบไฟล์ต้นฉบับเมื่อมีการบีบอัดตามที่คุณอาจสังเกตเห็น หากต้องการเก็บไฟล์ต้นฉบับไว้หลังการบีบอัด ให้รันโดยใช้ตัวเลือก -k ดังที่แสดง

pigz -k ubuntu-20.04-beta-desktop-amd64.iso

จากผลลัพธ์เราจะเห็นได้อย่างชัดเจนว่าไฟล์ต้นฉบับนั้นยังคงอยู่แม้หลังจากการบีบอัดแล้วก็ตาม

ตรวจสอบเนื้อหาของไฟล์บีบอัดใน Linux

หากต้องการตรวจสอบเนื้อหาของไฟล์บีบอัด รวมถึงสถิติเกี่ยวกับอัตราส่วนการบีบอัดที่ได้รับ ให้ใช้ตัวเลือก -l พร้อมด้วยคำสั่ง pigz:

pigz -l ubuntu-20.04-beta-desktop-amd64.iso.gz

จากผลลัพธ์ คุณไม่เพียงแต่จะได้เห็นเนื้อหาของไฟล์ซิปเท่านั้น แต่ยังเห็นเปอร์เซ็นต์ของการบีบอัด ซึ่งในกรณีนี้คือ 1.9%

นอกจากนี้ คุณสามารถใช้ระดับการบีบอัดต่างๆ ที่มีอยู่ตั้งแต่ 1 ถึง 9 รองรับระดับการบีบอัดต่อไปนี้:

  • 6 – การบีบอัดเริ่มต้น
  • 1 – เร็วที่สุดแต่มีการบีบอัดน้อยที่สุด
  • 9 – ช้าที่สุดแต่บีบอัดได้ดีที่สุด
  • 0 – ไม่มีการบีบอัด

ตัวอย่างเช่น หากต้องการบีบอัดไฟล์ด้วยระดับการบีบอัดที่ดีที่สุด ให้ดำเนินการ:

pigz -9 ubuntu-20.04-beta-desktop-amd64.iso

วิธีบีบอัดไดเร็กทอรีด้วย Pigz

โดยตัวมันเอง Pigz ไม่มีตัวเลือกในการบีบอัดโฟลเดอร์ แต่จะบีบอัดเพียงไฟล์เดียวเท่านั้น วิธีแก้ปัญหาชั่วคราวคือใช้ pigz ร่วมกับคำสั่ง tar เพื่อบีบอัดไดเร็กทอรี

ในการบีบอัดไดเร็กทอรี ให้ใช้อาร์กิวเมนต์ --use-compress-program ดังที่แสดง:

tar --use-compress-program="pigz -k " -cf dir1.tar.gz dir1

วิธีจำกัดจำนวนโปรเซสเซอร์ขณะบีบอัด

เราได้กล่าวไว้ก่อนหน้านี้ว่าเครื่องมือยูทิลิตี้ pigz ใช้คอร์และโปรเซสเซอร์หลายตัวในการบีบอัดไฟล์ คุณสามารถระบุจำนวนคอร์ที่จะใช้โดยใช้ตัวเลือก -p

ในตัวอย่างนี้ ด้านล่างนี้ เราใช้การบีบอัดที่ดีที่สุด (แสดงโดย -9) กับโปรเซสเซอร์ 4 (-p4) ในขณะที่ยังคงรักษารูปแบบเดิมไว้ ไฟล์ (-k)

pigz -9 -k -p4 ubuntu-20.04-beta-desktop-amd64.iso

วิธีแตกไฟล์โดยใช้ Pigz

หากต้องการขยายขนาดไฟล์หรือไดเร็กทอรีโดยใช้ pigz ให้ใช้ตัวเลือก -d หรือคำสั่ง unpigz

เมื่อใช้ไฟล์ ISO ที่ถูกบีบอัดของเรา คำสั่งจะเป็น:

pigz -d ubuntu-20.04-beta-desktop-amd64.iso
OR
unpigz dir1.tar.gz

เปรียบเทียบระหว่าง Pigz กับ Gzip

เราเดินหน้าต่อไปอีกเล็กน้อยและสู้กับ Pigz กับเครื่องมือ Gzip

นี่คือผลลัพธ์:

การบีบอัด Gzip

time gzip ubuntu-20.04-beta-desktop-amd64.iso

การบีบอัด Pigz

time pigz ubuntu-20.04-beta-desktop-amd64.iso

การบีบอัด Gzip

time gzip -d ubuntu-20.04-beta-desktop-amd64.iso.gz

การบีบอัด Pigz

time unpigz ubuntu-20.04-beta-desktop-amd64.iso.gz

จากการเปรียบเทียบ เราจะเห็นได้อย่างชัดเจนว่าเวลาการบีบอัดและคลายการบีบอัดสำหรับ Pigz นั้นสั้นกว่า Gzip มาก นี่หมายความว่าเครื่องมือบรรทัดคำสั่ง Pigz นั้นเร็วกว่าเครื่องมือ Gzip มาก

สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการใช้คำสั่ง pigz โปรดไปที่หน้า man

man pigz

นอกจากนี้ ให้เรียกใช้คำสั่งด้านล่างเพื่อดูตัวเลือกทั้งหมดที่ใช้ได้กับคำสั่ง pigz

pigz --help

และที่นั่นคุณมีมัน เราได้กล่าวถึงเครื่องมือบรรทัดคำสั่ง pigz แล้ว และแสดงให้คุณเห็นว่าคุณสามารถบีบอัดและขยายขนาดไฟล์ได้อย่างไร เราไปไกลกว่านั้นและเปรียบเทียบ Pigz กับ Gzip และพบว่า Pigz ดีกว่าทั้งสองในแง่ของความเร็วทั้งการบีบอัดและคลายการบีบอัด เราขอเชิญคุณลองดูและบอกเราว่ามันเป็นอย่างไร