วิธีบีบอัดไฟล์ให้เร็วขึ้นด้วย 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 ดีกว่าทั้งสองในแง่ของความเร็วทั้งการบีบอัดและคลายการบีบอัด เราขอเชิญคุณลองดูและบอกเราว่ามันเป็นอย่างไร