Raspberry Pi_Kor_17.5.3 package 형식의 파일로 배포되는 프로그램 설치


Published Book on Amazon


All of IOT

Starting with the Latest Raspberry Pi from Beginner to Advanced – Volume 1

All of IOT

Starting with the Latest Raspberry Pi from Beginner to Advanced – Volume 2


출판된 한글판 도서


최신 라즈베리파이(Raspberry Pi)로 시작하는 사

물인터넷(IOT)의 모든 것 – 초보에서 고급까지 (상)

최신 라즈베리파이(Raspberry Pi)로 시작하는 사

물인터넷(IOT)의 모든 것 – 초보에서 고급까지 (하)


Original Book Contents


17.5.3  package 형식의 파일로 배포되는 프로그램 설치  

 

물론 프로그램이 package 형식으로 구성되어 있지만, package repository에 등록되어 배포되지 않고, 별도의 방식으로 배포되는 package 프로그램인 경우는 APT 도구인 "apt-get" 명령을 사용할 수 없고, low-level의 명령인 "dpkg" 명령을 사용해야 한다.

 

[명령 형식]

dpkg  [option...]  -i         directory/package-file

dpkg  [option...]  --install  directory/package-file

 

[명령 개요]

    지정된 package를 시스템에 설치한다

    user 권한    -- super user.

 

[상세 설명]

    여기서 지정된 package-file package의 이름이 아니라 package정보를 포함하고 있는 파일이름으로 통상 ".deb" 확장자를 가진다.

    "--recursive" 또는 "-R" option이 지정되면 package-file에는 특정 파일이 아니라 directory를 지정한다.

    이 작업을 하면 "--unpack" action"--configure" action의 작업을 모두 처리한다.

    install 작업은 다음 단계를 진행한다.

    새로운 package에 대한 control files을 추출한다..

    새로운 package를 설치하기 전에 다른 version의 동일 package가 설치되어 있다면, 이전 package "prerm" script를 실행한다.

    package "preinst" script을 제공하면, 해당 script를 실행한다.

    새로운 파일의 package unpack하고, 설치하는 과정에서 처리가 잘못되면 다시 복구할 수 있도록 이전 파일을 backup한다

    새로운 설치를 하기 전에 다른 version의 동일 package가 설치되어 있다면 이전 package "postrm" script를 실행한다. script는 새로운 package "preinst" script가 실행된 이후에 실행되는데, 이것은 이전 파일이 삭제됨과 동시에 새로운 파일이 write되기 때문이라는 것을 주의해 보기 바란다.   

    package에 대한 configuration 설정한다. 이 작업이 어떻게 이루어지는지에 대한 상세한 사항은 "--configure" action에 대한 설명을 참조하기 바란다.

 

 

[주요 option]

    action

-i, --install package-file...

Install  the  package.  If  --recursive  or -R option is specified, package-file must refer to a directory instead.

--unpack package-file...

Unpack  the  package,  but don't configure it. If --recursive or R option  is  specified,  package-file  must  refer  to  a  directory instead.

--configure package...|-a|--pending

 

Configure a package which has been unpacked but not yet configured.

If -a or --pending is given instead of package, all unpacked but unconfigured packages are configured.

 

    option

-R, --recursive

 

Recursively  handle  all  regular  files  matching pattern *.deb found at specified directories and all  of  its  subdirectories. This  can  be  used with -i, -A, --install, --unpack and --avail actions.

 

[사용 Example]

다음은 <Mplayer> 프로그램을 설치하기 위해서 package 파일을 download 받아서 시스템에 설치하는 사례이다

 

pi@raspberrypi ~ $  dpkg -i /home/pi/Downloads/mplayer_0.xx_i386.deb

 

 

다음은 <Cron> 프로그램 package 파일을 download 받아서 설치하는 사례이다

 

pi@raspberrypi ~ $ dpkg -i /home/pi/Downloads/cron_3.0p11.deb

 

 

 

 

 


 

Leave a Reply