一、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包必须具备的描述性文件,以便于软件的安装管理和索引。
三、脚本文件
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
2,放置需要安装到系统的文件
mkdir -p ~/test/opt/test
cd ~/test/opt/test
touch test.sh
echo 'echo `date`"光何" > /tmp/test.log' > ./test.sh
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>,默认则使用文件夹名称
2,安装
dpkg -i test.deb
3,卸载
dpkg --purge test
-r:删除包,--purge:删除包并删除配置文件