qt应用打包成deb安装包

制作deb包

  • 准备要打包的文件,存放目录如下
|——MyDeb-deb
     |————usr
           |————local
                 |——.sslvpn
                 |——应用具体文件(包括bin,lib,启动脚本等.安装后应用就在/usr/local/.sslvpn)
           |————share
                |————icons 
                    |——deb.png(图标文件生成到/usr/share/icons/)
                |————applications                           
                    |——deb.desktop(桌面文件生成到/usr/share/applications/|————DEBIAN(必须大写、用来制作打包文件)
            |————control(描述deb包的信息必须的文件)
  • 编辑control文件
    格式如下即可
Package: sslvpn
Version: 1.0.2
Section: free
Prioritt: optional
Architecture: amd64
Maintainer: Dptech
Description: sslvpn1.0.2
  • 编辑其他文件(可选)
    例如安装后要做的操作,可以写在postinst脚本,卸载后要做的工作写在postrm脚本,以postrm为例(做一些清理工作)
# !/bin/sh

# clean .sslvpn and destkop file and log if exists
for I in /home/*; do
    THISUSER=`echo $I | cut -d "/" -f 3 -`
    USERID=`id -u $THISUSER 2>/dev/null || echo "_FALSE_"`
    if [ $USERID = '_FALSE_' ] ; then
        continue
    fi

    DIST_DIR=$I/.sslvpn
    AUTOSTART_DIR=$I/.config/autostart
    AUTOSTART_NAME=sslvpn-client.desktop
    LOG_FILE=/tmp/dpsslvpn.log

    if [ -d $DIST_DIR ]; then 
        rm -rf $DIST_DIR
    fi


    if [ -f $AUTOSTART_DIR/$AUTOSTART_NAME ]; then
        rm $AUTOSTART_DIR/$AUTOSTART_NAME
    fi

    if [ -f $LOG_FILE ]; then
        rm $LOG_FILE
    fi
done

exit 0

deb包操作命令

  1. 打包dpkg -b
    dpkg -b pack_x86 mydeb-1.deb
    第一个参数为将要打包的目录名,第二个参数为生成包的名称

  2. 安装(解包并配置)
    dpkg -i mydeb-1.deb

  3. 卸载删除包,但保留配置文件
    dpkg -r my-deb

  4. 查看deb包是否安装/deb包的信息
    dpkg -s my-deb

  5. 解压deb包中DEBIAN目录下的文件(至少包含control文件)
    dpkg -e mydeb-1.deb mydeb-1/DEBIAN

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值