Pigz를 이용한 병렬 압축

Michael Kim·2023년 3월 12일
0

Intro

linux에서는 ZIP CLI를 이용해서 데이터 압축이 가능하다. 하지만, 대용량의 경우 시간이 오래 걸릴 수밖에 없다. (1TB의 데이터를 압축하려는 데에 예상시간이 12시간 이상이었던 걸로 기억한다...) 이렇게 하나의 작업 과정이 오래 걸리게 되면, 쉽게 전후 과정을 진행할 수 없을 뿐더러, 잘 압축이 됐는지 테스트하기도 어렵고 프로젝트 스케쥴링하는 것도 쉽지 않다. ㅠ
아무튼 압축하는 것에도 분산처리가 되지 않을까 검색했고, 역시나 있었다!

Pigz 압축이란?

Pigz는 병렬 압축 도구로, 여러 개의 CPU 코어를 사용하여 파일을 더 빠르게 압축하거나 압축을 해제할 수 있습니다.

Zip 압축과의 차이점

Zip 압축은 단일 CPU 코어에서 작동하는 반면, Pigz는 병렬 처리를 사용하여 더 빠른 압축 및 압축 해제를 가능하게 합니다.


Windows에서 Pigz 설치

  1. 먼저, 링크에서 윈도우용 Pigz를 다운로드합니다.

  2. 압축을 해제하여 ‘pigz.exe’ 파일을 얻습니다.

  3. pigz.exe가 있는 경로를 환경변수 path로 등록하거나, 윈도우 프롬프트 창을 열어, pigz.exe가 있는 경로로 이동한 상태에서 pigz 명령어를 사용할 수 있습니다.

  4. pigz 설치 확인

    pigz -V

MacOS 및 Linux에서 Pigz 설치

  1. MacOS 및 Linux에서, 다음 명령어를 통해 pigz를 설치할 수 있습니다. 터미널에서 다음 명령어를 입력하여 Pigz가 설치되어 있는지 확인합니다.
    1. MacOS 에서의 설치

      brew install pigz
    2. Linux(Ubuntu|Debian)에서의 설치

      apt install pigz
    3. pigz 설치 확인

      pigz -V

Pigz 압축 및 압축 해제 방법

  1. 압축하려는 파일이 있는 폴더로 이동한 후, 다음 명령어를 입력합니다.

    tar cfp - {압축할 폴더} | pigz -c > {압축 파일 경로, 파일이름}.tar.gz
    
    # ex)
    tar cfp - /usr/pigz_test | pigz -c > /root/your_folder/pigz.tar.gz
  2. 파일이 성공적으로 압축되면, tar.gz 확장자를 가진 새로운 파일이 생성됩니다. 압축 해제를 원한다면, 다음 명령어를 입력합니다.

    # ex)
    tar --use-compress-program="pigz -d" -xvf {압축 해제할 파일}
    
    tar --use-compress-program="pigz -d" -xvf /root/your_folder/pigz.tar.gz
profile
정리하고 복습하고 일기도 쓰고

0개의 댓글