7-Zip

7zip
파일:7ziplogo.png
개발자Igor Pavlov
발표일1999년 7월 18일
분류압축 소프트웨어
공식 최신 버전16.03
플랫폼Windows
라이선스프리웨어 (오픈소스)
링크공식 홈페이지

1 개요

Igor Pavlov라는 프로그래머가 만든 오픈소스 압축 프로그램. 라이센스는 LGPL. 이 프로그램의 가장 큰 장점은 자유 소프트웨어라는 것이다. 리눅스에서는 7zip이라는 프로그램 자체는 없고 p7zip이라는 명령줄용 프로그램을 쓴다. 이것을 설치하면 파일 롤러[1]에서도 7z 파일을 다룰 수 있게 된다.

현재도 Win32용 바이너리를 Windows 98에 설치하고 실행해도 아무 문제없이 동작한다.

기본적으로 자체 포맷인 7z를 포함해 zip, tar, gz, bz2 등의 자유(free) 포맷들과 rar, cab, arj, lzh 등의 비자유(non-free) 포맷들을 지원한다. WinRAR 5.0에서 새로 추가된 RAR5포맷을 한동안 열지 못했으나, 2015년 8월 9일에 발표된 15.06 베타 버전부터 지원하기 시작했다. 7z는 LZMA2라는 압축 알고리즘을 사용하는데, 이 알고리즘의 압축 효율은 WinRAR에 비해 근소하게 높다. 단, 속도 향상을 위해 매크로를 떡칠해서 코드가 길고 아름답다. LZMA의 등장 초기에는 RAR보다 높은 압축률을 보여주었으나 RAR5.0에서 신형 알고리즘을 투입하는 등 지속적으로 업데이트를 하는데 반해, 7zip은 2010년의 9.20버전에서 한동안 멈춰 있었다. 그러다 조금 늦기는 했지만 2012년 10월 26일 출시한 9.30 알파버전부터 최신의 LZMA2 알고리즘을 기본으로 사용하기 시작했다. 최신 개발자 빌드는 이쪽. 또한 7z 포맷은 솔리드 압축을 지원하는데 이를 이용하면 압축하려는 여러 개의 파일 중 비슷한 파일이 많을 경우 훨씬 더 높은 압축률을 얻을 수 있다. 대신 파일 하나만 압축 해제를 하려고 할 때도 전체를 스캔해야 한다는 단점이 있다.

등장 초기에 상당한 센세이션을 불러온 반면, 등장 이후 지속적으로 포맷을 개선해가는 WinRAR에 비해 어느정도 발전이 정체된 점도 있었다. 다른 포맷들은 PC의 성능이 높아지는만큼 압축 능력도 차근차근 개선[2]해가며 올렸지만 7zip은 나올때부터 속도보다는 압축률에 초점을 두고 만들어졌기 때문이다. 등장 이후 압축 알고리즘 말고 프로그램(7z Manager)의 버그만 중점적으로 개선하다가 초기부터 사용하던 LZMA알고리즘을 개선한 LZMA2알고리즘을 9.04 beta버전(2009-05-30 출시)에서 채택했다. 2010년 11월 18일 9.20 이후 한동안 Stable이 아닌 Beta빌드로 버티다가 5년만인 2015월 11월 19일에 15.12가 출시되었으며 2016년 10월 25일 현재 16.03이 가장 최신의 Stable(안정화)버전이다.

2 장 단점

허술해 보이는 7zip의 탐색기는 외형과는 다르게 상당히 강력해서, 홈페이지에서도 주요기능의 하나로 소개하고 있다. Temporary Internet Files 아래의 Content.IE5 하위 디렉토리 같은 윈도우 탐색기에서 마우스만으로는 절대 접근 불가능한(주소줄에 직접 입력해야 접근 가능) 폴더에 접근 가능한 것은 물론이고, 윈도우가 만들고도 편집 불가능한 '긴 이름 파일 관리'도 가능하다. 긴 이름 파일이란, 탐색기에서 파일명을 변경할 시 지나치게 길게 입력하면 변경한 파일명이 탐색기에서 보이기는 하나 삭제, 수정, 변경 모두 불가능한 유령 파일을 말한다. 이 파일은 대부분의 탐색기 호환 프로그램으로는 제어가 불가능하므로 이러한 파일 오류를 전문으로 교정하는 유틸리티를 이용해야 한다. 또한, 64비트 버전도 있으며, 윈XP/비스타/윈7의 x64 버전에서 64비트 버전을 받아서 실행하면 압축하는 속도가 32비트에 비해 더 빠르다. 듀얼코어나 쿼드코어의 경우에도 압축속도가 싱글코어 대비 빨라진다. 자기 프로그램의 점유율만을 생각해서 압축률과 속도 모두 빵점인 ALZ라는 쓰레기 포맷을 만든 알집과 확실히 비교되는 부분이다. 그리고 자체적으로 CPU의 성능 벤치마크 기능을 제공한다. 벤치마크 하는 방법. 이를 이용하여 자신의 CPU 성능이 어느 정도 되는지 간단하게 알아볼 수 있으니 참고해보자.

알집을 포함하여 웬만한 압축 프로그램들은 7z로 압축한 것도 풀 수 있다. Self-extracting EXE[3]로 만들 수도 있으며, 분할 압축도 된다. 다만 아쉽게도 Self-extracting EXE와 분할 압축은 함께 쓰지 못하며, 7z포맷으로 압축하는 속도는 zip에 비해 꽤 느린 것이 단점. 대신 압축 해제 속도는 빠른 편이다. RAR도 마찬가지인데, 많은 고급 압축 포맷들의 압축 해제 속도가 압축 속도와 비슷한 수준으로 느린 것을 볼 때 큰 장점이다.

