며칠 전 강좌를 쓰면서 iPod Touch에서 이상한 현상이 발생했다. Installer에서 프로그램을 설치하려고 하면 내려받기가 끝나는 시점에서 Installer가 죽는 것이었다. 처음에는 원인을 알 수 없었다. 인터넷에서 검색을 해봤지만 검색하기도 힘들었다. 이렇다할 오류 메시지가 뜨지 않았기 때문이다. 결국 인터넷과 iPod Touch 포럼을 전전긍긍한 결과 원인을 알았다.

바로 '프로그램 영역이 부족해서 발생한 현상'이었다. 따라서 iPod Touch 사용자는 다른 프로그램을 설치하기 전에 BossTool을 이용해서 프로그램 영역에 설치된 프로그램을 데이타 영역으로 옮기는 것이 좋다. BossTool을 이용하면 이후에 설치되는 프로그램도 데이타 영역에 설치될 수 있도록 링크도 만들어 주기 때문에 iPod Touch를 해킹한 뒤 가장 먼저 설치해 주고 프로그램을 데이타 영역으로 이동시켜주는 것이 좋다.

나도 이 프로그램을 몰라 iPod Touch를 초기 상태로 되돌리고 복구하는 작업을 해야 했다. iPod Touch로 각종 프로그램을 설치하다 보면 Installer가 'Main Script Execution Failed'라는 오류 메시지를 띄우는 때가 있다. 심할 때는 아무런 메시지도 띄우지 않고 Installer가 죽기도 한다.

'Main Script Execution Failed'라는 오류 메시지가 나타났다면 문제를 쉽게 해결했을 것으로 생각한다. 그 이유는 오류 메시지로 구글링을 해보면 되기 때문이다. 그러나 오류 메시지가 나타나지 않았기 때문에 문제의 원인을 파악하기 힘들었다.

'Main Script Execution Failed' 메시지가 뜨는 이유나 Installer가 갑자기 죽는 이유는 똑 같다. 바로 파티션이 부족해서 발생한 일이었다. 유닉스를 사용해 본 사람은 알겠지만 Unix를 설치하기 전에 꼭 해 주어야 하는 작업이 파티션 작업이다. Windows에서는 파티션 작업이 그리 중요하지 않지만 유닉스에서는 상당히 중요한 작업이다. 따라서 대부분의 유닉스 매뉴얼에서는 시스템 환경에 따라 어떻게 파티션을 나누어야 하는지에 대한 가이드라인을 따로 제공하고 있다.

iPod Touch도 'FreeBSD'라는 유닉스를 기반으로 하고 있기 때문에 기본적으로 프로그램 영역과 데이타 영역이 분리되어 있으며 프로그램 영역으로 사용할 수 있는 공간은 iPod Touch의 용량(8G, 16G, 32G)에 관계없이 300M를 사용한다. 'Main Script Execution Failed' 오류나 'Installer가 갑자기 꺼지는 문제'는 바로 프로그램 영역이 부족하기 때문에 발생하는 문제다.

일단 이 문제가 발생하면 Installer를 이용해서 프로그램을 삭제, 프로그램 영역을 확보해도 동일한 현상이 발생할 수 있다. 따라서 iPod Touch를 사용할 때 가장 먼저 해야 하는 작업이 바로 BossTool을 이용해서 프로그램 영역에 저장된 프로그램을 프로그램 영역보다 훨씬 데이타 영역으로 이동시키고 이후 모든 프로그램을 데이타 영역에 저장할 수 있도록 하는 작업이다.

iPod Touch 강좌 3. 유용한 소스들에서 설명한 것처럼 '덕수니'님의 안정화 팩을 이용해서 탈옥하면 이 작업을 자동으로 해준다. 그러나 덕수니님의 안정화 팩은 내 iPod Touch에서는 오히려 더 불안하게 동작했으므로 이 프로그램을 이용해서 프로그램 영역의 프로그램을 데이타 영역으로 옮기고 이후 설치되는 프로그램도 자동으로 데이타 영역에 저장되도록 하는 것이 좋다. BossTool을 설치하고 사용하는 방법은 다음과 같다.

  1. 먼저 'BossTool'을 설치한다. 검색해서 설치해도 되고 'Utilities' 카테고리에서 'BossTool'을 설치해도 된다. 'BossTool'을 설치하는 방법은 따로 설명하지 않겠다.
  2. '섬머보드'에서 'BossTool'(구호약품통)을 터치한다.

  3. 'Free Disk Space'를 터치한다. 'iPod Wiper'와 'Jailbreak Prep'가 있지만 두 옵션은 신경쓰지 않아도 된다.

  4. 'Relocate Applications'를 터치해서 프로그램을 데이타 영역으로 옮기고 'Fonts'와 'Ringtones'에 대해서도 같은 작업을 실행한다. 'Ringtones'는 'iPhone'에서 사용되는 것으로 보인다.

이렇게 해두면 설치한 프로그램이 많아도 'Installer'가 오류를 내거나 꺼지는 일이 발생하지 않는다.

관련 글타래