Debian安裝包的簡單製作

行者武松發表於2018-03-13

在Linux分發軟體有兩種形式,一種是原始碼,一種是安裝包。當目標機器不帶有編譯環境,且不能聯網時,安裝包就是唯一的方案了。

Linux 下的安裝包有多種格式,不同Linux使用的格式並不完全相同。市場上主流的安裝包格式是*.deb *.rpm 其中deb是debian系列的安裝包,rpm是CentOS系列的安裝包。

本文主要介紹的是一種簡單的deb安裝包的製作方法,使用範圍有限。如需瞭解更多可以閱讀Debian 新維護人員手冊

所需工具

如果沒有安裝dpkg工具包的話,就先安裝(一般是預設安裝的)

sudo apt-get install dpkg

檔案結構

example-package
├── DEBIAN   (必須)
   ├── control (必須)
   └── md5sums
└── usr
    ├── local
       ├── bin (可執行檔案安裝位置)
       └── lib  (使用到的相關庫,目標機器沒有安裝)
    └── share (非必須)
        └── doc
            └── example-package

準備相關檔案

程式編譯完成後,將編譯後的檔案放到 example-package/usr/local/bin
根據需要按上方的檔案結構新增內容

編寫control 檔案

Package: example-package
Version: 1.0-1
Architecture: amd64   # 執行的CPU架構
Maintainer: UserName <郵箱>
Installed-Size: 10
Section: unknown  # 應用型別  不知道就用 unknown 
Priority: optional   # 優先集 一般就用 optional
Description: this is a test package    # 簡介 不超過60個字元
 this is a test  # 詳細介紹

製作deb包

  1. 計算MD5
    find ./usr -type f | xargs -I{} md5sum  {} > DEBIAN/md5sums
  2. 打包
    dpkg-deb -b example-package

    命令執行完成之後會在當前目錄生成 example-package.deb檔案,一個deb安裝包就OK了。

小結

此方法可以方便的製作安裝包,可以方便的分發自己的軟體。但是亦有其缺陷,沒有相應的更改記錄。這種打包方法生成的包不能釋出到軟體源,但一般軟體分發沒有問題,如需更詳細的打包方法參考

參考:Debian 新維護人員手冊

原文釋出時間:2016-02-03

本文來自雲棲社群合作伙伴“Debian社群”,瞭解相關資訊可以關注“Debian社群”。


相關文章