Linux 之 deb 包生成、安裝、卸載


Linux 之 deb 包的生成、安裝和卸載

deb

  • DEB 是 Debian 軟件包格式的文件擴展名,是 Unixar 的標准歸檔,將包文件信息以及包內容,經過 gziptar 打包而成。

  • deb 基於 tar 包,因此本身會記錄文件的權限以及所有者/用戶組。

  • deb 包組成部分:

    • 數據包——包含實際的安裝的程序數據,文件名為 data.tar.XXX;在安裝過程中,改包里的數據會被直接解壓到根目錄(/),因此在打包之前需要根據文件所在位置設置好相應的文件目錄樹。如下:

    • 安裝信息及控制腳本包——包含deb的安裝說明,標識,腳本等,文件名為 control.tar.gz;一般有5個文件:control,用於記錄軟件標識,版本號,平台,依賴信息等數據;preinst,在解包data.tar.gz前運行的腳本;postinst,在解包數據后運行的腳本;prerm,卸載時,在刪除文件之前運行的腳本;postrm,在刪除文件之后運行的腳本。如下:

    package: package-name
    version: 1.0.0-2021.05.20
    section: Software
    architecture: arm64
    maintainer: lsm
    description: some package description
    
    • deb文件的二進制數據,包括文件頭等信息,一般看不到,在某些軟件中打開可以看到。

control字段信息說明

  • package:程序名稱,中間不能有空格
  • version:軟件版本
  • description:程序說明
  • section:軟件類別,utils,net,mail,text,x11
  • priority:軟件對於系統的重要程度,required,standard,optional,extra等
  • essential:是否是系統最基本的軟件包,yes/no,若為yes,則不允許卸載(除非強制性卸載)
  • architecture:軟件所支持的平台架構,i386,arm64,amd64,m68k,sparc,alpha,powerpc等
  • maintainer:維護者信息
  • source:軟件包的源代碼名稱
  • depends:軟件所依賴的其他軟件包和庫文件,若依賴多個軟件包和庫文件,采用逗號隔開
  • pre-depends:軟件安裝前必須安裝、配置依賴性的軟件包和庫文件,常用於必須的預運行腳本需求
  • recommends:推薦安裝的其他軟件包和庫文件
  • suggests:建議安裝的其他軟件包和庫文件

打包

// 包的所有者和用戶組最好為root
dpkg -b MyProject MyProject-linux_arm64.deb

安裝

dpkg -i MyProject-linux_arm64.deb

卸載

dpkg -P myproject


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM