본문 바로가기

Tech-tips/Jailbreak

Cydia용 deb 패키지 만들기

Cydia용 deb 패키지 만들기

전문가용 강좌이므로 반말 + 사진 없음 더블어택, 초보자는 보지마셈 머리터짐, 절루가 애비~!


일단 어플의 기본이 될 폴더를 만든다. 사실 모든 패키지 정보는 config에 입력 될것이기 때문에 거창하게 지을필요 전혀 없다.

그 폴더안에 DEBIAN 이라고 폴더를 만든다. 대문자 필수다.

그 안에 택스트 파일을 하나 만든다. config라고 이름을 지정하고, 확장자는 제거한다.

그 다음 적당한 택스트 편집기로 불러와서 패키지 정보를 입력한다.


Package: com.estoque.3dtextwidget

Name: 3D Text Widget

Version: 1.0

Architecture: iphoneos-arm

Author: Estoque <incusx@naver.com>

Depends: com.eldwin.iwidgets, mobilesubstrate

Depiction: http://est0que.tistory.com/1430

Description: 3D Text Widget for iWidget! You can type anything! No SSH needed, Just using iWidget option!

Homepage: http://est0que.tistory.com/

Maintainer: Estoque <incusx@naver.com>

Section: Themes (Addons)

Sponsor: Estoque <http://est0que.tistory.com/>


package는 패키지 이름이다. 애플이 쓰는 방식인 거꾸로 주소 입력 방식을 쓰자.

네임, 버전은 설명안함.

아키택쳐는 iphoneos-arm 그대로 둔다.

author,depiction,description,hompage,maintainer,seciotn,sponsor는 대충 때려잡아서 보면 뭐가 뭔지 감이 올것이므로 설명안함.


depends가 아주 중요한 부분이다. conflict도 있는데, 어짜피 테마는 그딴거 없으므로 패스.

자신이 만든 테마나 자료에서 꼭 필요한 것의 이름을 적는다. 이게 없으면 설치가 안되게 한다.

firmware (>= 4.0) - 이런 방식으로 운영체제에 따라서 걸러 낼수도 있다.

태마 같은 경우에는 depends가 winterboard이다. 드림보드일 경우 com.wynd.dreamboard라고 입력하자.

나는 iwidget용을 만들었기 때문에 depend에 iwidget이 들어갔다. 개인차는 있을것이다.

모든 사항을 다 입력하고 나면 맨마지막줄에 한줄 띄우는것을 잊지말자

안그럼 오류난다.


deb를 만드는 가장 간편한 방법은 아이폰 시스템 안에 넣은 뒤에 SSH로 접근하여 제작하는 것이다. 이것 말고도 홈브루나 맥포트 같은 것을 사용한 여러가지 방법이 있긴한데, 뭐 대단한거 만들 것도 아니라서 일단 지금까지는 이 방법을 쓸 것이다.

우선 Cyberduck을 설치한다. 알수없는 개발자 경고로 삭제한다고 겁주면 시스템 환경설정> 보안 및 개인정보에 가서 자물쇠 풀고 모든 곳에서 다운로드한 app 허용해준다. 계속 허용하는게 껄끄럽다면 Cyberduck 실행후 다시 설정을 원래대로 돌린뒤 자물쇠를 잠궈도 Cyberduck은 계속 실행된다.

Cyberduck으로 접근하려면 아이폰의 SSH가 열려있어야 한다. Cydia에 가서 OpenSSH를 설치해주자. 일단 루트를 열개되면 보안취약점이 생기므로 비밀번호는 꼭 바꿔줄것.

사용자 이름은 root 기본 패스워드는 alpine이다. 서버 주소는 자신이 현재 연결된 wifi 주소를 사용하도록 한다.


일단 루트에 적당한 폴더를 하나 만들고, deb로 만들 파일을 집어넣어야 하는데, 매우 경로 입력하기 귀찮으므로 루트(/)에 폴더를 하나 만들어준다.

사이버덕에서 직접가기 → Open in Terminal.app을 선택한다.

터미널을 켜자마자 바로 루트암호를 물어볼것이다. 자신이 설정한 암호를 입력하되 기본 암호는 alpine 이다.


이제 루트에 만든 폴더 안에 파일을 넣어준다. 어짜피 deb이름은 안에 config가 결정하므로 폴더이름은 최대한 간단하게 하는게 자판을 덜칠수 있을것이다. 그리고 폴더를 집어 넣을때 사이버덕을 이용하면 와이파이 네트워크를 거쳐 오므로 매우느리다. 그냥 아이펀박스로 싸게싸게 집어 넣자.

cd는 ~의 경로로 찾아가라는 명령어다. 입력하고 루트에 있는 폴더를 선택한다. 나는 debinstall이라고 이름을 지었다.

이제 debinstall안에 있는 폴더중하나를 골라서 패키지로 만들 차례다. dpkg -b 폴더이름 을 입력한다.

4가지 경고는 원래 뜨는것이므로 겁먹지 말자.

deb 패키지가 지정한 폴더에 생성되어 있을 것이다.