制作 linux .deb 安装包

文章目录

新增文件夹 packages

打包

packages

├── DEBIAN

│ └── control #详情看下方目录

│ └── postinst #详情看下方目录

│ └── postrm #详情看下方目录

├── opt

└── TestApp

├── TestApp.sh #运行脚本(使用脚本启动程序更自由)

└── TestApp.png #桌面图标(如果不需要可以不要)

└── TestApp.desktop #桌面快捷方式 (如果不需要可以不要)

control

安装包描述

perl 复制代码
Package: TestApp
Version: 1.0.0
Section: devel
Depends:
Priority: optional
Architecture: amd64
Maintainer: Ye hai
Homepage: https://www.baidu.com/
Installed-Size: 19MB
Provides: TestApp
Conflicts: TestApp
Replaces: TestApp
Description: 2023-08-28 18 11:00 AM

postinst

安装时会执行该脚本

-- 把快捷方式拷贝到开始菜单

-- 把快捷方式拷贝到桌面

perl 复制代码
#!/bin/sh
chmod 777 /opt/TestApp/TestApp.desktop
cp /opt/TestApp/TestApp.desktop /usr/share/applications/
#cp /opt/TestApp/TestApp.desktop ~/Desktop/

postrm

卸载时执行

-- 把开始菜单快捷方式文件删除

-- 把桌面快捷方式文件删除

perl 复制代码
 #!/bin/sh

if [ -f  "/usr/share/applications/TestApp.desktop" ]
then
    rm /usr/share/applications/TestApp.desktop
fi

if [ -f "~/Desktop/TestApp.desktop" ]
then
    rm ~/Desktop/TestApp.desktop
fi

TestApp.sh

perl 复制代码
#!/bin/sh

currentDir=`cd $(dirname $0); pwd -P`
cd "$currentDir"

#system environment variable
export LD_LIBRARY_PATH=$currentDir/lib:$LD_LIBRARY_PATH
export QT_PLUGIN_PATH=$currentDir/plugins
#export QT_DEBUG_PLUGINS=1
sh -c `$currentDir/TestApp`
exit 0

TestApp.desktop

perl 复制代码
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Terminal=true
Exec=/opt/TestApp/TestApp.sh log
Name=TestApp
Icon=/opt/TestApp/robot.png

生成安装包

cd 到 packages 上一层目录执行下面命令行

perl 复制代码
dpkg -b packages TestApp.deb

安装.deb

perl 复制代码
sudo dpkg -i TestApp.deb

卸载

perl 复制代码
sudo dpkg -r TestApp

Qt 发布应用程序

相关推荐
Brilliantwxx3 分钟前
【Linux】基础IO(下):输出重定向、dup2 与 minishell 重定向实战
linux·运维·服务器·github·bash
学linux的QQ蛋5 分钟前
IMX6 嵌入式多传感器系统整体架构梳理
linux·嵌入式硬件·架构
小HANN16 分钟前
(架构 + InnoDB 事务 MVCC):《MySQL 底层探秘①:拆解 InnoDB,读懂事务、MVCC 与日志的底层逻辑》
linux·运维·服务器·经验分享
kyle~19 分钟前
Linux --- 虚拟内存 1.fork、2.COW、3.mmap、4.page fault、5.TLB、6.页表
linux·运维·服务器
Techblog of HaoWANG35 分钟前
Ubuntu 下将 Ollama 服务配置为监听 0.0.0.0:11434 完整实践
linux·数据库·ubuntu·ollama
小HANN41 分钟前
Ceph分布式存储深度解析-下篇
linux·运维·服务器·经验分享
张文君1 小时前
ubuntu iscsi客户端 关闭磁盘
linux·运维·ubuntu
道尔柯南2 小时前
Linux 网络编程:从零掌握 TCP Socket 编程(附 C++ 实战)
linux·网络·tcp/ip
0+1112 小时前
Linux --ARP的具体过程与ARP欺骗
linux·服务器·网络
阿星_2 小时前
Linux Ubuntu 查看 SQLite 工具
linux·ubuntu·sqlite