ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

为lazarus编译的程序生成deb安装包

2022-09-04 09:30:37  阅读:292  来源: 互联网

标签:文件 安装 程序 lazarus 软件包 deb 安装包 打包


生成deb安装包可以手工打包和程序自动打包,手工打包主要是有建相关目录和编写control文件,程序打包自动生成相关目录及control文件。

以下手工打包的方法:

deb

  • DEB 是 Debian 软件包格式的文件扩展名,是 Unixar 的标准归档,将包文件信息以及包内容,经过 gzip 和 tar 打包而成。

  • deb 基于 tar 包,因此本身会记录文件的权限以及所有者/用户组。

  • deb 包组成部分:

    • 数据包——包含实际的安装的程序数据,文件名为 data.tar.XXX;在安装过程中,改包里的数据会被直接解压到根目录(/),因此在打包之前需要根据文件所在位置设置好相应的文件目录树。如下:

    • 安装信息及控制脚本包——包含deb的安装说明,标识,脚本等,文件名为 control.tar.gz;一般有5个文件:control,用于记录软件标识,版本号,平台,依赖信息等数据;preinst,在解包data.tar.gz前运行的脚本;postinst,在解包数据后运行的脚本;prerm,卸载时,在删除文件之前运行的脚本;postrm,在删除文件之后运行的脚本。如下:

      package: package-name
      version: 1.0.0-2021.05.20
      section: Software
      architecture: arm64
      maintainer: lsm
      description: some package description


      deb文件的二进制数据,包括文件头等信息,一般看不到,在某些软件中打开可以看到。

control字段信息说明

  • package:程序名称,中间不能有空格
  • version:软件版本
  • description:程序说明
  • section:软件类别,utils,net,mail,text,x11
  • priority:软件对于系统的重要程度,required,standard,optional,extra等
  • essential:是否是系统最基本的软件包,yes/no,若为yes,则不允许卸载(除非强制性卸载)
  • architecture:软件所支持的平台架构,i386,arm64,amd64,m68k,sparc,alpha,powerpc等
  • maintainer:维护者信息
  • source:软件包的源代码名称
  • depends:软件所依赖的其他软件包和库文件,若依赖多个软件包和库文件,采用逗号隔开
  • pre-depends:软件安装前必须安装、配置依赖性的软件包和库文件,常用于必须的预运行脚本需求
  • recommends:推荐安装的其他软件包和库文件
  • suggests:建议安装的其他软件包和库文件

打包

dpkg -b MyProject MyProject-linux_arm64.deb

安装

dpkg -i MyProject-linux_arm64.deb

卸载

dpkg -P myproject

程序打包:
程序打包的安装包安装时会将程序的快捷方式添加到开始菜单,并将程序放/opt/安装包名称--这个文件夹。
只需将打包的应用及相关文件放指定目录,然后按以下步骤设置就可以自动生成deb。

 



标签:文件,安装,程序,lazarus,软件包,deb,安装包,打包
来源: https://www.cnblogs.com/qiufeng2014/p/16654273.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有