iFree

며칠 전 "한국형 Jailbreak 도구인 iFree가 출시됐다"는 소식을 들었다. "ZOO 소스를 만든 덕수니"님이 일부 DreamWiz의 지원을 받아 개발하고 있으며 7월 정도에 출시될 것이라는 것은 알고 있었다. 그러나 개발이 예정된 날짜에 이루어지는 경우는 많지 않기 때문에 빨라야 7월말쯤 윤곽이 드러날 것으로 생각했지만 의외로 7월 중순경에 출시됐다.

iFree

얼마 전 올린 iPod Touch 프로그램 한글화라는 글에 여친 입술을 파비콘으로 사용하는 옥토님이 iPod Touch에는 노턴 고스트와 같은 프로그램이 없는지에 대한 글이 올라왔다. 알다시피 iPod Touch의 기반 운영체제는 FreeBSD이다. 또 유닉스 시스템은 파티션을 통채로 마운트할 수 있기 때문에 이 전체 파티션을 백업하면 굳이 고스트를 사용하지 않아도 백업이 가능할 것으로 생각핬다. 물론 iPod Touch에 남아 있는 공간의 문제가 있지만.

그러던 중 며칠 전 한국형 Jailbreak 도구인 iFree가 출시됐다는 소식을 들었다. ZOO 소스를 만든 덕수니님이 일부 DreamWiz의 지원을 받아 개발하고 있으며 7월 정도에 출시될 것이라는 것은 알고 있었다. 그러나 개발이 예정된 날짜에 이루어지는 경우는 많지 않기 때문에 빨라야 7월말쯤 윤곽이 드러날 것으로 생각했지만 의외로 7월 중순경에 출시됐다.

그러나 당시 펌웨어를 2.0으로 이미 판올림 한 상태라 iFree를 시험하지 못했다. 궁금한 것은 참지 못하는 성격 때문에 결국 펌웨어를 2.0에서 다시 1.1.4로 내리고 iFree를 시험해 봤다. 결론적으로 말하자면 지금까지 나온 'Jailbreak 도구중 기능적으로 가장 우수했다'. iFree가 지원하는 핵심적인 기능은 다음과 같다.

탈옥

가장 핵심적인 기능이다. ZiPhone처럼 USB 케이블만 연결하면 Jailbreaking 할 수 있다. ZiPhone와는 달리 Jialbreak하면서 기능을 추가적으로 선택할 수 있다. 또 iPod Touch과 iPhone 탭을 분리함으로서 iPod Touch 사용자가 iPhone의 기능으로 Jailbreak하다가 iPod Touch를 벽돌로 만들 가능성을 막았다. Jailbreak하는 방법도 상당히 간단하다. iPod Touch 탭에서 설치할 기능을 선택하고 시작 단추를 누르면 된다.

각각의 기능에 마우스를 올려두면 오른쪽 작은 창에 설명이 표시된다. 화면 구성이나 동작하는 방법을 보면 Windows CD 통합 도구로 유명한 nLite와 비슷한 것 같다.

다만 Jailbreak에서 아쉬운 점은 1. 삭제할 수 없는 시스템 기능과 삭제가 가능한 기능이 구분되지 않는다는 점, 2. 한글 키보드를 삭제할 수 없도록 했다는 점, 3. Jailbreak한 뒤 뜨는 추천 프로그램이 지나치게 많다는 점(설치도 되지 않았지만 판올림 중 수정됨)은 수정되어야할 점으로 생각된다.

추천 프로그램은 말 그대로 추천 프로그램이므로 가급적 iPod Touch에 핵심적인 10~20개 내외의 프로그램만 추천하는 것이 iPod Touch를 처음 사용하는 사람에게 훨씬 도움이 될 것 같았다.

추천 프로그램이 너무 많다. 프로그램에 대한 설명도 없기 때문에 iPod Touch를 처음 사용하는 사람은 어떤 프로그램을 설치해야 할지 알 수 없다. 게임은 좋아하는 취향이 다르기 때문에 Jailbreak한 뒤 바로 표시되는 추천 프로그램에서는 게임은 아예 빼고 가급적 핵심적인 프로그램만 선정해서 추천하는 것이 나을 것 같았다.

