탈옥강좌/탈옥

시디아 소스 패키지 저장 오류와 Error Code (1) 수정방법

T.B 2012. 2. 7. 14:19
시디아를 로딩하다보면, "I Wasn't Able to Locate File For the Package"(패키지 파일을 위치 시킬 수 없다."는 오류가 나오는 경우가 볼 수 있습니다. 패키지 파일 위치 오류는 대부분 Error Code (1)과 관련된 내용으로 리포그룹의 크랙소스를 사용했을 때 발생합니다. 즉, A라는 그룹의 트윅과 동일명의 B라는 그룹의 트윅을 사용했을 때 문제가 발생하는데 다음과 같은 증상이 나타납니다.

1) 모든 트윅을 설치할 때 마다 Eror Code (1)이 표기되고
2) 시디아 로딩시
 "I Wasn't Able to Locate File For the Package" 메시지와 함께 로딩이 완료되지 않습니다. 로딩이 완료되지 않는 다는 얘기는 업데이트 항목도 표기되지 않는 다는 얘기이기도 합니다.
3) 다른 소스 패키지 추가가 되질 않습니다.


Error Code (1) 수정하기
 

 
Sub-process /usr/bin/dpkg returned an error code (1) 메세지가 지속적으로 나타나는 이 에러는 트윅들이 정상적으로 설치는 되지만, 계속 같은 메세지가 반복되기 때문에 여간 짜증나는게 아닐 수가 없습니다. 이때는 아래의 2가지 방법으로 해결할 수 있습니다.

Methods.1

첫번째 방법은 탈옥 숙련자들을 위한 Mobileterminal을 이용한 dpkg 명령어를 사용하는 방법입니다. 만약, OpenSSH가 설치되어 있고 동일WiFi 망에서 작업이 가능하다면 putty, iFunbox 등의 SSH 오픈 프로그램을 이용하는 방법도 있습니다. 여기서는 SinFul iPhoneHackulo.us 소스가 충돌했을 경우에 대한 예시를 제시해보겠습니다. cf. 각 리포스팅 그룹별로 당연히 중간 그룹주소 역시 달라지며 구글검색 등을 통해 확인하시기 바랍니다.

 root 로 접근한 다음 아래를 차례대로 입력합니다.

 # dpkg -l | grep appsync (트윅명은 에러가 난 트윅)
 # dpkg --purge com.sinfuliphone.appsync31 (숫자는 버전에 따라 다름)
 # dpkg -l | grep appsync
 # dpkg --purge us.hackulo.appsync31 (리포그룹 주소도 각각 다름)
 # dpkg -l | grep appsync
 # 

이 방법외에 에러가 난 트윅에 대해서 그냥 강제로 덮어쒸우는 방법도 있습니다.

STEP1  먼저 에러가난 트윅의 원래 리포소스 트윅에 대한 .deb 파일을 구합니다.
STEP2  .deb 파일을 수동설치 경로에 넣은 다음
dpkg -i --force -overwite xxxxx.deb 를 입력해서 강제로 설치합니다.

Methods.2

두번째 방법은 초보자들을 위한 일반적인 방법으로, Error Code (1)의 인을 알았으니 이에 대한 해결을 '상식적으로 생각'해서 해결하는 방법입니다. Error Code (1)의 이유는 '같은 이름 트윅의 다른 소스 중복설치'가 원인입니다. 따라서 '원래 설치했던 소스'로 다시 설치하면 얘기가 간단해집니다. 예를 들면 A라는 소스에서 AppSync를 설치했는데 B라는 소스에서 AppSync를 설치하고 이런 증상이 나타났다면 B를 제거하고 A로 설치하면 더이상 Error Code(1)의 
Sub-process /usr/bin/dpkg returned an error code (1) 메세지를 보지 않을 수 있습니다.

 

시디아(Cydia) 소스 패키지 저장 오류 수정하기

시디아 실행시
 "I Wasn't Able to Locate File For the Package" 메시지가 떳을 경우에 해당되며 '다른 문제(crash)가 원인이라면 해당되지 않는다는 점' 을 참고해 두시길 바랍니다.

STEP1  먼저 Cydia를 실행합니다. 하단에 첨부한 스크린샷과 같이 상단에 로딩이 끝나기를 기다리고, 로딩이 끝나면 
"I Wasn't Able to Locate File For the Package" 메시지가 나올겁니다. 업데이트 패키지를 읽어올 수도 없고, 다른 소스 추가도 안될 것입니다.


STEP2  Retrun to Cydia를 클릭하고 Cydia로 나온 다음 메뉴에서 'Changes'를 클릭합니다.


STEP3  Changes 상단에서 'Refresh'를 클릭한 다음 잠시 기다린 후 소스 패키지를 추가하면 정상적으로 추가될 수 있습니다.



이렇게 해도 안되면, crash일 확률이 높습니다. 이때는 자신이 설치한 트윅을 순차적으로 지워나가면서 어떤 트윅이 crash인지 확인해 나가는 방법밖에 없습니다. 만약, 이게 안된다면 그냥 DFU 복원 후 재탈옥을 해야겠습니다만, 어떤게 원인인지 모른다면 결국 같은 결과가 계속 반복되는 수 밖에 없습니다.

 T.B의 SNS 이야기 블로그의 모든 글은 저작권법의 보호를 받습니다. 어떠한 상업적인 이용도 허가하지 않으며, 이용(불펌)허락을 하지 않습니다.

▲ 사전협의 없이 본 콘텐츠(기사, 이미지)의 무단 도용, 전재 및 복제, 배포를 금합니다. 이를 어길 시 민, 형사상 책임을 질 수 있습니다.

▲ 비영리 SNS(트위터, 페이스북 등), 온라인 커뮤니티, 카페 게시판에서는 자유롭게 공유 가능합니다.


T.B의 SNS이야기 소식은 T.B를 팔로윙(@ph_TB) 하시면 실시간으로 트위터를 통해서 제공 받을 수 있습니다.

728x90
반응형