우리 회사에서는 로컬 개발 데이터베이스 스냅샷을 파일로 다운로드합니다 db.dump.tar.gz
. 압축은 의미가 있지만 타르볼에는 하나의 파일( db.dump
)만 포함됩니다.
개별 파일을 보관하는 이유는 무엇입니까, 아니면 .tar.gz
단지 일반적인 관용어입니까? 왜 안되나요 .gz
?
답변1
.tar.gz
대신 사용하면 좋은 점 .gz
은
tar
. 보다 더 많은 메타데이터(UNIX 권한 등)를 저장합니다gzip
.- 여러 파일을 저장하기 위해 설정을 더 쉽게 확장할 수 있습니다.
- .tar.gz 파일이 일반적입니다.압축만일부 사용자에게는 설명서가 혼란스러울 수 있습니다. (보다 멜버른 리뷰)
사용하는데 드는 오버헤드 도 거의 없습니다 tar
.
실제로 필요하지 않은 경우 단일 파일을 tar링하는 것은 여전히 권장하지 않습니다. 압축된 개별 파일에 직접 액세스할 수 있는 유용한 도구가 많이 있습니다(예: zcat
등도 zgrep
존재함 bzip2
) xz
.
답변2
실제로 질문의 절반만 묻는 것입니다. 또 다른 질문은 "왜 tar 파일을 gzip해야 합니까?"입니다. 대답은 gzip
파일을 더 작게 만드는 것 이상입니다 (대부분의 경우).
tar
:
- 파일 이름 및 기타 저장메타데이터: 모드, 소유자 ID, 그룹 ID, 파일 크기, 수정 시간
- 체크섬 저장(헤더에만 해당)
gzip
:
- 원본 파일 이름을 저장할 수 있지만 이는 선택 사항입니다.
- 원시 데이터에 대한 CRC-32 체크섬
- 파일을 압축합니다
오직 tar
당신만이 확신할 수 없습니다데이터손상되지 않았습니다. gzip
사용자/그룹 ID, 수정 시간 및 원본 파일 이름은 복구할 수 없습니다 .
이 조합은 단일 명령/형식이 제공할 수 있는 것보다 더 많은 기능을 제공합니다.기능이 서로 보완되기 때문에.
답변3
gzip으로 압축된 텍스트 파일만 사용하면 상당한 이점이 있습니다. less
즉 , zgrep
.zcat
답변4
어떤 경우에는 사용을 중요하게 만들 수 있는 중요한 차이점이 있습니다 tar
. @jofel이 답변에서 언급한 "메타데이터" 외에도tar
녹음 파일 이름기록 보관소에서. 추출해 보면,원본 파일 이름을 얻습니다아카이브의 이름이 무엇이든 상관 없습니다.
귀하의 경우 tar 아카이브와 여기에 포함된 파일은 관련 이름을 가지고 있지만 db.dump.tar.gz
tar db.tar
파일의 이름을 20-Apr-16.dump.tgz
이나 다른 이름으로 바꾼다고 가정해 보십시오. 압축을 tar xvfz
풀면 거기에 있습니다 db.dump
. 비교 20-Apr-16.dump.gz
를 위해 20-Apr-16.dump
. 아카이브에는 tar
추출된 파일을 하위 디렉터리에 배치하는 상대 경로 이름도 포함될 수 있습니다.
사용 사례에 따라 이러한 종류의 파일 이름 지속성이 필요한지 또는 심지어 필요한지 여부가 결정됩니다.구함, 또는 실제로는 바람직하지 않습니다. 그러나 한 가지 확실한 점은 압축 여부에 관계없이 tar
아카이브가 일반 파일과 다르게 전송된다는 것입니다.