Pigz?

최근 많은 디바이스가 멀티코어를 사용하며 많은 프로그램이 멀티코어, 멀티프로세서를 이용하도록 작성되고있다. 이러한 흐름에 맞추어 압축프로그램인 gzip 을 멀티코어를 사용하도록 개발하는 프로젝트인 pigz를 이용하면 빠른 압축을 진행 할 수 있다.

Install

PLAINTEXT
sudo apt-get install pigz

Usage

아래 예시에서 다음을 수정 후에 사용하시면 됩니다.

  • [folder or file_name] : 압축할 폴더 및 파일이름
  • [ compression_rate] : 압축률 1-12
  • [# of processor] : pigz에 사용할 프로세서 개수
  • [ output_name.tar.gz] : 출력 파일 이름
PLAINTEXT
tar -cvf - [folder or file_name] | pigz -[compression_rate] -p [# of processor] > [output_name.tar.gz]

Example shell script

아래의 스크립트는 경로를 입력하면 해당 파일을 압축하는 셀 스크립트입니다. vim 등 에디터로 스크립트를 만든후에 경로를 인자로 주어서 사용하면 됩니다. (pv를 현재 진행상황을 보기위한 의존성으로 가지고 있으며 apt-get 으로 설치 가능)

PLAINTEXT
#! /bin/bash
help()
{
    echo "Please enter rsync path"
    echo "Usage: $0 [path] "
}
if [ $# -ne 1 ]
then
    help
            exit 0
        fi
       tar cf - "$1"|pigz -9 -p 12 |pv> $1.tar.gz

라이선스

작성자: Jaehun Ryu

링크: https://jaehun.me/posts/ubuntu%EC%97%90%EC%84%9C-parallel-gzip%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC-%EB%B9%A0%EB%A5%B4%EA%B2%8C-%EC%95%95%EC%B6%95%ED%95%98%EA%B8%B0pigz/

라이선스: CC BY 4.0

이 저작물은 크리에이티브 커먼즈 저작자표시 4.0 국제 라이선스에 따라 이용할 수 있습니다. 출처를 밝히면 상업적 목적을 포함해 자유롭게 이용 가능합니다.

댓글