2、制作Linux-Deb安装包

Linux下打包deb

deb打包详解

deb安装包结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cP7QgwCs-1680850276680)(vx_images/575461009227563.png =1004x)]

DEBIAN目录说明

文件作用
control必须 安装包配置文件
preinst安装前执行的脚本
postinst安装后执行的脚本
prerm卸载前执行的脚本
postrm卸载后执行的脚本
control内字段说明
注意 文件末尾必须保留一个空行
必须字段
  1. Package 包名

  2. Version 版本号

  3. Section 软件的类别,可以是utilsnetmailtextdevel等等

  4. Priority 软件对于系统的重要程度,如requiredstandardoptionalextra等等

  5. Architecture 架构,32位软件填写i386,64位软件填写amd64,如果是既能在32位系统运行又能在64为系统运行可以填写all

    查看当前系统的架构

    dpkg --print-architecture
    

    添加外部框架(需要支持多种框架才行)

    sudo dpkg --add-architecture amd64(填的是你要添加的外部框架,amd,arm,x86)
    

    查看添加的外部architecture

    sudo dpkg --print-foreign-architectures
    

    删除外部architecture

    sudo dpkg --remove-architecture amd64
    

    若删除时出现错误: dpkg: error: cannot remove architecture ‘amd64’ currently in use by the database
    则先将相关安装卸载,执行以下命令就可以成功删除了:

    sudo apt-get remove .*:amd64
    sudo dpkg --remove-architecture amd64
    
  6. Installed-Size 安装后大小,单位为kb

  7. Maintainer 维护者,为**维护者名<邮箱>**的形式

  8. Provides 供应者

  9. Description 描述

    非必须字段
  10. Essential 申明是否是系统最基本的软件包,值为yes或者no,如果是的话,这就表明该软件是维持系统稳定和正常运行的软件包,不允许任何形式的卸载

  11. Depends 软件所依赖的其他软件包和库。如果是依赖多个软件包,彼此之间采用英文逗号隔开(例如该值为libc6, default-jre,说明该软件包依赖于libc6和default-jre这两个软件包,缺一不可)

  12. Pre-Depends 软件安装前必须安装、配置依赖性的软件包和库

  13. Recommends 这个字段表明推荐的安装的其他软件包

  14. Suggests 建议安装的其他软件包

    Package:zbgj
    Version:9.0.20221228.001
    Section:utils
    Priority:optional
    Architecture:amd64
    Installed-Size:291430.4
    Maintainer:swsk33<example@163.com>
    Provides:gxcx
    Description:招标管家测试安装包
    

    安装目录

    linux安装时,会把除DEBIAN的目录,全部放到根目录(/)中,因此需要自己在安装目录中,提前模拟划分好目录结构
    比如如果我想把程序安装到/usr/share下,按如下去设置路径(packTest为我要打包的目录)
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9R91FXXK-1680850276681)(vx_images/278724209247729.png =771x)]

    生成快捷方式到开始菜单,并拷贝到桌面的操作流程

    快捷方式详解

  15. linux的安装程序,是在/usr/share/applications目录下,放置一个.desktop文件,该文件内配置好快捷方式的相关信息

  16. 配置完后,外边名字不会显示.desktop,而是显示设置的中文名称

    [Desktop Entry]#快捷方式标记
    Name=ZBGJAvaProduct#英文名称
    Name[zh_CN]=招标管家测试#中文名称
    Comment=zbgjtest#
    Comment[zh_CN]=招标管家测试#
    Version=1.0#版本号
    Exec=/usr/share/ZBGJAvaProduct/ZBGJAvaProduct#启动程序路径
    Path=/usr/share/ZBGJAvaProduct/#启动程序所在目录
    Icon=/usr/share/ZBGJAvaProduct/1.ico#快捷方式的图标
    Terminal=false#打开时是否弹出终端
    Type=Application#应用类型
    Categories=Network#应用分类
    StartupNotify=false#打开时是否询问
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YhpU1R8D-1680850276681)(vx_images/430985209240398.png =737x)]

  17. 要在桌面生成快捷方式,直接在postinst文件中,执行cp指令,拷贝到桌面即可

    cp /usr/share/applications/ZBGJAvaProduct.desktop /home/www/Desktop/
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dcM3dWWJ-1680850276682)(vx_images/443485509236953.png =932x)]

    打包指令

    在要打包的目录的上级目录,进入终端,执行如下命令

        dpkg -b "packTest"(要打包的目录) "ZBGJAvaProduct.deb"(安装包名称)
    

    安装时注意事项

    有时双击可能安装会失败,可能是管理员权限或其他问题
    1、管理员权限

    进入安装包所在目录,右键空白位置,以管理员运行,重新尝试双击安装包
    2、仍不行
    尝试按如下指令进行安装

    dpkg -i --force-overwrite ZBGJAvaProduct.deb(安装包名称)
    
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值