7-zip 파일압축프로그램 설치기, 솔리드 압축(solid compression)에 대해

공구함, 튜닝PRG


7-zip을 나름 좋은 프로그램이며, 일단 무료로 풀리고 있어 아무나 쓸 수 있다.

https://www.7-zip.org


32비트, 64비트 윈도우용 설치파일을 모두 준다. 설치는 간단해서 폴더만 물어보고 땡인데, 그래도 포터블(copy)이 아니라 인스톨(install)이다. 설치 후 다른 데 복사하지 말자. 설치끝난 다음 파일연결과 윈도우 탐색기 문맥 메뉴에 제대로 등록돼있지 않을 수 있는데, 그럴땐 탐색기(explorer.exe)만 재시작해주면 정상동작한다.


문맥 메뉴에서 7zip항목의 "압축파일에 추가.."로 아래 화면을 불러올 수 있다. 7-zip은 여러 포맷을 열 수 있지만, 압축할 때는 zip과 7z 확장자만 문맥메뉴에 기본 등록된다.



이것이 기본(default) 옵션이다. 

분할압축하겠다면 볼륜나누기를 보고

암호를 걸겠다면 암호입력, 암호화 방식, 파일 이름 암호화부분을 보자. 


"파일 이름 암호화", 이건 압축파일관리자로 압축파일을 열었을 때, 속에 들어 있는 파일 목록도 암호를 입력해야 볼 수 있게 하는 옵션.. 일 것이다. 아마. ^^; 전에 그렇게 썼는데 얼마 전부터인지 모르겠지만 반디집은 기본 메뉴에 이게 보이지 않아 쓰지 않았다. 그래서 반디집에서 파일에 암호를 걸어 압축한 다음 더블클릭해 반디집에서 보면, 파일 목록은 전부 다 보인다. 단 파일 이름 뒤에 *표시가 붙어 암호가 걸려 있음을 알 수 있고, 그 파일을 열어보려면 암호를 입력해야 한다. 


장단점이 있다. 확실하게 보호하고 싶으면 목록도 안보이는 게 낫고, 파일이름정도는 보여도 괜찮으면 전자가 낫다. 여기 저기 암호를 많이 걸면 보안성은 좋지만 어느 파일이 어디 있는지 궁금해 자기가 열어볼 때 극도로 불편하므로(왜냐 하면 너무 간단한 암호를 걸면 brutal force 공격에 취약하므로 적당히 복잡하게, 그리고 되도록 파일마다 다르게 걸어주는 게 좋기 때문이다), 압축할 때 건 암호는 따로 기록해 백업본을 여럿 만들어 하드와 클라우드에 보관해 두고 목록 정도는 확인할 수 있으면 편하기 때문. 하지만 이건 취향따라가는 것이니 알아서 하자.


약 480MB짜리 폴더를

1) 보통 압축, 솔리드 2GB 옵션을 주었을 때,

2) 최고 압축[각주:1], 솔리드 안함 옵션을 주었을 때

약 270MB로 비슷하게 나왔다. 2번을 사용하기로 했다.

(최고 압축, 솔리드로 하면 


솔리드 압축(solid compression)을 하면 솔리드 블럭 크기로 지정된 단위 안에서는 모든 파일을 한 개인 것처럼 취급해 사전을 만들고 압축한다.[각주:2] 솔리드압축을 하지 않으면 개별 파일마다 사전을 만든다. 예를 들어 게임의 리소스 폴더 안에 있는 데이터파일이 바이너리코드가 비슷한 경우, 솔리드압축해버리면 크기가 확 줄어들 수 있다. 하지만 파일전송, 복사 중 한 일부가 에러나면 전체 압축파일을 못 풀게 되는 경우가 생길 수 있다고. 

이것도 따지고 들어가면 경우에 따라 다를 테고 디스켓복사하던 시대가 아닌 요즘은 전송 자체는 믿을 만 하니까 별 문제없다고는 하는데, 요즘 나라면 솔리드압축은 하지 않는 걸 기본으로 한다. 버리면 안 되는 데이터니까 백업하는데 위험을 늘릴 필요는 없다. 



그리고 7z 솔리드의 경우, 실용적인 단점으로는, 작은 파일 하나를 보기 위해 전체 파일을 일단 다 풀어봐야 하는 문제가 있다고 한다. 그리고 분할압축도 그런데, 중간 볼륨 하나가 사라지면 못 푼다.


분할압축하면 *.7z.001 부터 시작하는 파일이 만들어지고, 홍길동.7z.001 파일에 커서를 놓고 마우스 오른버튼을 클릭해 문맥 메뉴를 열어 7zip으로 열어보면 압축파일 내부가 보인다.

그런데, 만약 홍길동.7z.001~009까지 파일이 만들어진 다음 005파일을 다른 이름으로 바꿔버리면(즉 그 파일이 없어지면) 적어도 7-zip 매니저에서는 

1) 전체솔리드압축했으면 아예 001파일을 압축파일이라고 인식하지도 않는다. 

