deepinlinux打包deb文件完善

本文讲述了作者在学习Qt过程中,如何在Windows和Linux环境下部署应用并打包成Deb安装包,包括使用windeployqt和linuxdeployqt工具处理依赖,以及创建和管理postinst和postrm脚本以实现自动安装和卸载的过程。
摘要由CSDN通过智能技术生成

最近学习了一篇qt入门文章,做了一个小应用,要给另一台电脑用时发现还需考虑另一台没有qt,要把相关库带过去,后来就学了打包成deb安装包,看起来更专业。

win下搜索qt依赖库的程序是windeployqt,先将应用输出release版本到单独文件夹,然后 windeployqt xx.exe即可将依赖文件复制到xx所在文件夹
linux下是第3方的linuxdeployqt
下载
https://github.com/probonopd/linuxdeployqt/releases
使用
https://blog.51cto.com/xiaohaiwa/5383414
使用说明详细,并且后打包成deb教程

将可执行文件dtk2放到package文件下,测定依赖存在
    linuxdeployqt --version
    qmake -v
    搜集依赖
    linuxdeployqt dtk2 -appimage
    按照教程把各文件放到相应目录,给链接启动文件权限,编辑内容
    chmod +x ./dtk2.desktop
    将启动链接往菜单放没问题,因为安装是有root权限,往桌面放可能有问题
    一般桌面是~/Desktop目录,但是sudo安装,操作用户变成root,桌面变成root的,这里需要一个特殊技巧找到当前用户名
    last|grep logged|awk '{print $1}'
    最后复制命令用 cp ./dtk2.desktop /home/$(last|grep logged|awk '{print $1}')/Desktop/
    到source目录下创建deb包
    dpkg -b . ../output/dtk2_amd64_0.3.deb
    到output目录下安装 
     sudo dpkg -i ./dtk2_amd64_0.3.deb

最后附上可用的安装后脚本postinst

#!/bin/sh
set -e
chmod 777 /opt/dtk2/dtk2.desktop
cp /opt/dtk2/dtk2.desktop /usr/share/applications/
cp /opt/dtk2/dtk2.desktop /home/$(last|grep logged|awk '{print $1}')/Desktop/

卸载脚本 postrm

#!/bin/sh
set -e
rm /usr/share/applications/dtk2.desktop
rm /home/$(last|grep logged|awk '{print $1}')/Desktop/dtk2.desktop

包信息字段值 control

Package: dtk2
Version: 0.3
Section: utils
Priority: optional
Architecture: amd64
Depends:
Installed-Size: 73000
Maintainer: qzc1998@qq.com
Description: dtk2 for test deb

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值