tar.gz 대신 tar.xz를 사용해야 하는 이유는 무엇입니까? xz는 무손실 데이터 압축 프로그램 및 파일 형식입니다.

tar.gz 대신 tar.xz를 사용해야 하는 이유는 무엇입니까? xz는 무손실 데이터 압축 프로그램 및 파일 형식입니다.

오늘 나는 tar.xz내 인생에서 처음으로 다운로드를 보았습니다. 인터넷을 검색해 보니 위키피디아 기사(xz그리고XZ 유틸리티)

사용자에 대한 흥미로운 인용문xz

xz는 GNU coreutils 프로젝트, [7] Debian 시리즈 시스템 deb(파일 형식), openSUSE, [8] Fedora, [9] Arch Linux, [10] Slackware, [11] FreeBSD, [12]에서 패키지를 압축하는 것으로 알려져 있습니다. Gentoo, [13] GNOME, [14] 및 TeX Live, [15] 및 컴파일된 Linux 커널을 압축하는 옵션. [16] 2013년 3월, kernel.org는 커널 아카이브 파일 배포를 위한 기본 압축 파일 형식으로 xz를 사용한다고 발표했습니다. [17]

나는 항상 을 사용합니다 tar.gz. 언제, 왜 사용해야 합니까 tar.xz? 사용 사례는 무엇입니까?

첫댓글보고 알았네요유제이미 게시되었습니다. 나는 mongodump/mongoexport(BSON/JSON) 및 mysqldump(SQL 텍스트)를 자주 압축합니다. 이러한 백업에 tar.xz를 사용하면 어떤 이점이 있습니까?

답변1

gzip두 가지 다른 알고리즘을 사용 하므로 xz달성된 압축 수준과 압축 또는 압축 해제 시 소비되는 리소스 양 측면에서 성능이 다릅니다.

존재하다일반적인, xz더 높은 압축률을 달성하지만 더 많은 메모리와 시간이 필요합니다.

저는 개인적으로 xz장기간 저장해야 하는 대용량 파일을 보관하는 데 사용합니다. 나는 gzip일반적으로 더 빠르기 때문에 다른 방법을 사용합니다 .

테스트하여 성능이 어떤지 확인하세요.당신의평균 tar(또는 기타) 파일.

답변2

xz최근에는 패키지 관리의 표준이 되었습니다.

LZMA2 압축 알고리즘은 xz텍스트(및 "텍스트 유사") 데이터에 매우 효율적입니다. 저는 개인적으로 인코딩 속도를 계산하는 것이 문제가 되지 않는 거의 모든 용도에 사용합니다( xz압축해제많은실제로 설계 목표 중 하나인 압축보다 빠릅니다.)

따라서 보관이나 백업에 이상적입니다(일반적으로 파일의 압축이 많이 풀리지만 데이터가 항상 압축되거나 변경되는 것은 아닙니다 등). 이는 스트림 압축에 있어서 그다지 좋은 결정은 아닙니다. LZMA2는 압축할 때 리소스를 많이 사용하지 않기 때문에 적어도 자주는 아닙니다.

하지만 나는 당신의 또 다른 문장인 "should"에 대해 논평하고 싶습니다. 너 뭐야~해야 한다또는해서는 안 된다필요한 데이터에 따라 사용하세요. xzLZMA2는 수년 동안 사용되어 왔지만 호환성 gz문제로 인해 여전히 압축이 대안으로 간주됩니다. 그림트랙또는힘내.tar.gz, .7z, 및 를 인용합니다 .tar.xz. 이 .tar.gz옵션은 이미 존재하므로 사용합니다."항상 주위에"이며 작거나 오래되었더라도 모든 유형의 장치에 대한 훌륭한 대체 수단입니다.

반례로서,lzop우주선에서 일반적으로 사용되는 빠르고 자원 절약형 압축기이지만 그다지 효율적이지는 않습니다. 하지만 널리 사용되지 않는다고는 할 수 없습니다. 일반적으로 전력과 계산 공간이 거의 없이 무언가를 빠르게 압축하는 것이 더 중요한 시스템에서 사용됩니다.

따라서 귀하와 귀하의 데이터와 상호 작용하는 사람들에게 가장 적합한 것을 사용해야 하거나 사용해서는 안 됩니다.


최근에 갑자기 뭔가가 떠올랐습니다. man페이지는 와 함께 자주 사용됩니다 gzip. 예를 들어 를 보면 모든 파일이 압축되지는 않았음에도 불구하고 /usr/share/man/man1/와 같은 모양의 파일이 많이 표시됩니다 . mv.1.gz이제는 압축이 좋아져서 파일로 전환하는 것이 합리적일 수도 있지만, 포기하는 .xz것보다는 낫습니다 . 그 이유는 거의 보편적인 호환성 때문입니다. 압축 파일을 직접 열어 도.gz.xz.gz잘 작동하고 투명한 압축 역할을 합니다.

답변3

.xz형식은 몇 가지 고급 기능을 제공합니다. 동시에 많은 임베디드 시스템에서 사용할 수 있을 만큼 단순합니다. 기능을 요약하면 다음과 같습니다.

  • 무작위 액세스 읽기: 데이터를 독립적으로 압축된 청크로 분할할 수 있습니다. 각 .xz파일에는 블록 인덱스가 포함되어 있어 블록 크기가 충분히 작을 때 제한된 무작위 액세스 읽기가 가능합니다.
  • 무결성 검사: 모든 헤더의 무결성은 항상 CRC32에 의해 보호됩니다. 실제 데이터 무결성은 CRC32, CRC64, SHA-256...을 통해 확인할 수 있습니다.
  • 연결: 파일 .gz과 마찬가지로 파일도 있는 그대로 연결할 수 있습니다. 압축 해제기는 일반 단일 스트림 파일인 것처럼 연결된 파일의 압축을 풀 수 있습니다 ..bz2.xz.xz
  • .xz패딩: 백업 테이프의 패딩 블록과 같이 파일을 패딩하기 위해 바이너리 0을 파일에 추가할 수 있습니다 . 모든 유효한 .xz파일 크기는 4바이트의 배수이므로 패딩은 4바이트의 배수여야 합니다 .

관련 정보