강좌 & 팁
우분투에서 패키지 관리툴인 dpkg에 대하여 알아 보도록 할 것입니다.
설치된 Ubuntu 머신에서 다음과 같이 하면 dpkg 매뉴얼 페이지를 볼 수 있다.
$ man dpkg
설명은 다음과 같이 나온다.
dpkg - package manager for Debian ( 데비안을 위한 패키지 매니저 )
dpkg는 데비안 패키지를 설치, 빌드, 삭제, 관리 하는 툴이다.
더 사용자에 가깝운 dpkg의 프론트엔드는 aptitude 이다.
dpkg는 커맨드라인 명령어로서 제로 또는 한개 이상의 옵션으 이용하여 제어 하게된다.
액션-파라미터는 dpkg의 옵션들이 어떤 방식으로 동작을 하는지 아래의 내용을 보면 알 수 있습니다.
dpkg는 또한 dpkg-deb의 프론트엔드로 사용 될 수 있다.
다음은 dpkg-deb의 동작이며, 이것은 주어진 매개 변수를 가지고 실행 시키게 된다.
-b, --build, ( 소스를 이용하여 빌드 하여 패키지 생성 )
-c, --contents, ( 패키지에 속한 내용을 목록형식으로 보기 )
-I, --info, ( 패키지 정보 확인 )
-f, --field, ( 패키지의 제어 필드를 보여준다. )
-e, --control, ( 패키지의 control-information 을 푼다. )
-x, --extract, ( 패키지 풀기 )
-X, --vextract, and ( 패키지를 풀면서 메시지 출력 )
--fsys-tarfile.
다음은 사용 예를 간략히 살펴 보았다.
==========================================================
다음과 같이 rig 패키지를 다운 로드 한다.
wget http://free.nchc.org.tw/ubuntu/pool/universe/r/rig/rig_1.11-1_i386.deb
$ dpkg -c rig_1.11-1_i386.deb
drwxr-xr-x root/root 0 2009-05-03 05:24 ./
drwxr-xr-x root/root 0 2009-05-03 05:24 ./usr/
drwxr-xr-x root/root 0 2009-05-03 05:24 ./usr/bin/
-rwxr-xr-x root/root 26228 2009-05-03 05:24 ./usr/bin/rig
drwxr-xr-x root/root 0 2009-05-03 05:24 ./usr/share/
drwxr-xr-x root/root 0 2009-05-03 05:24 ./usr/share/rig/
-rw-r--r-- root/root 7942 2009-05-03 05:24 ./usr/share/rig/fnames.idx
-rw-r--r-- root/root 8119 2009-05-03 05:24 ./usr/share/rig/lnames.idx
-rw-r--r-- root/root 1289 2009-05-03 05:24 ./usr/share/rig/locdata.idx
-rw-r--r-- root/root 7677 2009-05-03 05:24 ./usr/share/rig/mnames.idx
-rw-r--r-- root/root 693 2009-05-03 05:24 ./usr/share/rig/street.idx
drwxr-xr-x root/root 0 2009-05-03 05:24 ./usr/share/doc/
drwxr-xr-x root/root 0 2009-05-03 05:24 ./usr/share/doc/rig/
-rw-r--r-- root/root 533 2002-08-19 04:45 ./usr/share/doc/rig/README
-rw-r--r-- root/root 424 2009-05-03 05:24 ./usr/share/doc/rig/copyright
-rw-r--r-- root/root 1067 2006-04-23 23:56 ./usr/share/doc/rig/changelog.gz
-rw-r--r-- root/root 677 2009-05-03 05:24 ./usr/share/doc/rig/changelog.Debian.gz
drwxr-xr-x root/root 0 2009-05-03 05:24 ./usr/share/man/
drwxr-xr-x root/root 0 2009-05-03 05:24 ./usr/share/man/man6/
-rw-r--r-- root/root 969 2009-05-03 05:24 ./usr/share/man/man6/rig.6.gz
$ dpkg -I rig_1.11-1_i386.deb
new debian package, version 2.0.
size 29230 bytes: control archive= 998 bytes.
752 bytes, 16 lines control
662 bytes, 11 lines md5sums
Package: rig
Version: 1.11-1
Architecture: i386
Maintainer: Ubuntu MOTU Developers <ubuntu-motu@lists.ubuntu.com>
Original-Maintainer: Norbert Veber <nveber@debian.org>
Installed-Size: 120
Depends: libc6 (>= 2.4), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.4.0)
Section: misc
Priority: extra
Description: Random identity generator
RIG (Random Identity Generator) is a free replacement for a shareware
program out there called 'fake'. It generates random, yet real-looking,
personal data. It is useful if you need to feed a name to a Web site,
BBS, or real person, and are too lazy to think of one yourself. Also,
if the Web site/BBS/person you are giving the information to tries to
cross-check the city, state, zip, or area code, it will check out.
$ dpkg -f rig_1.11-1_i386.deb
Package: rig
Version: 1.11-1
Architecture: i386
Maintainer: Ubuntu MOTU Developers <ubuntu-motu@lists.ubuntu.com>
Original-Maintainer: Norbert Veber <nveber@debian.org>
Installed-Size: 120
Depends: libc6 (>= 2.4), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.4.0)
Section: misc
Priority: extra
Description: Random identity generator
RIG (Random Identity Generator) is a free replacement for a shareware
program out there called 'fake'. It generates random, yet real-looking,
personal data. It is useful if you need to feed a name to a Web site,
BBS, or real person, and are too lazy to think of one yourself. Also,
if the Web site/BBS/person you are giving the information to tries to
cross-check the city, state, zip, or area code, it will check out.
$ dpkg -e rig_1.11-1_i386.deb
$ ls
DEBIAN rig_1.11-1_i386.deb
$ cd DEBIAN/
$ ls
control md5sums
$ dpkg -x rig_1.11-1_i386.deb rig
$ ls
rig rig_1.11-1_i386.deb
$ rm -rf rig
$ dpkg -X rig_1.11-1_i386.deb rig
./
./usr/
./usr/bin/
./usr/bin/rig
./usr/share/
./usr/share/rig/
./usr/share/rig/fnames.idx
./usr/share/rig/lnames.idx
./usr/share/rig/locdata.idx
./usr/share/rig/mnames.idx
./usr/share/rig/street.idx
./usr/share/doc/
./usr/share/doc/rig/
./usr/share/doc/rig/README
./usr/share/doc/rig/copyright
./usr/share/doc/rig/changelog.gz
./usr/share/doc/rig/changelog.Debian.gz
./usr/share/man/
./usr/share/man/man6/
./usr/share/man/man6/rig.6.gz
$ ls
rig rig_1.11-1_i386.deb