iPhone 탭은 iPod Touch 탭과 비슷하지만 iPhone에서만 사용할 수 있는 Activate(iTunes 인증 우회), Unlock(GSM을 사용하는 통신 사업자의 서비스를 이용)가 추가된 것만 차이가 있었다.

소스 추가

'소스 추가'와 '프로그램 설치/삭제'는 그리 직관적이지 못했다. Source 탭에서 소스를 선택하고 열기를 클릭하면 프로그램 설치 탭이 활성화된다. 프로그램 설치 탭에서 프로그램을 선택해서 설치하는 방식을 택하고 있다. 아울러 소스를 선택한 뒤 Installer에 설치 단추를 클릭하면 사용자가 선택한 소스를 Installer의 소스에 추가할 수 있는 기능도 있었다.

그러나 이러한 방법에는 몇가지 문제가 있었다. 일단 소스를 선택하고 열기를 클릭하면 처음 한번은 프로그램 탭이 잘 열리지만 두번째 부터는 iFree가 죽었다(판올림된 것은 거의 항상 죽는다). 매번 죽는 것도 아니고 또 같은 소스에서 죽는 것도 아니었지만 상당히 잘 죽었다. 사용하고 있는 운영체제 탓인지 아니면 iFree의 문제인지는 나도 알 수없었다.

어제까지는 처음 소스를 선택하고 열기를 선택하면 동작했다. 그러나 오늘은 어떤 소스를 선택해도 그림처럼 죽어 버렸다.

이벤트 로그
오류 있는 응용 프로그램 iFree_.exe, 버전 1.1.8.0, 타임스탬프 0x487df0fd, 오류 있는 모듈 iFree_.exe, 버전 1.1.8.0, 타임스탬프 0x487df0fd, 예외 코드 0xc000001d, 오류 오프셋 0x000721d0, 프로세스 ID 0x94e8, 응용 프로그램 시작 시간 0x01c8e7f7c4dab992.

원본  Application Error
이벤트 ID      1000
작업 범주   (100)
수준      오류
키워드     클래식
사용자     해당 없음
컴퓨터     comp

두번째는 동작 방법이 직관적이지 못했다. 앞에서 설명했듯이 Sources 탭에서 소스를 선택하고 열기 단추를 클릭하면 프로그램 설치 탭이 활성화되고 프로그램 목록이 표시된다. 이런 방법 보다는 Source 탭과 프로그램 설치 탭을 프로그램 설치 탭으로 통합하고 왼쪽 창에서 소스를 택하면 오른쪽 창에 프로그램 목록을 보여 주는 방식이 더 직관적일 것이라는 생각이 들었다.

프로그램 설치/삭제

처음 iFree를 사용해서 프로그램을 설치하면 iFree를 통해 설치한 프로그램과 Installer를 이용해서 설치한 프로그램으로 프로그램의 관리가 이원화될 것으로 생각했다. Installer보다 다양한 기능을 제공하는 Cydia Installer는 Installer와 통합 관리가 되지 않았기 때문이다. 그러나 iFree는 이런 문제를 해결했다. 즉, iFree를 통해 프로그램을 설치하면 Installer를 통해 삭제할 수 있으며 반대로 Installer를 통해 프로그램을 설치하면 iFree를 통해 삭제할 수 있었다. 즉, 두개의 프로그램을 함께 사용해도 관리가 이원화될 걱정을 하지 않아도 된다는 점이다.

iPod Touch에서 설치 정보를 읽어 온다. 따라서 iPod Touch, iFree 어느쪽에서 삭제해도 설치 정보가 반영된다.

다만 '프로그램 설치/삭제에서 한가지 아쉬운 점은 프로그램을 검색할 수 있는 기능과 프로그램이 어떤 프로그램인지 알 수 있는 설명이 표시되지 않는다'는 점이다. 따라서 원하는 프로그램을 찾으려고 하면 '소스/열기'를 반복하거나 모든 소스를 선택해서 열어야 했다. 그러나 모든 소스를 열면 시간도 오래 걸리거니와 iFree가 죽는 때가 많았다. 이런 방식 보다는 소스 관리는 서버에서 하고 iFree를 뛰우면 서버에서 프로그램 목록을 분류와 함께 받아와서 프로그램 설치 탭에 뿌려 주는 방식이 더 나은 듯했다.

