一、deb包结构

deb包本身有三部分组成

deb打包_配置文件

 deb 软件包里面的结构:它具有DEBIAN和软件具体安装目录(如etc, usr, opt, tmp等):

soft-name
    |--DEBIAN
    |       |--control
    |       |--postinst
    |       |--postrm
    |       |--preinst
    |       |--prerm
    |       |--copyright
    |
    |--opt
    |   |--files
    |--etc
    |   |--files
    ...    
二、control文件

  control:这个文件主要描述软件包的名称(Package),版本(Version),Installed-Size(大小),Maintainer(打包人和联系方式)以及描述(Description)等,是deb包必须具备的描述性文件,以便于软件的安装管理和索引。

deb打包_当前目录_02

 三、脚本文件

preinst 文件于软件包安装之前会被调用

postinst 文件于软件包安装之后被调用

prerm 文件于软件包卸载之前调用

postrm 文件于软件包卸载之后调用

四、编写测试用例

1,编写control文件

mkdir -p ~/test/DEBIAN

cd ~/test/DEBIAN

vim control

Package: test
Version: 1
Architecture: amd64
Maintainer: guanghe
Description: test

deb打包_配置文件_03

2,放置需要安装到系统的文件

mkdir -p ~/test/opt/test

cd ~/test/opt/test

touch test.sh

echo 'echo `date`"光何" > /tmp/test.log' > ./test.sh

deb打包_配置文件_04

3,设定安装完成后执行脚本

vim ~/test/DEBIAN/postinst

#!/bin/bash
cd /opt/test
chmod +x /opt/test/test.sh/opt/test/test.sh

修改postinst权限

chmod 755  ~/test/DEBIAN/postinst

五、打包、安装、卸载

1,打包

cd ~

dpkg -b ./test test.deb

第一个参数为将要打包的目录名(./表示当前目录),第二个参数为生成包的名称<.deb file name>,默认则使用文件夹名称

deb打包_测试用例_05

2,安装

dpkg -i test.deb

deb打包_vim_06

3,卸载

dpkg --purge test

-r:删除包,--purge:删除包并删除配置文件

deb打包_bash_07