파일 작업
TAR.GZ 만들기
여러 파일이나 폴더를 브라우저 안에서 tar로 하나로 묶은 뒤 gzip으로 압축하여, .tar.gz・.tgz・.tar(무압축)・.gz(단일 파일) 중 원하는 형식으로 다운로드할 수 있습니다. 리눅스 서버에 업로드할 때 편리합니다. 파일은 서버로 전혀 전송되지 않습니다.
TAR.GZ 만들기 팁
- 폴더를 통째로 드롭하면 원래의 계층 구조를 유지한 채 tar로 하나로 묶입니다. 파일을 개별적으로 선택하면 폴더 구조가 없는 평평한 아카이브가 만들어집니다.
- .tar.gz와 .tgz는 내용이 완전히 같고 확장자만 다릅니다. npm 패키지 등 .tgz 확장자를 요구하는 도구에 전달할 경우에는 .tgz를 선택해 주세요.
- "압축하지 않음(.tar)"을 선택하면 gzip 압축을 건너뜁니다. 이미지・동영상・ZIP 등 이미 압축되어 있는 파일을 묶는 경우에는 압축해도 용량이 거의 줄지 않으므로, 무압축 쪽이 더 빠릅니다.
- .gz는 tar를 사용하지 않고 단일 파일을 직접 압축하는 예로부터의 형식입니다. 로그 파일 하나만 압축하고 싶은 경우 등, 파일이 한 개일 때만 선택할 수 있습니다.
- 대량의 파일이나 용량이 큰 파일을 묶을 경우, 브라우저 메모리에서 처리하기 때문에 시간이 오래 걸리거나 환경에 따라 실패할 수 있습니다. 총 용량이 수백 MB에서 수 GB에 이르는 경우에는 몇 개로 나누어 압축하는 것을 권장합니다.
자주 묻는 질문
여담 ― tar의 512바이트와 PAX 확장 헤더
tar 파일 형식은 1970년대 자기테이프 장치(Tape ARchive)를 위해 설계되었기 때문에, 데이터가 512바이트 단위의 "블록"으로 구분되어 있습니다. 파일 내용이 512바이트의 배수가 아닐 경우에는 끝부분에 0으로 채운 패딩이 추가되어 다음 블록 경계에 맞춰집니다. 이 단순한 구조 덕분에 tar는 지금도 구현이 쉽고 스트리밍 처리와 궁합이 좋은 형식으로 남아 있습니다.
옛 ustar 형식의 헤더에는 파일명을 저장하는 필드가 겨우 100바이트밖에 마련되어 있지 않습니다. 계층이 깊은 폴더나 긴 파일명을 tar로 묶으려 하면 이 제한을 넘어서는 경우가 있습니다. 이를 해결하기 위해 고안된 것이 PAX 확장 헤더로, 본래 항목 바로 앞에 "진짜 이름"을 기록한 특별한 블록을 삽입함으로써 사실상 길이 제한을 우회합니다. 이 도구 역시 100바이트를 넘는 경로에는 자동으로 PAX 확장 헤더를 붙입니다.
ZIP과 달리 tar・gzip 조합에는 비밀번호 보호 기능이 없습니다. tar는 "묶기만" 하고 gzip은 "압축만" 하는, 각각 단일 기능에 충실한 도구로 설계되었기 때문입니다. 기밀성이 높은 파일을 배포하고 싶다면 암호화를 지원하는 자매 도구인 ZIP 만들기를 이용해 주세요.