dpkg제작 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
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.