制作 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 发布应用程序

相关推荐
坚持就完事了7 小时前
Linux中如何添加环境变量
linux·运维·服务器
l1t7 小时前
mingw和Linux中的gcc和llvm编译器编译的pocketpy执行同一个python脚本的不同效果
linux·运维·python
白緢8 小时前
一、Linux 基础入门
linux·运维·服务器
菜菜艾9 小时前
自动化环境补丁更新系统
linux·运维·bash·运维开发
HalvmånEver9 小时前
MySQL的索引
android·linux·数据库·学习·mysql
wljy111 小时前
二、静态库的制作和使用
linux·c语言·开发语言·c++
mzhan01711 小时前
Linux: coredump产生对程序退出的影响
linux·运维·服务器
光电笑映12 小时前
从环境变量到进程虚拟地址空间——Linux 内存管理的底层脉络
linux·服务器·c++·c
源远流长jerry12 小时前
Linux 网络收包机制:从网卡到 Socket 的完整路径
linux·运维·服务器·网络·网络协议·tcp/ip
杰 .13 小时前
Linux工具使用
linux·服务器