Linux / Unix에서 .tar.gz와 .zip이 중요합니까?


69

크로스 플랫폼 프로그램은 때때로 Unix 버전의 경우 .tar.gz로, Windows 버전의 경우 .zip으로 배포됩니다. 이것은 각각의 내용이 달라야 할 때 의미가 있습니다.

그러나 내용이 동일 할 경우 한 번만 다운로드하는 것이 더 간단합니다. Windows는 .zip을 선호합니다. zip은 기본적으로 처리 할 수있는 형식이기 때문입니다. 유닉스에서 중요한가요? 즉, 오늘 우분투 리눅스에서 파일 압축을 풀려고 시도했지만 정상적으로 작동했습니다. 현재 유닉스와 같은 운영 체제 에서이 문제가 있습니까? 아니면 보드 전체에 .zip 파일을 제공해도됩니까?

답변:


28

괴롭힘.
그렇습니다.
실제로는 다릅니다.

tar.gz

  • 유닉스 파일 속성 : uid, gid, permissions (주로 실행 가능)를 저장합니다. 기본값은 배포판에 따라 달라질 수 있으며 옵션으로 전환 할 수 있습니다.
  • 모든 파일을 하나의 파일로 아카이브합니다 ( "Tape ARchive").
  • 실제 압축은 하나의 .tar 파일에서 GZIP에 의해 수행됩니다.

지퍼

  • MSDOS 속성을 저장합니다 . (아카이브, 읽기 전용, 숨겨진, 시스템)
  • 각 파일을 개별적으로 압축 한 다음 개별적으로 압축 된 파일을 하나의 파일로 통합
  • 파일 끝에 파일 테이블을 포함

zip은 파일을 개별적으로 압축하기 때문에 zip 아카이브는 더 큰 크기를 가질 것입니다 (특히 작은 파일이 많은 경우 구성 파일을 생각하십시오).

따라서 파일 크기의 appart, Linux / Unix에서 많은 파일을 압축하고 압축을 풀면 파일 속성이 사라집니다 (최소한 MS-DOS에서 지원하지 않는 파일 속성은 ZIP에 따라 다름) -사용하는 소프트웨어). 중요하지 않은 경우에는 중요하지 않을 수 있습니다 (파일 크기 차이가 대부분의 경우 무시할 수 있기 때문에).


10
유닉스 계열 시스템의 zip 표준 배포판 (info-zip)도 유닉스 파일 속성을 저장합니다.
Erik Aronesty

35

tar gz는 스크립트에서 "실행 가능"과 같은 권한을 보유하므로 Linux / Unix에 더 좋습니다.


8
OS X의 아카이브 유틸리티 및 zip / unzip은 권한을 유지하지만 그렇지 않은 다른 유틸리티가있을 수 있습니다.
Lri

4
표준 zip / unzip 도구 (info-zip)는 Linux에 대한 권한과 Windows의 타임 스탬프를 유지합니다. 일반적인 기능에 대해서는 en.wikipedia.org/wiki/Info-ZIP 를 참조하십시오. 권한 문제 및 파일 크기 제한을 극복하면서 바람직한 임의 액세스 및 편집 가능한 아카이브 속성을 유지합니다.
Erik Aronesty

33

요즘 가장 많이 사용되는 Linux 배포판에는 기본적으로 zip호환성이 있습니다. 그러나 nc3b에 의해 진술로 targzip리눅스 / 유닉스 시스템에 대한 일반적이다. 이러한 시스템에서 95 %의 호환성이 필요한 경우 tar및 사용을 고려하십시오 gzip. 85 % 만 필요하다면 잘 할 zip것입니다.


2
좋아, 95 %가 85 %보다 낫다 :-) 아주 작은 질문이다. 파일 확장자가 .tar.gz가 아닌 .tgz라면 전혀 문제가되지 않는가?
rwallace

8
확장은 전혀 중요하지 않으며 사용자와 프로그램에서 참조하기 위해 사용됩니다. 확장자가 .XXX이고 확장자가 .tar 인 경우 tar를 사용하여 압축을 풀 수 있습니다. .tgz와 .tar.gz는 실제로 같은 확장자이며 이러한 확장자를 가진 파일은 비슷합니다.
BloodPhilia

