天天看點

deb包生成過程

linux系統上一般的安裝方式,我見過的,有兩種,一種deb包安裝,一種源碼安裝,源碼安裝和windows上的exe檔案一鍵安裝一樣的友善。

deb包的生成過程如下:

建立一個幹淨的目錄,并在此目錄下建立DEBIAN目錄,在DEBIAN目錄下建立各種control等檔案,其他要存放的檔案以DEBIAN的同級目錄為根節點開始建立和放置目錄和檔案,檔案結構和圖示如下:

xx
├── DEBIAN
│   ├── control
│   ├── postinst
│   ├── postrm
│   └── prerm
├── etc
│   └── snort
│       └── abc.rules
└── user
    └── lib
        └── daq.so
           

其中,DEBIAN目錄下的檔案,在安裝好之後,會放在/var/lib/dpkg/info目錄下,譬如目前的deb包,名稱為xx.deb,則安裝好之後,生成的檔案名為xx.control,xx.postinst,xx.postrm,xx.prerm。

另外的兩個檔案安裝好之後路徑為/etc/snort/abc.rules和/user/lib/daq.so,即xx目錄下即為根目錄,安裝後的檔案以這個路徑作為根目錄,作為相對路徑存放檔案。

關于DEBIAN目錄下的常用檔案說明:

control放的是檔案的一些說明資訊,包括軟體介紹,依賴關系等,格式如下:

Package: xx
Source: xx
Version: 1.0.0.0
Architecture: all
Maintainer: wxy
Installed-Size: 0 KB
Pre-Depends: curl,mysql-server-5.7
Suggests: 
Priority: optional
Homepage: http://www.xxx.com/
Description: just for test!
           

其中Pre-Depends表示依賴關系,如果其後的軟體沒有安裝,會安裝失敗并告警,安裝上了之後才能繼續安裝。

而後打包成deb檔案:

dpkg-deb -b xxx xxx.deb

其他指令:

apt-get autoremove xxx自動解除安裝

使用dpkg指令進行安裝。

dpkg  -i   xxx.deb

根據經驗,通常情況下會報依賴關系的錯誤,我們可以使用以下的指令修複安裝。(慎用!我有個小夥伴用這個指令系統直接幹完了)

apt-get  install  -f

檢視已安裝的包

dpkg  -list xxx

檢視内容

dpkg -c xxx.deb

繼續閱讀