银河麒麟桌面版系统下Qt程序打包、安装与卸载
银河麒麟桌面版操作系统安装教程
银河麒麟桌面版操作系统安装Qt5.12.10
一、Qt程序打包
1.Qt程序编译
程序代码编写完成后,选择Release
模式,编译代码;
2.使用linuxdeployqt拷贝依赖文件
(1)在编译文件夹build-xxxxx-Release
所在同级路径下,创建一个 Exe 文件夹,如编译文件下所在路径为/home/young/MyProject/build-xxxxx-Release
,则在/home/young/MyProject
该路径下创建一个 Exe 文件夹,创建完成后,进入该文件夹,路径如下/home/young/MyProject/Exe
;
(2)在该文件夹下,创建两个文件夹,分别为 output 和 source ;
(3)进入 source 文件夹,再创建两个文件夹,分别问 DEBIAN 和 opt ;
(4)进入 DEBIAN 文件夹内,创建三个文件,分别为 control 、 postinst 和 postrm;
control 文件主要描述软件包的名称(Package),版本(Version),Installed-Size(大小),Maintainer(打包人和联系方式)以及描述(Description)等,是deb包必须具备的描述性文件,以便于软件的安装管理和索引。 control 的文件内容如下:
Package: myApp
Version: 1.0.0
Section: utils
Priority: optional
Architecture:x86_64
Depends:
Maintainer: xxxxxx@163.com
Description: my App package
Package:软件包名,后面卸载时候需要包名。
Version:软件版本信息。
Section:表示软件包属于哪个类别,如"utils"、“admin"等
Priority:定义软件包的重要性,通常使用"optional”、"standard"等词来描述
Architecture:软件包适用的硬件架构。
Depends:软件包依赖的其他软件包。
Maintainer:维护者的联系信息,通常包括姓名和电子邮件地址。
Description:对软件包内容和功能的简单描述。
其他信息根据需求进行填写,对应字段解释请自行查询。
postinst 脚本负责软件安装完成后的配置工作,软件安装完后,自动执行该Shell脚本,必须以 #!/bin/sh
为首行。postinst的文件内容如下:
#!/bin/sh
chmod 777 /opt/myApp/myApp.desktop
cp /opt/myApp/myApp.desktop /usr/share/applications/
USER_HOME=$(eval echo ~$SUDO_USER)
cp /opt/myApp/myApp.desktop $USER_HOME/桌面/
主要将myApp.desktop拷贝至2个目录,applications目录下,生成开始菜单中,other菜单下子项;Desktop目录下,自动生成桌面快捷方式。
postrm 脚本负责软件卸载完成后的清理工作,软件卸载完后,自动执行该Shell脚本,必须以#!/bin/sh
为首行。postrm的文件内容如下:
#!/bin/sh
rm /usr/share/applications/myApp.desktop
USER_HOME=$(eval echo ~$SUDO_USER)
rm $USER_HOME/桌面/myApp.desktop
主要工作就是删除postinst创建的2个文件。
(5)返回上层目录,进入 == opt== 文件夹,创建 myApp 文件夹,进入 myApp 内,将Release模式下编译完成的可执行程序文件(如myApp),拷贝到 myApp 文件夹内。
至此,所有文件目录如下所示
(6)进入 /home/young/MyProject/Exe/source/opt/myApp/
路径下,使用linuxdeployqt工具加载拷贝依赖项,输入命令 linuxdeployqt myApp -appimage
。该命令执行完毕后,会生成软件运行需要的所有依赖库,同时生成一个 default.desktop 文件,使用vim 打开该文件,进行编辑。
[Desktop Entry]
Version=1.0.0 #版本信息
Name=myApp #英文名,必选
Name[zh_CN]=测试案例 #中文名,可选
Exec=/opt/myApp/myApp #应用的可执行文件路径(绝对路径)
Icon=/opt/myApp/myApp.png #应用的图标路径(绝对路径)
Comment=This is my App #说明信息
Terminal=false #是否允许在终端启动
Type=Application #应用类别
按照上述内容进行编辑,自己找一个图标,命名为 myApp.png 放到 /home/young/MyProject/Exe/source/opt/myApp/
路径下即可。最后把该文件 default.desktop 改为 myApp.desktop。
3.使用dpkg工具打包程序
进入source文件夹所在路径 /home/young/MyProject/Exe/source/
,并执行如下操作
dpkg -b . ../output/myApp-V1.0.0.deb
命令执行完毕后,会在 /home/young/MyProject/Exe/output/
路径下,生成 myApp-V1.0.0.deb 程序安装包。
至此,完成程序的打包工作。
二、程序的安装与卸载
1.安装
将 myApp-V1.0.0.deb 包拷贝到其他需要安装该软件的工作环境下,输入如下命令,进行软件的安装。
sudo dpkg -i myApp-V1.0.0.deb
2.卸载
输入如下命令,进行软件的卸载。
sudo apt-get remove myapp