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

相关推荐
Christal_pyy27 分钟前
树莓派4基于Debian GNU/Linux 12 (Bookworm)添加多个静态ipv4网络
linux·网络·debian
csbDD2 小时前
2025年网络安全(黑客技术)三个月自学手册
linux·网络·python·安全·web安全
Natsuagin4 小时前
轻松美化双系统启动界面与同步时间设置(Windows + Ubuntu)
linux·windows·ubuntu·grub
我们的五年4 小时前
【Linux网络编程】应用层协议HTTP(请求方法,状态码,重定向,cookie,session)
linux·网络·http
我们的五年6 小时前
【Linux网络】TCP/IP地址的有机结合(有能力VS100%???),IP地址的介绍
linux·运维·网络·tcp/ip
davenian7 小时前
< OS 有关 > Ubuntu 24 SSH 服务器更换端口 in jp/us VPSs
linux·ubuntu·ssh
诚信爱国敬业友善7 小时前
GUI编程(window系统→Linux系统)
linux·python·gui
sekaii7 小时前
ReDistribution plan细节
linux·服务器·数据库
YH_DevJourney8 小时前
Linux-C/C++《C/8、系统信息与系统资源》
linux·c语言·c++
威哥爱编程8 小时前
Linux驱动开发13个实用案例
linux