OS/Linux - Ubuntu

[Linux - 리눅스 / Ubuntu - 우분투] 데비안 패키지 형식

주누다 2015. 4. 25. 16:25
반응형

데비안 패키지 형식


- 우분투는 기본적으로  데비안 패키지 형식을 사용

- 데비안 패키지의 내부 구조는 ar 명령으로 확인 가능

- ar 명령은 아카이브를 생성하거나 수정하고 아카이브에서 파일을 추출할 때 사용

- 아카이브는 여러 파일을 모아서 하나의 파일을 생성한 것으로,

  리눅스 프로그래밍에서 사용하는 라이브러리 파일이 대표적인 예

1) 패키지 내부 구조 확인

-  ar 의 'tv' 옵션으로 확인

=========================================================================

sjw-lenovo@sjwlenovo-Lenovo-U310:~/deb$ ar tv gnome-chess_1%3a3.8.3-1_amd64.deb
rw-r--r-- 0/0      4 Jun 30 14:15 2013 debian-binary
rw-r--r-- 0/0   6608 Jun 30 14:15 2013 control.tar.gz
rw-r--r-- 0/0 2438288 Jun 30 14:15 2013 data.tar.xz
sjw-lenovo@sjwlenovo-Lenovo-U310:~/deb$

=========================================================================



2) 패키지에서 파일 추출

=========================================================================

sjw-lenovo@sjwlenovo-Lenovo-U310:~/deb$ ar tv gnome-chess_1%3a3.8.3-1_amd64.deb
rw-r--r-- 0/0      4 Jun 30 14:15 2013 debian-binary
rw-r--r-- 0/0   6608 Jun 30 14:15 2013 control.tar.gz
rw-r--r-- 0/0 2438288 Jun 30 14:15 2013 data.tar.xz
sjw-lenovo@sjwlenovo-Lenovo-U310:~/deb$ ls
gnome-chess_1%3a3.8.3-1_amd64.deb
sjw-lenovo@sjwlenovo-Lenovo-U310:~/deb$ ar x gnome-chess_1%3a3.8.3-1_amd64.deb
sjw-lenovo@sjwlenovo-Lenovo-U310:~/deb$ ls
control.tar.gz  debian-binary
data.tar.xz     gnome-chess_1%3a3.8.3-1_amd64.deb
sjw-lenovo@sjwlenovo-Lenovo-U310:~/deb$
=========================================================================



3) 'debian-binary' 파일은 deb 파일 형식의 버전을 알려줌

=========================================================================

sjw-lenovo@sjwlenovo-Lenovo-U310:~/deb$ cat debian-binary
2.0
sjw-lenovo@sjwlenovo-Lenovo-U310:~/deb$

=========================================================================



4) 'data.tar.xz' 파일은 실제로 설치될 파일들을 경로와 함께 tar 파일로 함께 묶고 압축해 놓은 것

=========================================================================

sjw-lenovo@sjwlenovo-Lenovo-U310:~/deb$ tar tvf data.tar.xz
...

...

...

drwxr-xr-x root/root         0 2013-06-30 14:15 ./usr/share/icons/
drwxr-xr-x root/root         0 2013-06-30 14:15 ./usr/share/icons/hicolor/
drwxr-xr-x root/root         0 2013-06-30 14:15 ./usr/share/icons/hicolor/
24x24/
drwxr-xr-x root/root         0 2013-06-30 14:15 ./usr/share/icons/hicolor/
24x24/apps/
-rw-r--r-- root/root      1027 2013-06-30 14:15 ./usr/share/icons/hicolor/
24x24/apps/gnome-chess.png
drwxr-xr-x root/root         0 2013-06-30 14:15 ./usr/share/icons/hicolor/
16x16/
drwxr-xr-x root/root         0 2013-06-30 14:15 ./usr/share/icons/hicolor/
16x16/apps/
-rw-r--r-- root/root       568 2013-06-30 14:15 ./usr/share/icons/hicolor/
16x16/apps/gnome-chess.png
drwxr-xr-x root/root         0 2013-06-30 14:15 ./usr/share/icons/hicolor

....

...

...

=========================================================================



5) 패키지 설치와 관련된 설정 정보를 가지고 있는 control.tar.gz 파일임

=========================================================================

sjw-lenovo@sjwlenovo-Lenovo-U310:~/deb$ tar tvf control.tar.gz
drwxr-xr-x root/root         0 2013-06-30 14:15 ./
-rw-r--r-- root/root       960 2013-06-30 14:15 ./control
-rw-r--r-- root/root     18150 2013-06-30 14:15 ./md5sums
sjw-lenovo@sjwlenovo-Lenovo-U310:~/deb$
=========================================================================

 * control 파일 : 패키지 이름, 버전, 종류, 의존 관계에 있는 다른 패키지,

 패키지에 대한 설명 등 패키지의 세부 정보가 있음

 * md5sums : 설치한 파일들의 md5 값을 가지고 있음. md5는 해당 파일이 안전한 파일임을 알려주는 값

 * postinst : 패키지를 설치한 다음에 실행하는 스크립트

 * postrm : 패키지를 삭제한 다음에 실행하는 스크립트


- postinst  스크립트와 postrm 스크립트는 패지의 특성에 따라 있을 수도 없을 수도 있음







반응형