linux deb安裝包打包

2021-10-10 05:13:17 字數 4728 閱讀 2877

1、目錄結構

以tomcat舉例

2、常用配置

​ control檔案

control:這個檔案主要描述軟體包的名稱(package),版本(version),installed-size(大小),maintainer(打包人	和****)以及描述(description)等,是deb包必須具備的描述性檔案,以便於軟體的安裝管理和索引,architecture(架構)
package:

version:

installed-size:

maintainer:

description:

architecture:

字段

用途例子/備註/其他

package

程式名稱

中間不能有空格

version

軟體版本

description

程式說明

section

軟體類別

utils, net, mail, text, x11

priority

軟體對於系統的重要程度

required, standard, optional, extra等;

essential

是否是系統最基本的軟體包

yes/no,若為yes,則不允許解除安裝(除非強制性解除安裝)

architecture

軟體所支援的平台架構

i386, amd64, m68k, sparc, alpha, powerpc等

source

軟體包的源**名稱

depends

軟體所依賴的其他軟體包和庫檔案

若依賴多個軟體包和庫檔案,採用逗號隔開

pre-depends

軟體安裝前必須安裝、 配置依賴性的軟體包和庫檔案

常用於必須的預執行指令碼需求

recommends

推薦安裝的其他軟體包和庫檔案

suggests

建議安裝的其他軟體包和庫檔案

備註:

preinst檔案

在deb包檔案解包之前(即軟體安裝前),將會執行該指令碼。可以停止作用於待公升級軟體包的服務,直到軟體包安裝或公升級完成。
postinst檔案

負責完成安裝包時的配置工作。如新安裝或公升級的軟體重啟服務。軟體安裝完後,執行該shell指令碼,一般用來配置軟體執行環境,必須以「#!/bin/sh」為首行。
#!/bin/sh

echo

"my deb"

> /root/mydeb.log

#!/bin/shif[

"$1"

="configure"];

then

/bin/launchctl load -wf /system/library/launchdaemons/com.ixtension.mobilelogdaemon.plist

fi

prerm 檔案

該指令碼負責停止與軟體包相關聯的daemon服務。它在刪除軟體包關聯檔案之前執行。
#!/bin/shif[

[$1== remove ]];

then

/bin/launchctl unload -wf /system/library/launchdaemons/com.ixtension.mobilelogdaemon.plist

fi

postrm檔案

負責修改軟體包鏈結或檔案關聯,或刪除由它建立的檔案。軟體解除安裝後,執行該shell指令碼,一般作為清理收尾工作,必須以「#!/bin/sh」為首行
#!/bin/sh

rm -rf /root/mydeb.log

二、dpkg 詳解

打包dpkg -b

dpkg -b . mydeb-1.deb

第乙個引數為將要打包的目錄名(.表示當前目錄),第二個引數為生成包的名稱<.deb file name>

安裝(解包並配置) dpkg -i|–install <.deb file name>

dpkg -i mydeb-1.deb
強制安裝

dpkg --force-depends -i mydeb-1.deb
解包:

dpkg --unpack mydeb-1.deb

#該命令僅對 「mydeb-1.deb」進行解包操作,不會執行包配置工作。

解除安裝

dpkg -r|--remove
刪除包,但保留配置檔案

dpkg -r my-deb 

dpkg -p|--purge my-deb

該命令刪除包,且刪除配置檔案。

檢視deb包是否安裝/deb包的資訊 dpkg -s|–status

dpkg -s my-deb
檢視deb包檔案內容

dpkg -c mydeb-1.deb
檢視當前目錄某個deb包的資訊

dpkg --info mydeb-1.deb
解壓deb中所要安裝的檔案

dpkg -x  mydeb-1.deb mydeb-1

第乙個引數為所要解壓的deb包,第二個引數為將deb包解壓到指定的目錄

解壓deb包中debian目錄下的檔案(至少包含control檔案)

dpkg -e mydeb-1.deb mydeb-1/debian
列出與該包關聯的檔案 dpkg -l|–listfiles

dpkg -l my-deb
配置軟體包 dpkg --configure

dpkg --configure my-deb
3、製作deb流程

準備好可執行的二進位制檔案,這個二進位制檔案要可執行,提前要考慮相容性,如果程式有目錄要完整的乙個程式目錄。

新建軟體資料夾

我們測試名稱為jfeng-deb

新建乙個名為debian資料夾

此資料夾內存放控制資訊

package: jfeng

version: 1.1.0

architecture: amd64

section: utils

priority: optional

maintainer: mc

homepage:

description: gale debug

然後我們建立對應的二進位製包安裝完成後的路徑資訊放置在debian的同級目錄下,也就是把當前的目錄當成根(「/」)目錄,製作完成後安裝時,當前目錄下除了debian目錄的其他目錄都會被預設安裝到系統的「/」目錄下。

下面是乙個程式目錄的例子。

|——jfeng-deb

|————usr

|————bin

|——可執行檔案(安裝後,就在你的/usr/bin生成相應的可執行檔案)

|————share

|————icons

|——deb.png(圖示檔案生成到/usr/share/icons/)

|————debian(大寫、用來製作打包檔案)

|————control(描述deb包的資訊必須的檔案)

完整實驗例子目錄結構:

directories, 6 files

打包

sudo dpkg -b jfeng-deb/ jfeng-linux-amd64.deb

# dpkg解包

dpkg -x [包名]

[解包後的目錄]

# dpkg檢視安裝包內容

dpkg -c [包名]

python SDK包 打包和安裝

請必須 的文章,下面文字僅供參考 note 可以打包成.egg也可以打包成.whl使用的打包方法不一樣。具體參考上面鏈結。打包成.whl檔案以後直接傳送給其他人.whl檔案即可 在linux和windows都可以使用 然後執行pip install xx.whl安裝就可以呼叫了。note 在打包wh...

linux deb檔案安裝

命令 dpkg ipackage file.debdpkg r package name 注意 使用此命令需要你自己注意依賴軟體,所以這並不是安裝軟體的最佳方法.dpkg的詳細使用方法,網上有很多,下面簡單列了幾個 dpkg i package.deb 安裝包dpkg r package 刪除包dp...

php pear包打包方法

二 在臨時目錄下,建立相關目錄 mkdir pv tmp 三 建立package.ini檔案 chmod a x onion onion init package.ini 內容如下 三 將 解壓至臨時目錄src下,並刪除原來的package.xml檔案 tar zxvf xywyservice 0....