Linux下通过dpkg生成.dep安装包

11 篇文章 0 订阅
2 篇文章 0 订阅
本文详细介绍了如何制作包含package、version、architecture等元数据的DEBIAN安装包,包括编写安装、卸载脚本,以及使用dpkg命令进行软件管理。涵盖了关键步骤如生成control文件、安装脚本的执行流程和常见dpkg命令的运用。
摘要由CSDN通过智能技术生成

1、制作安装包

  1. 制作安装包的信息
    1> 生成文件夹 DEBIAN
    2> 生成文件control,放在DEBIAN
    3> control中内容
package: ***            # 生成的包名,注意不管大小写,安装后系统中只能通过小写查找到
version: 1.0.0          # 版本信息
architecture: amd64 	# 系统环境
maintainer: ***         # 维护者
description: ****       # 描述信息
  1. 生成安装包
// 终端中输入
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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值