단, 오류 정정용 기능[4]이 전혀 없기 때문에 압축 파일에 조그마한 이상이라도 생겼을 경우 안에 든 데이터는 그대로 쓰레기가 된다는 단점이 존재한다. 요즘 시대에 그런 게 왜 필요하냐면 대량의 데이터를 취급하는 torrent나 파일 호스팅, 웹하드 서비스에서 가끔씩 파일의 일부가 깨지는 현상이 발생하곤 하는데, 이게 없으면 업로더가 파일에 이상이 있음을 깨닫고 새로 올려주기를 바라는 수밖에 없기 때문이다. 또는 외장하드나 USB에 개인용 자료를 백업해뒀는데 배드 섹터가 하나라도 발생하면 망했어요. 비록 만능은 아니더라도 중요한 자료라면 rar을 사용하는 것이 속 편할 것이다. 그래서 대부분의 P2P 파일 전송은 rr을 적당히 넣은 rar 포맷으로 이루어진다.

그리고 분할압축을 쓸 때도 rar이 더 낫다. 7z의 분할압축에는 각 파일마다 압축 파일을 표시하는 정보가 없기 때문이다. 7zip에서 풀 때는 상관없지만 다른 압축 프로그램에서 풀려고 하면 문제가 발생할 수 있다. 아니, 그냥 볼륨 스플릿이라서 지가 압축한 걸 지가 못 푸는 경우도 생긴다고 한다. 참고 링크. 기본 기능인 볼륨 스플릿 압축 해제가 역으로 장점이 되는 경우도 있는데, 일반적으로 볼륨 스플릿 된 파일들을(외국계 다운로드 사이트에 꽤 많다) 압축 해제할 경우 WinRAR은 인식하지 못하는 경우가 많다. 7zip으로 일단 압축을 해제해 보면 볼륨 스플릿이었을 경우 알아서 풀린다.

언어 코드 등의 이유로 파일 이름 인식에 실패하거나 해제에 실패했을 때 WinRAR는 무조건 중단하고 중간까지 풀리던 파일들을 모두 삭제한다. 정확히는 WinRAR도 Command-line 프로그램을 쓰면 오류 발생시 작업하던 파일을 삭제하지 않도록 할 수 있지만 복잡하고 번거롭다. 그에 반해 7Zip은 인식되지 않는 문자들을 밑줄 등으로 변환해서 해제하는 것을 기본으로 작동한다. 자세히 설명하자면, 7zip은 기본적으로 영어가 아닌 언어에 대해서 유니코드로 변환하여 파일명을 기록하고, 해제할 때에도 유니코드로 된 파일명을 실행되는 운영체제의 문자셋에 맞추어서 변환하여 해제한다. 이 부분은 확실한 7zip만의 강점 중 하나이다. 압축 해제에 실패했을 경우에도 해제되던 부분까지는 남겨두기 때문에 분할압축된 하나의 큰 파일 같은 경우 일부를 미리 확인하는 데 유용하다. 또한 WinRAR이 기본 압축 풀기 수행시 필수적으로 임시 디렉토리의 임시 파일을 사용하는 데 반해 임시 파일 없이 압축 풀림 대상 파일 자체의 크기를 늘려가며 해제하므로 임시 폴더 디스크 공간이 부족할 때 유용하다.

그림 파일, 음악 파일은 BMP, WAV 등의 일부 포맷을 제외하면 그 자체로 압축 파일에 준하는 상태라서 용량을 더 이상 줄이기 힘들기 때문에 Zip이건 7z이건 압축해도 줄지 않는다. 다만 파일에 따라 jpg라도 압축률이 다르기 때문에 7zip으로 압축하면 250MB짜리가 190MB이하로 줄어드는 경우도 있다. RAR도 마찬가지. 물론 전혀 압축이 안 되거나 오히려 늘어나는 경우 ─ 용량이 줄어들 구석은 없는데 압축프로그램의 컨테이너가 덧붙여지므로 ─ 도 있다.

USB바이러스 감염으로 USB속 파일들이 안보이는 상황일때 7zip탐색기로 찾아 들어가서(7zip에서는 보이므로) 파일들을 압축했다가 압축 파일을 다른 경로에서 풀어주면 복구가 되는 현상이 있는데, 단순히 바이러스가 원본 파일에 숨김 속성을 걸어서 보이지 않았던 것이 7zip으로 압축했다가 해제하는 과정에서 파일 속성이 풀렸기 때문이다. 참고로 폴더 옵션의 숨김 폴더 표시 여부를 무시하고 숨김 파일을 볼 수 있는데, 7zip 탐색기의 기본값이 그렇기 때문이다.

3 관련 항목

  1. X-Window 용 압축/해제 관리 프로그램. GNOME 기반이다.
  2. 압축 알고리즘은 무조건 압축률만을 따지는게 아니라, 압축 연산에 소요되는 시간과 압축비의 최적 조건을 따져가면서 개발되는 것이다.
  3. 파일을 압축한 다음 압축 해제 기능이 담긴 EXE 파일 안에 넣어 나중에 7zip이 없는 컴퓨터에서도 실행하면 바로 압축을 풀 수 있게 만든 것
  4. rar의 recovery record, recovery volume