当前位置: 首页 > article >正文

懒人笔记-QT程序UOS打包篇

懒人笔记-uos打包篇

  • 前言
  • 1、deploy
  • 2、组织打包目录
    • 2.1 控制文件
      • 2.1.1 control的内容:
      • 2.1.2 postinst的内容:
      • 2.1.3 postrm的内容:
    • 2.2 执行程序
    • 2.3 开机自启(可选项)
  • 3、输出deb安装包
  • 4、服务卸载
    • 4.1 服务卸载
    • 4.2 程序按照和卸载

前言

项目有好几个程序,之前在麒麟和UOS都捣鼓了下,打包没有细细研究,就用了一堆命令进行交付,结果可想而知,大米的教训!现在有时间,一堆百度配合实操,终于可以一键安装了,记录下过程,免得年纪大了回头就忘记。

1、deploy

下载源码包https://github.com/probonopd/linuxdeployqt/releases
linuxdeployqt-continuous.tar.gz ,用QT打开进行编译。这步网上很多,我也没有仔细去研究,按照网上的进行了代码屏蔽在这里插入图片描述
将linuxdeployqt拷贝到/usr/local/bin目录里
运行命令:linuxdeployqt --version,有输出说明可以直接用了

2、组织打包目录

打包目录分为2大类,一类是控制文件,用来安装过程中执行一些命令,比如权限授权、复制拷贝等,另外一类就是我们编译出来的UI程序,以及相应的依赖库。
source(这个随便改)
├── DEBIAN
│ └── control
│ └── postinst (安装好了会执行)
│ └── postrm (卸载会执行,待验证)
├── opt
└── Test(这个随便改,但是一般我们都是按照工程名称来进行命名的)
├── Test(工程编译出来的程序)
└── xxx(依赖库、配置等等)

2.1 控制文件

网上很多,控制文件就3个:control、postinst、postrm(这3个文件没有后缀)授权 chmod 775 control
chmod 775 postinst
chmod 775 postrm

2.1.1 control的内容:

Package:WebDaemonSvr
Version:3.2.0.0005
Section:utils
Priority:optional
Architecture:amd64 (这个按照自己的机器来,内核)
Depends:
Installed-Size:512
Maintainer: ******
Description:***

2.1.2 postinst的内容:

#!/bin/sh
chmod 777 /etc/xdg/autostart/WebDaemonSvr.desktop

2.1.3 postrm的内容:

#!/bin/sh
if [ -f " /etc/xdg/autostart/WebDaemonSvr.desktop"]; then
rm /etc/xdg/autostart/WebDaemonSvr.desktop
fi

2.2 执行程序

先用deploy查找下应用的依赖项,命令如下:
cd WebDaemonSvr/
linuxdeployqt WebDaemonSvr(自行更换应用名称) -appimage
在这里插入图片描述
再用ldd命令进一步查找依赖项,内容如下:(我这里的文件名为:ldd_***.sh)
#! /bin/bash
EXE=‘WebDaemonSvr’ #我的程序名
PWD=pwd #打包的路径
files=ldd $EXE | awk '{ if(match($3,"^/"))printf("%s "),$3 }'
cp $files $PWD

终端里面执行sudo sh ldd_***.sh

2.3 开机自启(可选项)

这个可有可没有,看自己的需求:
和opt同一级目录创建如下:/etc/xdg/autostart/***.desktop,其实这个路径就是系统的应用自启动路径,将/etc/xdg/autostart目录里的文件拷贝到相应的系统的路径里面(强调下,系统必须要有这个路径,否则相当于自定义路径了,不起作用)
在这里插入图片描述

3、输出deb安装包

cd build_deb/
sudo dpkg-deb -b …/build_deb …/WebDaemon_deb_1.0.0_amd64.deb
这样就完成安装包的制作啦!

重启电脑,就会按照启动项里面 .desktop里面的进行操作了。

4、服务卸载

4.1 服务卸载

由于做成了服务,运行过程卸载的话只能通过手动来卸载服务了,命令如下:
ps -aux |grep Web(Web是我项目前缀,自行修改)
kill -9 进程ID

4.2 程序按照和卸载

除了手动双击.deb包进行按照,也可以通过命令的方式来进行按照,如下:
sudo dpkg -i WebDaemon_deb_1.0.0_amd64.deb
在这里插入图片描述
sudo dpkg -r WebDaemon_deb_1.0.0_amd64 (control文件里面的package内容)
在这里插入图片描述


http://www.kler.cn/news/335070.html

相关文章:

  • 105页PPT麦肯锡:煤炭贸易企业业务战略规划方案
  • 查看 Ubuntu 系统中是否安装了 Conda
  • 大学生就业招聘:Spring Boot系统的架构分析
  • 如何在 SQL 中创建一个新的数据库?
  • 【数据结构】【链表代码】 链表的中间节点
  • 融媒体服务中PBO进行多重采样抗锯齿(MSAA)
  • JAVA智慧社区系统跑腿家政本地生活商城系统小程序源码
  • 项目-坦克大战学习笔记-控制玩家坦克不超出地图范围
  • 详解根据IP查询所在国家地区的后台实现方案
  • YoloV8改进策略:BackBone改进|CAFormer在YoloV8中的创新应用,显著提升目标检测性能
  • Docker版MKVtoolnix的安装及中文显示
  • 深度学习项目----用LSTM模型预测股价(包含LSTM网络简介,代码数据均可下载)
  • 38 文件包含(标准库头文件、自定义头文件)、相对路径与绝对路径、条件编译(#if、#ifdef、#if define、#ifndef)
  • python-pptx 中 placeholder 和 shape 有什么区别?
  • Python 3 和 MySQL(PyMySQL) 的完美结合
  • 解决数藏平台中因用户使用科技脚本而导致服务器卡顿的方法
  • JavaEE: 数据链路层的奇妙世界
  • 启动redis
  • Node.js安装Express,Node.js支持Typescript以及Express支持Typescript的步骤
  • 代码随想录一刷完结