2) 솔리드압축하지 않은 분할압축일 경우 목록은 보이지만 푸는 것은 안 됨.

이 점 주의할 것.


7zip으로 zip포맷(압축할 때 솔리드압축 항목이 비활성화된다) 분할압축했을 때 같은 조건을 주면, 에러를 내더라도 압축을 풀기는 하지만 좀 그렇다. 어쨌든 전혀 못 풀지는 않는다. 모 블로그 2011년글을 보면, 7zip 분할압축은 그냥 바이너리를 잘라낸 것과 같다고 적고 있다.


* 손상된 압축파일을 풀 때 행동은 표준이 없다. WinRAR, 반디집, 7-zip 등 프로그램 개발자 마음대로고 제각기 다르게 행동한다. 또한 각 포맷마다 어떤 경우에 얼마나 복구가능한 정보가 들어있는지, 그리고 압축프로그램이 파일압축할 때 복구정보를 얼마나 넣거나 별도 파일로 추가할 수 있는지 정해줄 수 있는 게 있고 그런 거 없는 게 있다.


WinRAR와 비교한 글 참고(나무위키:7-zip항목). 블로그글 이상의 신뢰성은 없는 곳이지만, 관심있다면 거기서 시작해 확인해가자. 이런 유틸리티는 버전업되면 또 확 달라질 수 있어서, 저런 데는 잘못 적은 내용도 있지만 오래된 내용도 많다.[각주:3]



따라서, 데이터 백업용으로 7z 포맷을 쓸 때는, 

  • 솔리드압축 ON/OFF 스위치가 없거나 그 부분을 어떻게 처리하는지 명시하지 않은 압축파일관리자는 사용해서는 안 된다. 솔리드압축 옵션은 꺼주기.
  • 분할압축은 파일을 자르는 것 말고 그렇게 기대하지 말 것.[각주:4] 


이거저거 생각할 것 없이, 그냥 가장 용량작게 나오게 압축한 다음 테스트하고, 업로드한 다음 다운로드해 테스트하는 것도 방법이겠지만..



아래는 설치 후 화면.  파일명칸에 커서를 올리고 마우스 우클릭하면

- 오른쪽에서 왼쪽으로 읽기

- 유니코드 제어문자보기

- 유니코드 제어문자삽입

메뉴를 볼 수 있다. 평소 쓸 일이 별로 없는 것인데, 악성코드배포하는 놈들이 올린 파일을 다룰 일이 생기면 필요할지도 모르겠다.




윈도우 탐색기 문맨 메뉴가 간단하다. 예를 들어 "알아서 풀기", "파일명/폴더명으로 풀기(압축하기)"같은, 반디집에 있고 편한 기능이 여기는 없다. 그래서 ZIP파일만 다룰 것이라면 반디집이 낫다. 


그리고, 컴퓨터(운영체제 행동)이 좀 불안하다면 처음 까는 프로그램으로, 일단 건드리는 게 적은 7-zip을 가지고 시작해도 상관없다. 편의성때문에 나중에 반디집을 깔겠지만.



* 파일압축 중 표시하는 정보는 이렇다.

나쁘지는 않지만, 이 작업에 적용해놓은 압축옵션도 표시해주면 좋을 것이다.

이건 파일관리자 화면도 마찬가지. 번거롭게 해놨다.


  1. '최고 압측' 위에 '가장 느림' 단계가 하나 더 있다. [본문으로]
  2. 나무위키쪽 이야기를 보면, 반디집은 솔리드압축이 되는 포맷은 되도록 기본으로 파일 전체에 적용하고, WinRAR등은 켜거나 끌 수 있다고 한다. 그리고 zip포맷은 솔리드압축 기능이 없는 포맷이라 상관없다나. [본문으로]
  3. 예를 들어, 글 중 "배드섹터 이후에는 파일복사가 안 된다"는 말도 OS의 기본 행동이 그렇지, 개인수준에서도 억지로 읽어서 원본의 일부분을 살리는 경우도 있다. [본문으로]
  4. 테스트해보진 않았는데, 어디서 읽기로 RAR는 압축할 때 각 볼륨마다 복구정보를 넣을 수 있다고. 단 어느 포맷이든 복구정보가 들어가면 그만큼 커진다. [본문으로]
이 글과 같은 분류 글목록으로 가기 / 최신글목록으로 가기
☞ 링크/트랙백관련

댓글을 달아 주세요

 

최근 올라온 글 (목록 보기)