Linux에서 파일을 압축하는 최고의 압축 도구 12가지
파일 압축은 시스템 관리의 필수적인 부분입니다. 최상의 압축 방법을 찾으려면 상당한 결단이 필요합니다. 다행스럽게도 시스템 데이터를 더 쉽게 백업할 수 있는 강력한 Linux용 압축 도구가 많이 있습니다. 여기서는 Linux에서 파일을 압축하는 데 사용할 수 있는 최고의 Linux 압축 도구 중 일부를 소개합니다.
1. LZ4
LZ4 는 초고속 압축 및 압축 해제 속도가 필요한 관리자가 선택하는 압축 도구입니다. LZ77 바이트 지향 압축 알고리즘 계열에 속하는 LZ4 무손실 알고리즘을 사용합니다.
또한 LZ4에는 CPU 코어당 초당 1기가바이트 이상을 처리할 수 있는 고속 디코더가 결합되어 있습니다. 이는 가능한 한 짧은 시간에 대량의 데이터를 묶으려는 사용자에게 이상적입니다.
장점
- 매우 빠른 압축 및 압축 해제 알고리즘.
- 현재 거의 모든 Linux 배포판에서 사용할 수 있습니다.
단점
- 높은 압축률보다 속도를 우선시합니다.
- 기본 구현에서는 단일 CPU 코어만 사용합니다.
2. Z표준
Zstandard 는 개인 및 기업 프로젝트에 사용할 수 있는 또 다른 빠른 Linux용 압축 도구입니다. 가장 강력한 기능 중 일부는 I/O를 기반으로 압축 비율을 제어할 수 있는 적응형 모드를 포함합니다.
또한 Zstandard에는 더 나은 압축과 사전 압축 체계를 위해 속도를 교환하는 기능이 있습니다. 마지막으로 모든 주요 프로그래밍 언어에 사용할 수 있는 풍부한 API도 있습니다.
장점
- 즉석에서 속도 대 압축 비율을 조정할 수 있습니다.
- 압축하는 동안 시스템 리소스를 거의 또는 전혀 사용하지 않습니다.
단점
- tar의 기본 지원이 없기 때문에 대부분의 배포판에서는 쉽게 사용할 수 없습니다.
- 압축률이 높으면 압축을 푸는 데 시간이 걸릴 수 있습니다.
3. lzop
lzop은 LZO(Lempel-Ziv-Oberhumer) 압축 알고리즘을 활용하는 강력한 압축 도구입니다. 압축 비율을 교환하여 엄청난 압축 속도를 제공합니다. 예를 들어, gzip에 비해 약간 더 큰 파일을 생성하지만 CPU 런타임은 10%만 필요합니다.
게다가 lzop은 백업 모드, 단일 파일 모드, 아카이브 모드, 파이프 모드 등 다양한 방법으로 시스템 백업을 처리할 수 있습니다. 마지막으로 lzop은 이전 gzip 알고리즘을 즉시 대체하는 것을 목표로 합니다. 즉, Bash 별칭을 생성하면 일반적으로 gzip을 사용하는 스크립트에서 lzop를 사용할 수 있습니다.
장점
- 좋은 압축 속도를 위한 적절한 압축 비율.
- gzip과의 호환성으로 인해 이전 아카이브 스크립트를 쉽게 개조할 수 있습니다.
단점
- 압축 후 원본 파일을 삭제하지 마세요.
- 압축비가 탱크일수록 속도에 더 중점을 둡니다.
4. Gzip
Gzip은 확실히 Linux 관리자에게 가장 널리 사용되는 압축 도구 중 하나입니다. 모든 GNU 소프트웨어와 호환되므로 원격 엔지니어를 위한 완벽한 압축 도구입니다.
Gzip은 파일 압축을 위해 DEFLATE 모드에서 Lempel-Ziv 코딩을 활용합니다. 소스 코드의 크기를 최대 90%까지 줄일 수 있습니다. 그 외에도 수정 시간과 권한 비트를 포함하는 파일의 메타데이터도 보존합니다. 전반적으로, 이는 노련한 Linux 사용자와 소프트웨어 개발자에게 gzip을 탁월한 선택으로 만듭니다.
장점
- GNU coreutils의 일부로 모든 Linux 배포판에서 사용할 수 있습니다.
- 압축 파일의 모든 관련 메타데이터를 보존합니다.
단점
- 파일 디렉터리를 압축할 때는 효과적이지 않습니다.
- 다른 알고리즘에 비해 평범한 압축 비율과 속도.
5. bzip2
bzip2 는 Linux용 무료 오픈 소스 압축 도구입니다. Burrows-Wheeler 블록 정렬 압축 알고리즘과 Huffman 코딩을 사용하여 파일을 압축합니다. 또한 실행 길이 인코딩, 델타 인코딩 및 희소 비트 배열과 같은 몇 가지 추가 압축 방법도 지원합니다.
Bzip2는 사용 가능한 아카이브에서 누락되거나 손상된 데이터를 재구성하여 미디어 드라이브에서 데이터를 복구 할 수도 있습니다 . 전반적으로 bzip2는 강력한 압축 기능과 빠른 압축 해제 속도로 인해 일상적인 사용에 적합한 압축 도구입니다.
장점
- 누락되거나 손상된 데이터를 즉시 재구성할 수 있는 데이터 복구 기능이 내장되어 있습니다.
- 휴대성이 뛰어납니다. 기존 하드웨어와 새 하드웨어 및 운영 체제 모두에서 실행될 수 있습니다.
단점
- Zstandard 및 LZ4에 비해 평범한 압축률입니다.
- 때로는 파일 크기를 줄이는 대신 크기를 늘릴 수도 있습니다.
6.7zip
7zip 은 Linux용 7-zip 명령줄 유틸리티의 포트입니다. 탄탄한 압축률을 갖춘 고성능 아카이빙 도구입니다. Windows와 유사하게 tar, xz, gzip, bzip2 및 zip을 포함하여 널리 사용되는 다양한 형식을 지원합니다.
7zip은 기본적으로 7z 형식을 사용하는데, 이는 표준 zip 압축보다 30~50% 더 나은 압축을 제공합니다 . 또한 이 도구를 사용하여 자동 추출 및 동적으로 크기가 조정되는 볼륨 아카이브를 생성할 수 있습니다.
장점
- 형식은 Linux가 아닌 다른 운영 체제와 쉽게 호환됩니다.
- 시그니처 7z와 함께 다양한 압축 형식을 지원합니다.
단점
- 압축된 아카이브에 대한 파일 메타데이터를 보존하지 않습니다.
- 대부분의 Linux 배포판에서는 쉽게 얻을 수 없습니다.
7. 돼지
pigz 또는 gzip의 병렬 구현은 gzip 압축 도구를 안정적으로 대체합니다. 여러 CPU 코어를 활용하여 압축 속도를 획기적으로 높입니다. 멀티스레딩 압축 프로세스를 구현하기 위해 zlib 및 pthread 라이브러리를 활용합니다. 그러나 pigz는 아카이브를 병렬로 압축 해제할 수 없습니다. 따라서 압축 및 압축 해제 중에 비슷한 속도를 얻을 수 없습니다.
장점
- 다중 코어를 사용할 수 있기 때문에 압축 속도가 매우 좋습니다.
- 널리 사용되는 gzip 압축 바이너리와 상호 호환됩니다.
단점
- 한 번에 하나의 파일만 압축할 수 있습니다.
- 추출 알고리즘에 대한 멀티스레딩 지원 부족으로 인해 압축 해제 속도가 느립니다.
8. 픽스
pixz 는 데이터 인덱싱을 지원하는 XZ 압축기의 병렬 구현입니다. xz와 같은 하나의 큰 압축 데이터 블록을 생성하는 대신 더 작은 블록 세트를 생성합니다. 이렇게 하면 원본 데이터에 무작위로 액세스하는 것이 간단해집니다. 또한 pixz는 압축 및 압축 해제 중에 파일 권한이 그대로 유지되는지 확인합니다.
장점
- 큰 데이터 블록을 압축하는 데 매우 효율적입니다.
- 파일 압축 중에 사용 가능한 모든 CPU 코어를 활용합니다.
단점
- 데이터를 표준 출력으로 직접 파이프하는 기능이 없습니다.
- 단일 코어 변형인 xz와 완전히 호환되지 않습니다.
9. plzip
plzip 은 최신 CPU가 지원하는 멀티스레딩 기능을 창의적으로 활용하는 무손실 데이터 압축 도구입니다. 이는 lzlib 라이브러리 위에 구축되었으며 gzip 및 bzip2와 유사한 명령줄 인터페이스를 제공합니다.
plzip의 주요 이점 중 하나는 다중 프로세서 시스템을 완벽하게 활용할 수 있다는 것입니다. 그 외에도 알고리즘 개발자는 최대한 데이터 안전하고 신뢰할 수 있도록 설계했습니다. 이는 병렬 압축을 지원하고 장기 저장에 적합한 고성능 Linux 압축 도구가 필요한 관리자에게 매력적인 옵션입니다.
장점
- 압축 및 압축 해제 중에 모든 CPU 코어를 활용합니다.
- 중요한 데이터를 안전하게 처리할 수 있도록 제작되었습니다.
단점
- 압축률보다 속도를 우선시합니다.
- 데이터를 효율적으로 압축하려면 최소 파일 크기 2MB가 필요합니다.
10. XZ 유틸리티
XZ Utils 는 압축 및 압축 해제가 가능한 Linux용 압축 도구 모음입니다. xz 그리고. lzma 파일. 압축에는 주로 LZMA2 알고리즘을 사용하며 압축된 데이터의 무결성 검사를 쉽게 수행할 수 있습니다. 이 도구는 기본적으로 널리 사용되는 Linux 배포판 에서 사용할 수 있으므로 다양한 상황에서 압축에 적합한 선택이 될 수 있습니다.
장점
- 압축률이 매우 높은 파일을 생성합니다.
- 거의 모든 최신 Linux 배포판에서 사용할 수 있습니다.
단점
- 압축 및 압축 해제 알고리즘은 모두 CPU를 많이 사용하고 느립니다.
- 압축 비율을 높게 설정하면 메모리가 많이 소모될 수 있습니다.
11. lrzip
Long Range ZIP (lrzip)은 대용량 바이너리 파일을 최적화하는 것을 목표로 하는 Linux용 효율적인 데이터 압축 프로그램입니다. 이는 rzip 알고리즘을 확장하여 다양한 메모리 크기를 수용하고 여러 압축 알고리즘을 사용함으로써 이를 수행합니다.
그 외에도 lrzip은 이식성이 매우 뛰어납니다. 이는 Ubuntu, Debian 및 Arch Linux와 같은 거의 모든 최신 Linux 배포판에서 lrzip 패키지를 찾을 수 있음을 의미합니다.
장점
- 전체 크기가 큰 파일을 압축하는 데 효율적입니다.
- 코드는 대부분의 Linux 배포판에서 사용할 수 있을 만큼 이식성이 뛰어납니다.
단점
- 한 번에 하나의 파일만 압축할 수 있습니다.
- UNIX 파이프에서 압축 프로그램을 사용하면 출력 효율성이 떨어질 수 있습니다.
12. 지팩
Zpaq 은 증분 백업을 생성할 수 있는 강력한 데이터 압축 도구입니다. 다른 압축 알고리즘과 달리 Zpaq은 중복되지만 공간 효율성이 뛰어난 보관 솔루션을 제공하는 것을 목표로 하는 완전한 소프트웨어 제품군입니다.
그 외에도 Zpaq에는 이전 버전의 아카이브로 돌아갈 수 있는 기능도 있습니다. 이는 버전 간에 변경된 정확한 바이트를 포함하여 Zpaq 아카이브에서 발생하는 모든 것을 추적하기 때문입니다.
장점
- 디렉터리의 증분 백업을 자동으로 생성할 수 있습니다.
- 여러 파일을 처리할 때 압축률이 뛰어납니다.
단점
- 해당 아카이브의 권한 비트와 수정 시간을 보존하지 않습니다.
- 데이터를 보관할 때 심볼릭 링크를 따르지 않습니다.
신뢰할 수 있는 다양한 Linux 압축 도구를 사용하면 필수 데이터를 쉽게 보관하고 백업 할 수 있습니다 . LZ4, lzop 및 bzip2와 같이 압축률이 높은 다양한 무손실 압축기 중에서 선택할 수 있습니다.
반면에 Zstandard, plzip 및 Zpaq과 같은 도구를 사용하면 더욱 발전된 압축 작업 흐름이 가능합니다. 마지막으로, 보관 데이터를 압축한다고 해서 장기간에 걸쳐 데이터 무결성을 보장하는 것이 끝나지 않습니다. rclone 을 사용하여 안전한 클라우드 백업을 생성하는 방법을 알아보세요 .
이미지 출처: Unsplash를 통한 Priscilla Du Preez . Ramces Red의 모든 변경 사항 및 스크린샷.
답글 남기기