1、制作安装包
- 制作安装包的信息
1> 生成文件夹 DEBIAN
2> 生成文件control,放在DEBIAN下
3> control中内容
package: *** # 生成的包名,注意不管大小写,安装后系统中只能通过小写查找到
version: 1.0.0 # 版本信息
architecture: amd64 # 系统环境
maintainer: *** # 维护者
description: **** # 描述信息
- 生成安装包
// 终端中输入
dpkg -b /*需要生成包的文件夹*/ *****.dep // 生成的包名
2、编写安装脚本
#!/bin/sh
# 生成要安装的文件夹,${USER} 为用户名
mkdir /home/${USER}/***
Path=/home/${USER}/***
# 拷贝安装包到要安装的文件夹下,有时候不拷贝会出现安装失败情况
cp ./***.dep ${Path}/***.dep
# 安装到指定目录下
sudo dpkg -i --instdir=${Path} ${Path}/***.dep
#创建启动器,写两个是防止创建快捷方式无法到桌面
cd /home/${USER}/Desktop/
cd /home/${USER}/桌面/
touch ***.desktop
ExecPath=${Path}/runTime.sh # 执行脚本信息
IconPath=${Path}/***.png
echo "[Desktop Entry]" > ***.desktop
echo "Encoding=UTF-8" >> ***.desktop
echo "Name=***" >> ***.desktop
echo "Exec="${ExecPath} >> ***.desktop
echo "Icon="${IconPath} >> ***.desktop
echo "Terminal=false" >> ***.desktop
echo "Type=Application" >> ***.desktop
chmod +x ***.desktop
执行脚本
#!/bin/sh
# 脚本执行路径
Path=/home/${USER}/***
# 加载路径下库文件和路径下Lib文件夹下库文件
export QT_QPA_PLATFORM_PLUGIN_PATH=${Path}/Lib/
export LD_LIBRARY_PATH=${Path}:${Path}/Lib:$LD_LIBRARY_PATH
export QT_DEBUG_PLUGINS=1
# 可执行文件路径
${Path}/****
3、编写卸载脚本
#!/bin/sh
# 卸载程序,control中package后面名字(全小写,要不找不到)
sudo dpkg -r ***
# 删除目录
Path=/home/${USER}/***
rm -rf ${Path}
# 进桌面,删除桌面快捷方式
cd /home/${USER}/Desktop/
cd /home/${USER}/桌面/
rm ***.desktop
dpkg 常用命令
-
安装软件
命令行:dpkg -i <.deb file name>
示例:dpkg -i avg71flm_r28-1_i386.deb -
安装一个目录下面所有的软件包
命令行:dpkg -R
示例:dpkg -R /usr/local/src -
删除软件包(保留其配置信息)
命令行:dpkg -r
示例:dpkg -r avg71flm -
替代软件包的信息
命令行:dpkg –update-avail -
从软件包里面读取软件的信息
命令行:dpkg -A package_file -
删除一个包(包括配置信息)
命令行:dpkg -P -
丢失所有的Uninstall的软件包信息
命令行:dpkg –forget-old-unavail -
删除软件包的Avaliable信息
命令行:dpkg –clear-avail -
比较同一个包的不同版本之间的差别
命令行:dpkg –compare-versions ver1 op ver2 -
显示帮助信息
命令行:dpkg –help -
显示dpkg的Licence
命令行:dpkg –licence (or) dpkg –license -
显示dpkg的版本号
命令行:dpkg --version -
建立一个deb文件
命令行:dpkg -b directory [filename] -
显示一个Deb文件的目录
命令行:dpkg -c filename -
显示所有已经安装的Deb包,同时显示版本号以及简短说明
命令行:dpkg -l -
报告指定包的状态信息
命令行:dpkg -s package-name
示例:dpkg -s ssh -
显示包的具体信息
命令行:dpkg -p package-name
示例:dpkg -p cacti