Sunday, May 6, 2012

Debian GNU/Linux : 한글명 파일 압축 풀기

Debian GNU/Linux : 한글명 파일 압축 풀기


Operating System Environments

Main : Mac OS X SnowLeopard (10.6.8)

Sub- : Debian GNU/Linux squeeze (6.0.4)

Server : Debian GNU/Linux lenny or squeeze

Mobile : iPod-touch 4G - iOS 5.0.1



압축 파일하면 떠오르는 확장자는 .zip 이다. Presentation 하면 .ppt 가 떠오르는 상황이랑 유사하다. .ppt 가 Microsoft 에서 나온 상용 프로그램이라는 문제가 있듯이, .zip 에도 문제들이 몇 가지 있는데, 한글 사용자들에게 가장 문제가 되는 부분은 text encoding format 을 기억하지 못 한다는 점이다. 간단하게 말해서, Windows에서 압축한 것을 Linux 나 Macintosh에서 풀면 한글이 깨진다. 반대의 상황도 마찬가지이다. (Macintosh 에서는 The Unarchiver 를 쓰면 된다.)

맥에서 압축/압축풀기 보러가기


리눅스(Debian GNU/Linux squeeze)에서도 이를 해결해 보기로 했다.


  1. 시도해 본 것들
  2. 해결책
  3. 7zip


  • 실패로 돌아간 시도들

많은 이들이 unzip 에 option 을 주어 해결했다고 하는데,

$unzip -O CP949 한글이름.zip

이는 unzip-5.52 까지만 먹히는 방법이며, 그 이상의 unzip 버전에는 -O 로 encoding option을 조정하는 부분이 사라졌거나 안보인다. (Debian GNU/Linux squeeze 에서는 unzip-6.04 가 기본이다.) Debian GNU/Linux lenny 의 unzip 을 구해, 깔려있는 unzip을 몽땅 지우고, 다시 설치해 보았는데, 역시 -O option은 없었다. Ubuntu 에서는 이렇게 해결한 사람이 있다고 하는데, Debian 에서는 안되더라.


p7zip 으로는 풀리긴 하는데, 이름이 깨져 접근이 용이하지 않다.

$7z x 한글이름.zip -oTargetDirectory

, 여기서 TargetDirectory 는 압축 풀 Directory 를 넣는다.


기타 맨 앞에 zipenv 나, iconv 로 조정하는 방법 역시, 지식이 미천하여 통하지 않았다.


  • 시도하지 않은 시도들과, 해결책

다른 package 를 깔거나, 거기에 누군가가 짜논 script를 이용한 방법들은, 나중에 그 package 와 script 를 관리하기 너무 귀찮다는 이유로, 시도하지 않았다.

단순하고, 나중에도 기억할 수 있는 방법을 선호한다.

나는 wine 과 windows 용 bandizip(반디집)을 사용하는 것으로 일단락 지었다.


1. wine package는 아래와 같이 받는다.

$sudo apt-get install wine


2. bandizip(반디집)은 아래에서 받는다.

bandizip(반디집) 한글 페이지 

bandizip(반디집) 영문 페이지


Debian GNU/Linux squeeze 를 영문 상위로 쓰는 분들은 아래 링크에서 바로 받을 수 있다.

bandizip(반디집) 영문 버전 다운로드


3. 사용법

다운받은 badizip-setup-gl.exe를 wine으로 열어,


Settings 에서 Extraction 부분에 Default Code page 를 Korean으로 변경,


Open -> z: -> home -> … 에서 깨져 보이는 "한글파일.zip"을 열어,


반디집 안에서는 깨져 보이지만, Dolphin 에서는 제대로 보이는 것을 볼 수 있다.



PS) wine package 는 Linux 에서 windows application 을 돌리는 emulator 이다.



  • 결론과 7zip

이미 다른 사람이 Windows에서 한글 파일명으로 압축한 것은 손 쓸 방법이 없이, 위에 소개한 방법이나 다른 방법을 써서 풀어야 한다.

하지만 7zip (Linux에서는 p7zip or p7zip-full)을 써서 압축한 .7z는, .zip 과는 다르게 파일 이름을 unicode 로 저장하므로 서로 다른 OS에서 압축한 파일들이, 달라진 OS에서 이름이 깨지는 일이 발생하지 않는다.

7zip 홈페이지

7zip Wikipedia 보러가기


7zip은 GPL (+ unRAR)을 따르는 Free Software 이고, 분할 압축, .iso 지원하는 등 다양한 기능이 있으며 사용이 간편하다. (Macintosh 에서는 Keka를 이용하면 간단하고,  Windows에서는 Windows Explorer(탐색기) 안에서 우클릭으로 바로 쓸 수 있으며, GNU/Linux 에서도 p7zip을 깔면 ark 로 바로 쓸 수 있다.)


그러니 한 번 써 보고 괜찮으면, .7z를 주위에도 알려주고 사용을 종용해 보자.

3 comments:

  1. 저도 위와 같은 인코딩 문제로 고민을 해보았습니다. 간단하게 이미 있는 프로그램들로 어떻게 해보려 했으나, 기대한 대로 동작하지 않더군요 ㅜㅜ
    unzip으로 인코딩을 지정해도 꺠지길래, 파일목록만 따로 출력시켜 iconv와 같읕 툴로 변환시켜 보려고도 했고, 반디집을 wine으로 돌려 해결해볼려고도 했습니다. 7z으로도 안되어서, wine으로 7z GUI버전을 돌려보았습니다. 여전히, 안되더군요. 하지만, 거듭된 실패 중에 결국 찾아냈습니다. 알집은 되더군요!
    다만, 알집을 리눅스에서 실행시키기엔 무리가 있어, 여전히 해결은 되지 못했습니다.
    결국은 포기하고, arkzip이란 프로그램을 만들어 해결을 보았습니다.

    ReplyDelete
    Replies
    1. .zip은 파일명 인코딩 정보가 없다는 것이 문제의 핵심입니다. .7z로 압축하면 인코딩 정보가 포함됩니다.

      하지만 본문에서도 얘기했다시피, 누군가가 이미 만들어 놓은 한글명이 포함된 .zip을 리눅스에서 풀려면 반디집을 이용하면 됩니다. 반디집을 실행해서, Settings 에서 Extraction 부분에 Default Code page 를 Korean으로 설정하면, 반디집 안에서는 파일명이 깨져보여도 풀면 제대로 표현됩니다.

      알집을 포함한 ESTsoft의 모든 제품은 기본이 안된 것들이 대부분이니, 쓰지 마세요.

      Delete
  2. Nice post, Keep it up. Thanks for sharing. It's a Very Great and Amazing Blog Dear This is Very Great and Helpful. I know this site provides good content and more information,
    Are there any websites that offer these features and quality?
    Format Factory Crack
    Mockplus Crack
    NeoDownloader Crack

    ReplyDelete