압축 형식 고르기
형식은 네 가지, 실제로 다른 설계는 세 가지, 그리고 무료 소프트웨어로는 만드는 것이 허용되지 않는 형식이 하나 있습니다. 어떤 것을 쓸지는 거의 전적으로 누가 파일을 여느냐에 달려 있습니다.
최종 검토:
간단한 답
다른 사람에게 보낼 때: ZIP. 2000년 이후에 나온 Windows, macOS, Linux 컴퓨터라면 아무것도 설치하지 않고 바로 열립니다. 이것은 어떤 압축률 이점보다도 가치 있으며, 이렇게 말할 수 있는 형식은 ZIP뿐입니다.
Unix에서 디렉터리 구조를 백업하거나 옮길 때: tar.gz. 권한, 소유자, 심볼릭 링크를 기록하는데, 흔히 쓰는 형식 중 이를 제대로 하는 것은 tar.gz뿐입니다. 게다가 ZIP보다 더 작게 압축됩니다.
최대한 작게 줄이고 싶을 때: 7z. 대부분의 자료에서 ZIP보다 상당히 작고, 내용뿐 아니라 파일 이름까지 숨길 수 있는 AES-256 암호화를 지원합니다. 받는 사람에게 프로그램이 필요한데, 무료이긴 해도 한 단계가 더 생깁니다.
RAR: 거의 확실히 필요 없습니다. 필요하더라도 RAR를 만들 수 있는 것은 WinRAR뿐입니다. 사람들이 가장 자주 묻는 질문이라 아래에서 자세히 설명합니다.
tar.gz가 ZIP보다 작은 이유
차이는 압축 기술이 더 좋아서가 아니라 구조에서 나옵니다. ZIP은 파일을 하나씩 따로 압축하기 때문에 큰 압축 파일에서 나머지는 건드리지 않고 항목 하나만 꺼낼 수 있습니다. .tar.gz는 모든 것을 하나의 연속된 스트림으로 압축합니다. tar가 파일들을 이어 붙이고, gzip이 그 결과 전체를 감쌉니다.
그래서 압축된 tar는 파일 사이의 반복까지 활용할 수 있지만 ZIP은 그러지 못합니다. 비슷한 소스 파일, 설정 문서, 로그 파일 50개가 든 폴더라면 차이가 상당합니다. 서로 관계없는 사진이 든 폴더라면 차이가 전혀 없습니다. 이미 압축된 데이터는 어느 쪽도 더 압축할 수 없기 때문입니다.
대가는 반대편에서 치릅니다. 압축이 전체를 감싸고 있어서 .tar.gz에는 목차가 없습니다. 내용 목록을 보려면 처음부터 압축을 풀어야 하고, 마지막 파일을 꺼내려면 전부 풀어야 합니다. ZIP은 크기와 상관없이 목록이 바로 나옵니다. 어느 쪽이 나은지는 전적으로 압축 파일을 통째로 풀 것인지에 달려 있으며, 백업이나 소스 릴리스는 늘 통째로 풉니다.
압축되는 것과 압축되지 않는 것
가장 유용한 한 가지이며, 모든 형식에 적용됩니다. 이미 압축된 파일은 다시 압축되지 않습니다. JPEG, PNG, MP3, MP4, PDF, 그리고 다른 압축 파일은 이미 반복이 제거된 상태라, 어떤 압축 프로그램을 돌려도 시간만 들고 줄어드는 양은 1%도 되지 않습니다.
그래서 사진 50장을 담은 ZIP은 사실상 사진 50장의 용량과 같으며, 이는 형식이 실패한 것이 아니라 제대로 작동하는 것입니다. 사진을 압축 파일로 묶는 이유는 파일 50개 대신 하나를 보내기 위해서입니다. 압축이 제 몫을 하는 것은 텍스트, 문서, 소스 코드, 스프레드시트, 무압축 이미지이며, 3분의 1 이하로 줄어드는 경우도 많습니다.
따라서 미디어 폴더에 더 강력한 형식을 고르는 것은 헛수고입니다. 7z는 소스 코드에서는 ZIP을 크게 앞서지만 사진 라이브러리에서는 거의 차이가 없습니다.
무료로는 RAR를 만들 수 없는 이유
RAR에는 소유자가 있습니다. RarLab이 라이선스를 가지고 있고, WinRAR는 유료 소프트웨어이며, RAR를 만들 수 있는 유일한 소스의 라이선스는 이를 이용해 호환 압축 프로그램을 만드는 것을 명시적으로 금지합니다. 권장하지 않는 수준이 아니라, 사용 조건의 핵심으로 문서에 금지라고 적혀 있습니다.
압축 해제는 의도적으로 다르게 취급됩니다. RarLab은 누구나 이 형식을 읽는 데 쓸 수 있는 unrar 소스를 공개하고 있으며, 그래서 7-Zip, The Unarchiver, VLC, 그리고 이 사이트가 모두 합법적으로 RAR 파일을 엽니다. 여는 것은 허용되고 만드는 것은 허용되지 않습니다. 여러분이 써 본 모든 압축 프로그램이 RAR를 풀 수는 있어도 만들 수 있는 것은 하나뿐인 이유가 바로 이 비대칭입니다.
그러니 어떤 웹사이트가 “ZIP RAR 변환”을 제공한다면, 셋 중 하나입니다. .zip의 이름을 .rar로 바꿀 뿐이라 파일 목록만 속이고 그 외에는 아무 효과가 없거나, 서버에서 정식 라이선스의 WinRAR를 실행하는 것이라 여러분의 파일이 낯선 사람의 컴퓨터로 전송되었거나, 진행 표시줄 뒤에서 아무것도 하지 않는 것입니다. 네 번째 가능성은 없습니다.
시스템이 정말로 그 확장자를 요구한다면 WinRAR를 구매하세요. 사람들이 실제로 RAR에서 원하는 것, 즉 강력한 압축, 분할 볼륨, 강력한 암호화, 복구 레코드는 모두 7-Zip이 더 잘하며 무료입니다.
비밀번호, 그리고 피해야 할 방식
ZIP에는 두 가지 암호화 방식이 있으며, 그 차이는 매우 중요합니다. 원래의 ZipCrypto는 뚫린 방식입니다. 복구 도구가 몇 초 만에 풀어 버리는데도, 놀랄 만큼 많은 “ZIP 비밀번호 설정” 도구가 여전히 조용히 이 방식을 씁니다. AES-256을 쓰는 ZIP은 안전하며, 최신 7-Zip과 WinZip에서 암호화를 선택하면 이 방식으로 만들어집니다.
좋은 암호화를 써도 함정이 하나 더 있습니다. 일반적인 암호화 ZIP은 목차를 읽을 수 있는 상태로 남겨 두기 때문에, 파일을 가진 사람은 누구나 비밀번호 없이 안에 무엇이 들어 있는지 정확히 볼 수 있습니다. 문서 이름만으로도 내용만큼이나 많은 것이 드러나는 경우가 흔합니다. 7z는 헤더까지 암호화할 수 있으니, 이 옵션은 꼭 켜 둘 만합니다.
이 사이트는 의도적으로 압축 파일 비밀번호 설정을 아예 제공하지 않습니다. 뚫린 방식을 제공하는 것은 보호처럼 보이기 때문에 아무것도 제공하지 않는 것보다 더 나쁩니다. 정말로 안전한 압축 파일이 필요하다면 AES-256과 헤더 암호화를 켠 7-Zip을 쓰세요.
다운로드로는 되살릴 수 없는 것
소스 릴리스나 백업을 브라우저에서 풀기 전에 알아 둘 만한 내용입니다. Unix 권한, 소유자, 심볼릭 링크는 tar에 기록되지만 다운로드로는 복원되지 않습니다. 파일은 일반 권한으로 받아지기 때문에 실행 가능한 스크립트는 실행 불가능한 상태로, 심볼릭 링크는 실제 물리적 형태인 작은 파일로 나옵니다.
아무것도 설치할 수 없는 컴퓨터에서 문서를 읽거나 이미지를 꺼내려는 거라면 여기서 여는 것이 딱 맞습니다. 빌드하거나 실행할 것을 풀려는 거라면 명령줄을 쓰세요. tar -xzf는 모든 Mac과 Linux 컴퓨터에 있고, Windows에도 2018년부터 들어 있습니다.
자주 묻는 질문
ZIP으로 묶었는데 왜 용량이 거의 줄지 않았나요?
넣은 파일이 사진, 음악, 동영상, PDF처럼 이미 압축된 파일이기 때문입니다. 이런 형식은 스스로 반복을 이미 제거했기 때문에 압축 프로그램이 찾아낼 것이 남아 있지 않습니다. 그래도 여러 파일 대신 파일 하나로 묶인다는 점에서 압축 파일은 여전히 유용합니다.
7z로 다른 사람에게 보내도 괜찮나요?
형식 자체는 문제없습니다. 관건은 받는 사람이 열 수 있느냐입니다. Windows에서는 7-Zip이 무료이고, macOS에서는 The Unarchiver와 Keka로 열 수 있습니다. 하지만 한 단계가 더 필요하니, 받는 사람이 컴퓨터에 익숙하지 않다면 ZIP으로 보내는 편이 설명할 일 자체를 없애 줍니다.
.tar, .tar.gz, .tgz는 어떻게 다른가요?
.tar는 압축되지 않은 형식으로, 파일을 메타데이터와 함께 이어 붙인 것일 뿐입니다. .tar.gz는 그것을 gzip으로 압축한 것이고, .tgz는 점 두 개를 싫어하던 시스템을 위해 이름만 짧게 한 같은 형식입니다. 더 강하게, 대신 더 느리게 압축하는 .tar.bz2와 .tar.xz도 있습니다.
WinRAR 없이 RAR를 열 수 있나요?
네, 쉽게 열 수 있습니다. 7-Zip, The Unarchiver, Keka, 심지어 VLC도 RAR 파일을 읽으며, 이 사이트에서도 열 수 있습니다. 제한되는 것은 RAR를 만드는 것뿐입니다.
비밀번호를 건 ZIP은 정말 안전한가요?
AES-256을 쓴다면 안전합니다. 다만 헤더를 암호화하는 형식을 쓰지 않으면 파일 이름은 그대로 보인다는 점을 감안해야 합니다. 일부 도구가 말없이 여전히 쓰는 구식 ZipCrypto라면 안전하지 않습니다. 보호 수단이 아니라 약간의 장애물 정도로 생각하세요.