우분투 패키지 구조 ~ 우분투 패키지는 xxx.deb 파일로 표기하며, 3개의 파일의 archieve 이다. ~ 패키지 파일은 다음과 같으며, ar -x xxx.deb 을 하여 풀 수 있다. ~ 압축 파일은 tar 를 이용하여 풀면 된다.
파일 설명
debian-binary ~ 이 파일은 text 파일로 deb 파일 형식을 의미한다.
control.tar.gz ~ control.tar.gz 파일을 풀면 다음과 같은 설정 파일들이 나온다.
control - deb 패키지에서 가장 중요한 메타 파일
postinst - 설치 시 실행할 script
prerm - 삭제 시 실행할 script
md5sums - 사용자 컴퓨터에 설치될 파일들에 대한 MD5 checks
data.tar.gz ~ 이는 특정 경로에 설치할 파일 리스트 모두를 보여 준다.
예제 ~ 본 예제에서는 qemu-system-x86_64 파일을 /usr/local/bin/ 디렉토리에 설치하는 패키지를 만든다.
1) data.tar.gz 용 폴더 만들기
2) control.tar.gz 용 폴더 만들기 - 버전 번호는 데시와 함께 부가적인 패키지 번호를 가져야 한다. 예 1.1-1 - 프로그램을 이식성이 가능한 쉘 스크립트로 설치하면 Architecture 는 all 로 선택한다. - 의존 패키지가 존재하면 Depends 를 설정한다. (이는 dpkg -S <파일> 을 해보면 알 수 있다) - 필드 정보 - Package (mandatory) - Source - Version (mandatory) - Section (recommanded) - Priority (recommanded) - Architecture (mandatory) - Esstial - Depends et al - Installed-Size - Maintainer (mandatory) - Description (mandatory) - Homepage
cotrol 파일을 debian/DEBIAN 디렉토리에 복사한다.
3) 패키징 만들기
4) 설치 - 이제 만든 패키지는 dpkg 를 이용하여 설치 할 수 있다. $ dpkg -i ./ktns-qemu_1.0-1_amd64.deb
음하하 패키징 만들기도 무지 쉽네!
참고: deb 파일 캐쉬 디렉토리: /var/cache/apt/archieves/ deb 파일 정보 보기 : dpkg-deb -I xxx.deb deb 설치 파일 리스트 : dpkg-deb -c xxx.deb 실행파일의 의존 패키지 찾기: dpkg -S <실행파일명> ex) dpkg -S /bin/cat 설치된 패키지 정보 : apt-cache showpkg <패키지명> ex) apt-cache showpkg coreutils 패키징 검사 방법: lintian xxx.deb