2
반면, Windows에서 100 % 호환성을 유지하려면 택시를 사용해야합니다.
kinokijuf

3
tar는 uix, gid 및 + x와 같은 권한을 유닉스 시스템에 저장합니다. zip은 Windows 시스템에서 아카이브, 읽기 전용, 숨김 및 시스템을 저장합니다.
앤드류 드 Andrade

1
@mtak 당신은 언제나 사용할 수 있습니다 gunzip --suffix .zip npm-debug.log.zip또는gunzip -c < npm-debug.log.zip > npm-debug.log
Iwan Aucamp

19

tar / gzip은 전체 아카이브를 압축 해제 할 필요없이 아카이브에 무작위로 액세스, 업데이트, 확인 또는 추가 할 수 없기 때문에 매우 까다로운 형식입니다.

zip은 그 점에서 훨씬 낫습니다 .... zip 파일의 내용을 빨리 얻거나 첫 번째 부분을 다시 압축하지 않고 추가 할 수 있습니다.

zip은 사용하는 "zip"의 버전에 따라 크기 제한이 있습니다 ... 이것들은 문제가 될 수 있습니다. 그러나 대부분의 리눅스와 같은 OS와 함께 제공되는 표준 info-zip 도구는 크기 제한이 없으며 파일 권한을 그대로 유지합니다.

기능 : https://en.wikipedia.org/wiki/Info-ZIP


어떤 종류의 제한에 대해 이야기하고 있습니까?
Pacerier

편집 및 링크 제공
Erik Aronesty

9

Barebones Unix 설치는 unzip (즉, 서버 설치)을 포함하지 않지만 항상 targzip을 포함합니다 . 잠재 고객이 서버 인 경우 gzip을 선택 합니다.

또한 gzipzip 보다 압축률이 높 으므로 파일 크기가 작아집니다.


1
나는 gzip이 ZIP보다 더 잘 압축된다고 말하지 않을 것이다. 둘 다 동일한 DEFLATE 알고리즘을 사용하며, 내가 수행 한 모든 비교는 파일 크기가 비슷한 결과를 제공합니다.
grawity

4
tar.gz는 전체 파일을 한 번에 압축하지만 zip은 파일을 개별적으로 압축합니다. 많은 작은 파일의 경우 첫 번째 방법은 중복성이 파일 전체에서 사용될 수 있기 때문에 일반적으로 눈에 띄게 작은 파일을 생성합니다. 차이는 크지 않습니다.
sleske 2016 년

3

그렇습니다. 타르는 아카이버입니다. tar.gz에서는 해당 아카이브를 압축합니다.

Zip은 아카이버이자 압축기입니다.

내 경험상 압축을 비교하면 gzip이 zip보다 훨씬 낫습니다.

그리고 다른 중요한 차이점은 다른 대답 에서 언급됩니다 . 매우 큰 파일 아카이브가 있고 작은 파일을 추출하려는 경우 Zip을 사용하면 그렇게 할 수 있습니다. 그러나 tar.gz를 사용하면 전체 아카이브를 추출해야합니다.


gzip 파일의 아카이브가 아니라 gzip의 아카이브 파일입니다. 그렇기 때문에 전체 아카이브를 추출해야합니다.
m93a

2

결정은 기본적으로 다음과 같습니다.

  • GZIP 는 파일 실행이 허용 될 때 Unix 파일 권한을 유지합니다 .

  • 반면에 ZIP은 Windows 에서 즉시 작동 합니다 .


1

tar그리고 gzip보다 더 * nix에서 스크립트-ES에 훨씬 더 일반적이다 unzip. 예를 들어, 나의 아치 2009.08에 현재는 없습니다 unzip.


6
그러나 ZIP bsdtar부분을 libarchive잘 처리하는 (의 일부 )가 있습니다.
grawity

죄송합니다! :-)
nc3b
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.