在Linux分發軟件有兩種形式,一種是源碼,一種是安裝包。當目標機器不帶有編譯環境,且不能聯網時,安裝包就是惟一可選的方案了。html
Linux 下的安裝包有多種格式,不一樣Linux使用的格式並不徹底相同。市場上主流的安裝包格式是*.deb
*.rpm
其中deb
是debian系列的安裝包,rpm
是CentOS系列的安裝包。架構
本文主要介紹的是一種簡單的deb
安裝包的製做方法,使用範圍有限。如需瞭解更多能夠閱讀Debian 新維護人員手冊ide
若是沒有安裝dpkg
工具包的話,就先安裝(通常是默認安裝的)工具
sudo apt-get install dpkg
example-package ├── DEBIAN (必須) │ ├── control (必須) │ └── md5sums └── usr ├── local │ ├── bin (可執行文件安裝位置) │ └── lib (使用到的相關庫,目標機器沒有安裝) └── share (非必須) └── doc └── example-package
程序編譯完成後,將編譯後的文件放到 example-package/usr/local/bin
下
根據須要按上方的文件結構添加內容ui
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 # 詳細介紹
find ./usr -type f | xargs -I{} md5sum {} > DEBIAN/md5sums
dpkg-deb -b example-package
命令執行完成以後會在當前目錄生成 example-package.deb
文件,一個deb安裝包就OK了。this
此方法能夠方便的製做安裝包,能夠方便的分發本身的軟件。可是亦有其缺陷,沒有相應的更改記錄。這種打包方法生成的包不能發佈到軟件源,但通常軟件分發沒有問題,如需更詳細的打包方法參考code
參考: Debian 新維護人員手冊htm