사용자 폴더 탐색

탐색기 탭을 클릭하면 사용자 폴더를 탐색할 수 있는 기능을 제공한다. 다른 프로그램을 사용하지 않고 iPod Touch의 사용자 폴더를 접속할 수 있기 때문에 iPod Touch를 처음 사용하는 사람에게는 상당히 유용한 기능으로 보였다. 그러나 iPod Touch에 어느 정도 익숙한 사람이라면 T-Pot이나 네트워크 드라이버로 연결하면 되기 때문에 이런 사람에게는 아주 유용한 기능은 아니었다.

iFree로 Jailbreak를 하면 필요한 사용자 폴더를 자동으로 만들어 준다. 따라서 그림에서 알 수 있는 것처럼 생각보다 폴더가 많다. 사용자 폴더 통합 옵션을 선택했기 때문인 듯하다.

백업 및 복원

iFree의 기능 중 가장 마음에 드는 기능은 바로 백업 및 복원 기능이었다. 이 좋은 기능을 왜 기타라는 생소한 이름으로 지었는지 모르겠다. 이 탭에는 백업과 복원에 대한 거의 모든 기능이 포함되어 있다. iPod Touch를 원하는 모드로 부팅할 수 있는 모드 변경 기능, iPod Touch 시스템을 통체로 백업 및 복원할 수 있느 '시스템 백업/복원 기능', iPod Touch의 일부 데이타를 백업할 수 있는 '부분 백업/부분 복원 기능'등 백업과 복원에 대한 거의 모든 기능이 포함되어 있다.

  1. 모드 변경
    일반 모드, 복구 모드, DFU 모드로 iPod Touch를 부팅한다. 일반 모드는 평상시 iPod Touch가 부팅하는 모드이며, 복구 모드는 펌웨어를 빼고 시스템은 초기 구입 상태로 되돌리는 모드이다. 마지막으로 DFU 모드는 펌웨어를 업데이트하기 위한 모드이다. 이전 글, iPod Touch 강좌 22. 펌웨어 판내림(2.0에서 1.1.4로)에서 알 수 있듯이 펌웨어를 올리거나 내리려고 하면 반드시 DFU 모드로 부팅해야 한다. 복구 모드DFU 모드 모두 홈 단추와 전원 단추를 상황에 따라 달리 눌러서 동작시키기 때문에 복구 모드나 DFU 모드로 부팅하기 힘들어 하는 초보자에게는 아주 유용한 기능이라고 생각한다.

    iPod Touch가 정상적으로 부팅한 상태에서 일반 모드를 클릭하면 복구 모드로 부팅된다. 의도적인 것인지 아니면 버그인지 모르겠다. 또 DFU 모드를 클릭하면 그림처럼 협박성 문구가 출력된다. 펌웨어를 판올림하려는 경우라면 겁먹지 말고 예를 누르기 바란다.

  2. 시스템 백업/복원
    시스템을 통채로 백업한다. 백업된 데이타는 '문서\iFree\Backup' 폴더에 저장된다. 링크 폴더를 고려해서 백업하며, Media 폴더처럼 큰 용량의 폴더는 50M로 잘라서 백업한다. Media 폴더처럼 큰 폴더를 iPod Touch에서 tar, gzip으로 압축하고 컴퓨터로 가져오는 방법을 사용하기 때문에 백업하는 시간은 상당히 오래걸린다.

    Applications.dat /Applications 폴더 백업(응용 프로그램 백업)
    Bin.dat /bin 폴더 백업(시스템)
    Etc.dat /etc 폴더 백업(설정 파일)
    LaunchDaemons.dat /System/Library/LaunchDaemons 폴더 백업(iPod Touch에서 자동으로 실행하는 대몬 프로그램의 설정 파일 백업)
    Root.dat /var/root에서 bin과 Glitter만 백업. Library와 Media는 Library.dat_x와 Media.dat_x로 백업
    rootLibrary.dat /Library 폴더 백업
    sBin.dat /sbin 폴더 백업
    Usr.dat /usr 폴더 백업
    Var.dat /var 폴더 백업(링크되어 있는 Applications 폴더와 root는 백업하지 않음)
    Library.dat_a /User/Library 폴더 백업
    Media.dat_a /User/Media 폴더 백업(음악, 동영상, 사진등 사용자 데이터 백업). 백백업 파일의 크기가 50M를 초과하면 .dat_a부터 Medai 폴더의 크기에 따라 .dat_b, .dat_c로 계속 증가함.

    파일의 크기가 큰 경우 50M짜리 파일로 쪼개서 백업한다. 50M 짜리 파일 하나를 만드는 시간이 7~8분정도 걸린다. 따라서 백업할 미디어 데이타가 5G라면 100*8=800/60=13 시간이 걸린다. 따라서 시스템 전체를 백업할 때는 파일 크기가 큰 음악, 동영상, 사진은 지우고 백업하는 것이 좋다.

  3. 부분 백업
    메모, 음악, 연락처, 사진, 동영상 등 사용자 데이타를 부분적으로 백업할 수 있는 기능이다. 따라서 설치된 프로그램을 빼고 사용자 데이타만 백업할 때 상당히 유용하게 사용할 수 있는 기능이다. 특히 부분 백업은 데이타를 컴퓨터로 바로 복사하기 때문에 시스템 백업을 통해 백업하는 것 보다 상당히 빠르다. 한가지 주의할 것은 버그 때문인지 몰라도 음악, 사진, 동영상은 백업되지 않으므로 iTunes로 백업해 두기 바란다.

