본문 바로가기

TAR 또는 TAR.GZ 만들기

Linux와 macOS에서 쓰는 압축 형식을 터미널 없이 만듭니다. 어느 단계에서도 아무것도 저장되지 않습니다.

  • 저장되지 않음
  • 대기열 없음, 기다림 없음
  • 회원가입 없음, 워터마크 없음

사용 방법

1

파일 추가

원하는 만큼 넣으세요. 폴더도 됩니다.

2

TAR 또는 TAR.GZ 선택

일반 TAR는 압축하지 않고 묶기만 합니다. TAR.GZ는 묶음 전체를 압축하며, 대개 이쪽을 원하실 겁니다.

3

다운로드

만들어지는 즉시 다운로드 폴더에 저장됩니다.

TAR가 용량에서는 ZIP을 이기고 편의성에서는 지는 이유

TAR는 압축하지 않습니다. 파일들을 하나의 스트림으로 이어 붙이고 각 파일 앞에 이름, 크기, 권한, 소유권, 타임스탬프를 담은 512바이트 헤더를 붙이며, 압축은 그 결과 전체를 감싸는 별도의 층입니다. 이렇게 겹쳐 쌓는 구조 때문에 .tar.gz가 같은 파일을 담은 ZIP보다 작습니다. gzip은 하나로 이어진 스트림을 보고 파일 사이의 반복을 활용할 수 있지만, ZIP은 파일마다 따로 압축해서 그럴 수 없습니다. 비슷한 문서나 소스 코드가 든 폴더라면 차이가 큰 경우가 많습니다.

대가는 반대편에서 치릅니다. 압축이 전체를 감싸기 때문에 .tar.gz에는 파일 목록이 없습니다 — 내용을 보려면 처음부터 풀어야 하고, 마지막 파일을 꺼내려면 전부를 풀어야 합니다. ZIP은 크기와 상관없이 즉시 목록이 나옵니다. 어느 형식이 나은지는 전적으로 압축 파일을 통째로 풀 것인지에 달려 있으며, 백업이나 소스 릴리스는 늘 통째로 풉니다.

이미 압축된 파일이라면 계산이 완전히 달라집니다. JPEG, MP4, PDF를 담은 TAR는 gzip 단계에서 거의 아무것도 얻지 못합니다. 이런 파일은 이미 반복이 제거되어 있어서, 압축 파일 크기는 사실상 원래 파일들을 더한 크기입니다. 그래도 ZIP과 같은 이유 — 여러 파일 대신 하나를 보내기 위해 — 로는 TAR를 쓸 만합니다. 용량 때문은 아닐 뿐입니다.

권한은 파일에서 읽어 오는 것이 아니라 적절한 기본값으로 기록되며, 이것이 솔직한 한계입니다. 웹 페이지는 디스크의 모드 비트, 소유권, 심볼릭 링크에 접근할 수 없고, 파일 내용과 이름만 받습니다. 그래서 실행 가능한 스크립트는 실행 권한 없이 압축 파일에 들어가고, 심볼릭 링크는 링크로 기록할 수 없습니다. 문서를 담은 .tar.gz라면 상관없지만, 풀어서 실행할 무언가를 패키징하는 경우라면 그것이야말로 이 형식의 핵심인데 빠져 있는 셈입니다.

다른 작업이 필요할 때

백업, 소스 릴리스, 컴퓨터 간 디렉터리 구조 이동처럼 메타데이터가 중요한 작업이라면 tar -czf archive.tar.gz folder/가 올바른 도구이며, 모든 Mac과 Linux 컴퓨터, 그리고 2018년 이후의 Windows에 이미 설치되어 있습니다. 실제 권한, 소유권, 심볼릭 링크, 타임스탬프를 기록하고, 크기 제한 없이 디스크로 바로 기록하며, 받는 사람이 tarball에 기대하는 내용 그대로입니다.

더 작은 파일이 필요하다면 컨테이너가 아니라 압축 방식을 바꾸세요. tar -cJf archive.tar.xz folder/는 xz를 써서 시간은 더 들지만 대개 gzip보다 상당히 작고, --zstd는 거의 비슷하게 작으면서 훨씬 빠릅니다. 둘 다 현재의 모든 Unix 시스템에서 읽힙니다. 그리고 받는 사람이 Windows를 쓰고 컴퓨터에 익숙하지 않다면, 평범한 ZIP이 여전히 배려 있는 선택입니다.

자주 묻는 질문

TAR와 TAR.GZ 중 무엇을 골라야 하나요?

거의 항상 TAR.GZ입니다. 일반 TAR는 전혀 압축하지 않으므로, 압축 파일 크기가 안에 든 모든 파일을 더한 크기가 됩니다. 일반 TAR는 내용물이 이미 압축되어 있거나, 뒤에서 다른 무언가가 압축을 맡을 때 유용합니다.

여기서 만든 압축 파일을 Linux가 받아들이나요?

네, 그리고 이는 짐작이 아니라 테스트로 확인한 사실입니다. 빌드할 때마다 GNU tar가 이 페이지에서 만든 파일을 바이트 단위까지 똑같이 목록으로 보여 주고 풀어내는지 확인합니다. 긴 파일 이름은 표준 확장인 POSIX pax 헤더로 기록되며, bsdtar와 Windows의 7-Zip도 문제없이 읽습니다.

내 파일이 어딘가에 저장되나요?

아니요. 압축 파일은 만들어지는 즉시 다운로드 폴더에 저장되고, 그 뒤에는 아무것도 보관하지 않습니다. 여기서는 이 점이 중요합니다. 사람들이 가장 자주 zip으로 묶는 것 — 문서, 사진, 작업 폴더 — 이야말로 먼저 모르는 사람의 서버에 넘겨서는 안 되는 것들이니까요.

ZIP 대신 이것을 쓸 이유가 있나요?

대개는 다른 쪽에서 요구하기 때문입니다 — 서버, 배포 스크립트, Linux를 쓰는 동료처럼요. 실질적인 기술적 장점도 하나 있습니다. TAR.GZ는 파일을 하나씩이 아니라 묶음 전체를 하나의 스트림으로 압축하기 때문에, 소스 코드나 로그처럼 작고 비슷한 파일이 많을 때 ZIP보다 눈에 띄게 작은 경우가 많습니다. Windows를 쓰는 한 사람에게 압축 파일 하나를 보낸다면 ZIP이 더 편한 선택입니다.

용량 제한이 있나요?

정해진 용량 상한은 없고, 사용 가능한 메모리가 한계입니다. 일반 컴퓨터에서는 파일 수백 개, 수 GB도 문제없으며, 휴대폰에서는 그보다 적게 처리할 수 있습니다.

참고: TAR 자체에는 압축 기능이 없어서, 용량은 gzip 단계에서 줄어듭니다 — 이미 압축된 파일(JPEG, MP4, PDF)은 거의 줄지 않습니다. 브라우저는 디스크에 있는 실제 권한을 읽을 수 없으므로, 파일 권한은 적절한 기본값으로 기록됩니다.

내 웹사이트에 이 도구 넣기

블로그, 수업 페이지, 도움말 글 어디에나 무료로 넣을 수 있습니다. 코드 한 줄만 붙여 넣으면 방문자가 페이지에서 바로 사용할 수 있습니다.