dpkg제작 deb팩

4935 단어
deb 패키지의 파일 구조:
deb 패키지 안의 구조: DEBIAN 디렉터리와 소프트웨어의 구체적인 설치 디렉터리(예를 들어 etc, usr,opt,tmp 등).
DEBIAN 디렉터리에는 최소한 control 파일이 있고 Postinst(postinstallation),postrm(postremove),preinst(preinstallation),prerm(preremove),copyright(판권),changlog(수정기록),conffiles 등이 있을 수 있다.
control 파일: 소프트웨어 패키지의 이름(Package), 버전(Version), 설명(Description) 등을 설명하는 deb 패키지는 소프트웨어의 설치 관리와 인덱스를 위해 반드시 시나리오를 써야 하는 설명 파일입니다.패키지를 완벽하게 관리하려면 다음 필드가 있을 수 있습니다.
Section: 소프트웨어의 종류를 설명하는데 흔히 볼 수 있는 것은'utils','net','mail','text','x11'등이 있다.
Priority: 소프트웨어가 시스템에 대한 중요도를 설명한다. 예를 들어'required','standard','optional','extra'등이다.
Essential: 시스템의 가장 기본적인 패키지인지 확인하고(옵션은 yes/no) 그렇다면 이 소프트웨어는 시스템의 안정적이고 정상적인 운행을 유지하는 패키지로서 어떠한 형태의 마운트도 허용하지 않습니다(강제적인 마운트 해제를 하지 않는 경우).
architecture: 소프트웨어 패키지 구조, 예를 들어'i386′,'amd64','m68k','sparc','alpha','powerpc'등을 바탕으로 한다.
Source: 패키지의 소스 코드 이름,
Depends: 소프트웨어가 의존하는 다른 패키지 및 라이브러리 파일입니다.만약 여러 개의 소프트웨어 패키지와 라이브러리 파일에 의존한다면 서로 간에 쉼표로 구분한다.
Pre-depends: 소프트웨어를 설치하기 전에 의존적인 패키지와 라이브러리 파일을 설치하고 설정해야 합니다. 이것은 항상 스크립트를 미리 실행하는 데 사용됩니다.
Recommends: 이 필드는 설치된 다른 패키지와 라이브러리 파일을 보여 줍니다.
Suggests: 설치할 다른 패키지 및 라이브러리 파일을 권장합니다.
control 파일의 전체 예:
Package: mysoftware
Version: 2016-02-26
Section: free
Priority: optional
Depends: libssl.0.0.so, libstdc++2.10-glibc2.2
Suggests: Openssl
Architecture: i386
Installed-Size: 66666
Maintainer: Simon @ newdivide7037#gmail.com
Provides: mysoftware
Description: just for test
                    (          )

  
postinst 파일: 소프트웨어가 정상적인 디렉터리 파일을 시스템에 복사한 후 실행해야 하는 설정 작업을 포함합니다.prerm 파일: 소프트웨어를 마운트 해제하기 전에 실행해야 하는 스크립트입니다.postrm 파일: 소프트웨어를 마운트 해제한 후 실행해야 하는 스크립트입니다.
 
deb 패키지 만들기 프로세스:
1. 다음 카탈로그 및 파일 만들기
모든 디렉토리 및 파일:
mydeb
|----DEBIAN
       |-------control
       |-------postinst
       |-------postrm
|----boot
       |----- mysoftware
 
모든 디렉터리에서 위와 같은 디렉터리와 파일을 만듭니다
$ mkdir -p /home/mydeb                         #          deb        
$ mkdir -p /home/mydeb/DEBIAN                  #       
$ mkdir -p /home/mydeb/boot                    #       /boot   
$ touch /home/mydeb/DEBIAN/contro    l         #        
$ touch /home/mydeb/DEBIAN/postinst            #       ,   Shell  
$ touch /home/mydeb/DEBIAN/postrm              #      ,   Shell  
$ touch /home/mydeb/boot/mysoftware            #    “  ”  ,                   

 
control 파일 내용:
Package: mysoftware       (    ,       )
Version: 1                (    )
Section: free             (    )
Prioritt: optional        (          )
Architecture: amd64       (          )
Maintainer: xxx <>        (        )
Description: mydeb        (      )
          ( )

  
postinst 파일 내용(소프트웨어 설치 후 이 Shell 스크립트를 실행합니다. 일반적으로 소프트웨어 실행 환경을 설정하는 데 사용되며'#!/bin/sh'를 첫 줄로 하고 이 스크립트에 실행 권한을 부여해야 합니다. chmod + x postinst):
# !/bin/sh
echo "my deb" >/home/mydeb.log

  
postrm 파일 내용(소프트웨어를 제거한 후 이 셸 스크립트를 실행합니다. 일반적으로 정리 마무리 작업으로 "#!/bin/sh"를 첫 줄로 하고 실행 가능한 권한을 부여해야 합니다. chmod + x postrm):
# !/bin/sh
rm -rf /home/mydeb.log

  
2. 첫 번째 디렉터리와 파일을 완성한 후 완성된 mydeb 디렉터리를 포장할 수 있습니다.deb 패키지
$ dpkg -b mydeb mydeb.deb #              ,
                          #            

  
현재 deb백 제작이 완료되었습니다.
 
deb 패키지를 설치하려면:
$ dpkg -i mydeb.deb      #  imysoftware   /boot    ,  postinst
                         # postinst   /home         "mysoftware"   mydeb.log  

  
deb 패키지를 제거하려면 다음과 같이 하십시오.
$ dpkg -r   mysoftware    #          control  Package       mysoftware。
                          #  /boot  mysoftware   ,  posrm,
                          # postrm   /home    mydeb.log    

  
deb 패키지가 설치되어 있는지 확인하려면:
$ dpkg -s   mysoftware      #          control  Package       mysoftware

  
deb 패키지 파일 내용을 보려면 다음과 같이 하십시오.
$ dpkg   -c   mydeb.deb

  
현재 디렉토리의 deb 패키지 정보를 보려면 다음과 같이 하십시오.
$ dpkg --info mydeb.deb

  
deb 패키지에 설치할 파일 압축 풀기
$ dpkg -X   mydeb.deb   mydeb    #            deb ,    mydeb.deb
                                 #        deb         ,    mydeb

  
deb 패키지의 DEBIAN 디렉토리에 있는 파일 압축 해제 (최소한 control 파일 포함)
$ dpkg -e   mydeb.deb   mydeb/DEBIAN    #            deb ,
                                        #     mydeb.deb
                                        #        deb         ,
                                        #     mydeb/DEBIAN

  
전재 대상:https://www.cnblogs.com/Genesis-007/p/5219960.html

좋은 웹페이지 즐겨찾기