Trong phần tiếp theo, chúng ta sẽ xem xét pigz. Đây là triển khai gzip đa luồng sẽ cho phép chúng tôi nén các tập tin trong một thời gian rất ngắn. Công cụ này cung cấp cho chúng tôi thêm một tùy chọn để nén, vì ngay cả một trong những giải pháp nén / lưu trữ nhanh nhất hiện có như gzip, cũng có một vấn đề nhỏ và đó là nó không hỗ trợ nhiều bộ xử lý / lõi. Điều này có nghĩa là nếu chúng ta có một chiếc PC tương đối mới, nó sẽ không tận dụng được hết khả năng của nó.
Pigz, viết tắt của triển khai gzip song song, là một sự thay thế đầy đủ chức năng cho gzip, khai thác nhiều bộ xử lý và nhiều lõi khi nén dữ liệu. Pigz được viết bởi Mark Adler và sử dụng các thư viện zlib và pthread.
Pigz nén bằng cách sử dụng các luồng để sử dụng nhiều bộ xử lý và lõi. Mỗi được chia thành các phần 128 KB. Mỗi một trong số chúng và giá trị điều khiển riêng cho mỗi lát cắt được tính toán song song. Dữ liệu nén được ghi theo thứ tự cho đầu ra và giá trị kiểm tra kết hợp được tính toán từ các giá trị kiểm tra riêng lẻ.
Cài đặt Pigz trên Ubuntu
đến cài đặt pigz trên Ubuntu, Mint và các bản phân phối tương thích với Debian khác, chúng tôi sẽ chỉ phải mở một thiết bị đầu cuối (Ctrl + Alt + T) và sử dụng lệnh:
sudo apt install pigz
Sử dụng cơ bản của pigz
Nén một tệp duy nhất
đến nén bất kỳ tệp nào để định dạng mã zip GNU với pigz, chúng tôi sẽ chỉ phải sử dụng nó theo cách sau:
pigz NOMBRE_DEL_ARCHIVO
Đối với một số người, nó có thể là một vấn đề theo mặc định pigz xóa tệp gốc sau khi nén. Nếu bạn muốn giữ nó, bạn phải sử dụng công tắc -k như sau:
pigz -k NOMBRE_DEL_ARCHIVO
Pigz hỗ trợ nhiều cấp độ nén, và nó sẽ cho phép chúng ta chọn giữa chúng cho biết số của chúng sau dấu gạch ngang. Một ví dụ về điều này sẽ là:
pigz -9 -k NOMBRE_DEL_ARCHIVO
Chúng ta có thể sử dụng các số từ 1 đến 9. Với '1', chúng ta sẽ nhận được hiệu suất nhanh hơn, nhưng với độ nén thấp nhất và với '9', chúng ta sẽ có được độ nén chậm nhất nhưng cao nhất.
Nén thư mục
Pigz có một hạn chế đáng kể, đó là nó không hỗ trợ các thư mục. Chúng tôi sẽ chỉ có thể nén các tệp riêng lẻ. Mặc dù chúng ta có thể tìm thấy một giải pháp thay thế, đó là sử dụng nó cùng với tar.
Nếu chúng tôi muốn nén thư mục 'Kinh phí', và vì tar hỗ trợ việc sử dụng các chương trình nén bên ngoài, chúng ta có thể làm như sau:
tar --use-compress-program="pigz -k -9" -cf Fondos.tar.gz Fondos/
Trong lệnh trên, tar –use-nén-chương trình nói rằng mặc dù nó sẽ tạo một tệp bằng tar, nhưng việc nén nội dung của nó sẽ được thực hiện thông qua một chương trình bên ngoài, trong trường hợp này là pigz. Chương trình bên ngoài này và các tham số của nó được xác định với phần pigz-k-9 của lệnh. Cuối cùng, chúng tôi sẽ cho biết rằng chúng tôi muốn tạo một tệp bằng cách sử dụng '-cf', gọi là'Backgrounds.tar.gz'với mọi thứ trong thư mục'Tiền bạc/'.
Giải nén các tệp và thư mục
Giải nén bất kỳ tệp .gz nào bằng pigz nó đơn giản như gõ bất kỳ lệnh nào sau đây:
pigz -d NOMBRE_DEL_ARCHIVO.gz unpigz NOMBRE_DEL_ARCHIVO.gz
Trong tệp đã tạo trước đó có một thư mục có phần mở rộng tar.gz, giải nén thư mục sử dụng cùng một cách tiếp cận 'tar'mà chúng tôi sử dụng để nén:
tar --use-compress-program="pigz -d" -xvf NOMBRE_CARPETA.tar.gz
Giới hạn song song
Pigz, theo mặc định sử dụng tất cả các bộ xử lý / lõi trên máy tính. Khi nén các tập dữ liệu lớn, điều này có thể ảnh hưởng đến khả năng phản hồi của máy tính.
Với tùy chọn p, chúng tôi có thể giới hạn việc sử dụng cho một số bộ xử lý / lõi cụ thể. Điều này sẽ để lại phần còn lại miễn phí cho các nhiệm vụ và hoạt động tương tác khác của bạn. Để làm điều này, bạn chỉ cần thêm số lượng bộ xử lý / lõi như sau:
pigz -k -p2 NOMBRE_DEL_ARCHIVO
-p2 hạn chế pigz chỉ sử dụng hai bộ vi xử lý / lõi. Chúng tôi có thể sử dụng bất kỳ số nào chúng tôi muốn và ngay cả khi nó rõ ràng, điều quan trọng là phải giữ con số đó trong giới hạn phần cứng của chúng tôi.
Để biết thêm thông tin, người dùng có thể xem qua tập tin README hoặc đọc trang của hướng dẫn sử dụng bởi pigz.