iFree로 하는 탈옥

따로 설명할 필요가 없을 정도로 간단하다. iFree를 실행한 뒤 자신이 가지고 있는 장치에 맞게 iPod Touch나 iPhone 탭을 클릭하고 시작 단추를 클릭하면 된다. iPod Touch, iPhone 모두 Installer, 한글 키보드, BSd SubSystem이 기본 설치 옵션이다. 그러나 iPod Touch는 모든 옵션을 다 선택한 뒤 Jailbreak하는 것이 좋다. 어차피 Jailbreak한 뒤 실행해야 하는 작업이기 때문이다.

  1. iFree를 실행하고 'iPod Touch' 탭을 클릭한 뒤 모든 옵션을 다 선택하고 시작 단추를 클릭한다.

    일단 클릭하면 그림과 같은 경고 메시지가 나타난다. 1.1.4 이상이라고 하지만 정확하게는 1.1.4, 1.1.5까지 지원한다.

  2. 'Jailbreak'에 성공하고 나면 자동으로 'iPod Touch' 탭에 추천 프로그램 목록이 나타난다. 여기서 필요한 프로그램을 선택한 뒤 설치 단추를 클릭한다.

iFree로 Jailbreak하는 과정

일단 Jailbreak를 하면 부팅한 뒤 콘솔을 이용해서 프로그램을 설치한다.

Jailbreak하고 프로그램을 설치한 뒤의 iPod Touch. 그림에서 알 수 있듯이 iFree 아이콘과 folk 아이콘이 추가되어 있다는 것을 알 수 있다.

소스를 추가해서 Installer에 소스를 추가할 수도 있고 Sources 탭과 프로그램 설치탭을 이용해서 iFree에서 프로그램을 설치할 수 있다. 그러나 찾기 기능을 제공하지 않기 때문에 원하는 프로그램을 찾기 힘들다. 따라서 추천 프로그램 중 필요한 프로그램만 설치하고 Installer를 이용해서 설치하는 것이 조금 복잡하지만 속은 더 편하다.

iFree로 한큐에 시스템 백업하기

iFree에서 제공하는 기능 중 가장 마음에 드는 기능이다. 시스템 백업/복구 기능을 이용하면 언제든지 시스템을 이전 상태로 만들 수 있기 때문이다. 한가지 주의할 것은 앞에서 이야기 했듯이 사용자의 데이타가 많다면 시간이 상당히 오래 걸린다. 압축하고 자르고 백업하기 때문이다. 따라서 가급적 다음 순서에 따라 시스템 백업하기 바란다.

  1. 부분 백업으로 필요한 데이타만 백업
    부분 백업은 압축을 하지 않고 iPod Touch의 데이타를 컴퓨터로 그대로 복사한다. 따라서 시스템 백업 처럼 압축하는 과정이 빠지기 때문에 상당히 빠른 속도로 백업할 수 있다. 그러므로 먼저 사용자의 데이타를 부분 백업으로 백업해 두는 것이 좋다.

  2. iTunes로 음악, 사진, 동영상 삭제
    시스템 백업을 하기 전에 가급적 iTunes를 이용해서 음악, 사진, 동영상을 삭제하는 것이 좋다. 만약 삭제하지 않는다면 앞에서 설명한 것처럼 50M짜리 백업 파일 하나를 만드는데 7~8분이 걸리기 때문에 5G만 백업하려고 해도 13시간이 걸린다.

  3. 시스템 백업/복원 기능으로 시스템 백업
    시스템 백업 기능으로 시스템을 백업하면 문서\iFree\Backup이라는 폴더에 모든 시스템 파일이 백업된다. 유닉스 시스템이기 때문에 폴더는 tar로 병합되며, 다시 Gzip을 이용해서 분할 압축한 뒤 컴퓨터로 복사된다. 원래 펌웨어의 크기가 160M 정도 되기 때문에 설치된 프로그램에 따라 다소 차이가 나지만 대충 총 200M 이하의 백업 파일이 만들어 진다.

  4. 문서/iFree/backup 폴더의 이름을 변경
    굳이 하지 않아도 되는 작업이다. 그러나 복구점을 여러개 가지고 싶다면 이 폴더의 내용을 backup-080717처럼 날짜를 반영한 폴더에 복사한 뒤 작업하는 것이 좋다.

  5. 백업을 이용한 복구
    만약 시스템에 이상이 생겼다면 backup-080717처럼 변경점을 반영한 폴더의 백업 파일을 backup 폴더로 복사한 뒤 복구 단추를 누르면 복구할 수 있다. 나처럼 펌웨어를 판올림했거나 판내림 한 뒤라면 Jailbreak를 실행하고 복구하면 원래의 상태로 되돌아 올 수 있다. 한가지 주의할 것은 아직 시스템 백업이 완전하지는 않다는 점이다. iFree 게시판에 올라온 글에 따르면 일부 프로그램은 문제를 발생하며, ROM처럼 덩치가 큰 파일은 백업되지 않는다고 한다.

iFree로 복원을 하면 나타나는 민화

ZiPhone의 조로 복장 보다는 훨씬 친근감이 있다.

iFree의 시스템 복구 기능을 이용해서 복구한 결과

아이콘의 순서까지 그대로 복구됐다. 다만 테마의 독은 바뀌지 않아 테마만 다시 적용했다.

남은 이야기

이 글을 쓰기 위해 2.0에서 1.1.4로 판내림했다. 그리고 다시 복구 기능을 시험하기 위해 1.1.5로 판올림한 뒤 Jailbreak을 했다. 그리고 다시 1.1.4로 판내림하고 역시 Jailbreak를 하고 시스템 복구를 시도했다. 처음 시스템 백업을 할 때는 음악, 동영상, 사진을 iPod Touch에서 삭제하지 않아 백업에만 서너 시간이 걸렸다. 그런데 iFree로 이 작업을 해보니 프로그램을 설치하는 부분에서는 매력이 떨어지지만 Jailbreak와 시스템 백업/복구에는 더없이 편한 도구였다. 시스템 복원은 시스템 설정을 비롯한 각종 설정까지 모두 복원이 가능했다. 심지어 아이콘의 순서까지 복원되었기 때문에 iPod Touch용 고스토로 사용하기에 손색이없었다. 다만 백업을 하면서 날자별로 복원점을 성정할 수 있으면 좋을 텐데 덮어쓰는 것은 조금 개선되어야 할 점으로 보였다.

관련 글타래