Linux制作deb格式安装包教程

简介: Linux制作deb格式安装包教程

我们通常在使用Debian系的Linux系统时,常常会遇到一些deb格式安装包。我们也知道,使用dpkg命令即可安装。

当然,也会下载到一些软件是压缩包,就没那么方便了。我们能不能把它自己打包成deb安装包呢?当然是可以的。

其实,制作一个deb安装包是个很简单的事情。

1,认识deb安装包结构

在制作安装包之前,我们认识一下deb包的内容:

网络异常,图片无法展示
|

这是我要打包的内容,可见除了DEBIAN文件夹,其余都是应用程序文件,这里其余部分的目录模拟了安装目录(看起来和安装完成后根目录里面对应内容结构一致),这是因为deb安装包安装就是把内容释放到了根目录/

DEBIAN文件夹中必须有control文件,表示安装包基本信息。

除此之外,其中还可以有:

  • preinst 软件安装之前会执行的脚本
  • postinst 软件安装完成后执行的脚本
  • prerm 软件卸载前会执行的脚本
  • postrm 软件卸载后会执行的脚本

这四个脚本非必须,如果有,这四个脚本文件必须要有可执行权限。

2,开始制作安装包

今天下载了typora,但是是压缩文件格式的,我们就以制作typora的安装包为例开始。

(1) 创建一个目录存放所有文件

我创建了一个名为pack的文件夹,位于/home/maiqu/Downloads/pack,放置安装包内容和配置。下文也以此为例。

(2) 创建DEBIAN文件夹并编写control文件

我们在pack文件夹中创建DEBIAN文件夹,并在里面新建control文件,并编辑control文件。

我这里control内容如下:

Package: typora
Version: 13.6.1
Section: utils
Priority: optional
Architecture: amd64
Installed-Size: 218600
Maintainer: swsk33<example@163.com>
Provides: typora
Description: 自己打包的Typora安装包。

上述字段意义如下:

  • Package 包名
  • Version 版本号
  • Section 软件的类别,可以是utilsnetmailtextdevel等等
  • Priority 软件对于系统的重要程度,如requiredstandardoptionalextra等等
  • Architecture 架构,32位软件填写i386,64位软件填写amd64,如果是既能在32位系统运行又能在64为系统运行可以填写all
  • Installed-Size 安装后大小,单位为kb
  • Maintainer 维护者,为维护者名<邮箱>的形式
  • Provides 供应者
  • Description 描述

上面的字段是必须字段或者常用字段,除此之外,control文件还可以有以下字段,以下字段非必须,按需加入:

  • Essential 申明是否是系统最基本的软件包,值为yes或者no,如果是的话,这就表明该软件是维持系统稳定和正常运行的软件包,不允许任何形式的卸载
  • Depends 软件所依赖的其他软件包和库。如果是依赖多个软件包,彼此之间采用英文逗号隔开(例如该值为libc6, default-jre,说明该软件包依赖于libc6default-jre这两个软件包,缺一不可)
  • Pre-Depends 软件安装前必须安装、配置依赖性的软件包和库
  • Recommends 这个字段表明推荐的安装的其他软件包
  • Suggests 建议安装的其他软件包

注意,control文件最末尾必须保留一个空行,否则打包会报错。

(3) 将待打包内容放进来

上面我们知道了,其余内容即为被打包的软件内容,会被直接释放到根目录。那么我们这里也需要保持目录结构。

例如我想让typora安装到/opt文件夹中,那么我们这里就在pack文件夹中创建opt文件夹,将typora文件夹放进这个opt文件夹:

网络异常,图片无法展示
|

我们知道了除了DEBIAN文件夹,其它内容都会被直接放到根目录,那么这时我们就要在这里模拟出安装目录,把应用程序文件进行一个组织,以让它安装到我们想要的位置。

(4) 快捷方式

之前写了个博客讲解Linux创建快捷方式的方法,这里就不再赘述Linux快捷方式文件怎么写了,直接参考这个博客即可:链接

当然,我们知道快捷方式文件都位于/usr/share/applications目录下,因此这里我们需要在我们的pack文件夹中建立起/usr/share/applications,在里面新建一个desktop文件表示快捷方式。

不过需要注意的是,快捷方式的可执行文件、图标、运行目录指向必须对应为这个安装包安装完成后我们的应用程序所在位置,如下图:

网络异常,图片无法展示
|

3,打包

刚刚完成了安装包配置文件编写,现在就可以打包了。使用dpkg命令打包:

dpkg -b"待打包目录""生成deb安装包目录"

我的待打包内容都在/home/maiqu/Downloads/pack文件夹下,那么我执行命令:

cd /home/maiqu/Downloads
dpkg -b"pack""Typora-linux.deb"

等待安装包构建完成,然后我们就可以使用dpkg -i命令安装它了!

网络异常,图片无法展示
|

如果要卸载,还是使用apt remove命令即可,包名就是上面control文件中Package字段的值。

相关文章
|
3月前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
8月前
|
安全 Linux 开发工具
【Linux】vim使用与配置教程
Vim是一款功能强大的文本编辑器,广泛应用于Linux环境,是开发者和系统管理员的必备工具。本文介绍了Vim的基本操作与简单配置,涵盖命令模式、插入模式和底行模式的使用方法,以及光标定位、复制粘贴、搜索替换等常用技巧。同时,文章还提供了实用的分屏操作和代码注释方法,并分享了通过`.vimrc`文件进行个性化配置(如显示行号、语法高亮、自动缩进等)的技巧,帮助用户提升文本编辑效率。掌握这些内容,能让Vim更好地服务于日常工作与开发需求。
570 3
|
4月前
|
NoSQL 关系型数据库 Linux
ERPNext 搭建教程:Linux 一键部署与维护
ERPNext 是一款开源免费的企业资源计划系统,适用于中小企业信息化管理。基于 Python 和 Frappe 框架开发,支持财务、销售、人力、库存等模块,具备高度可定制性。本文介绍如何通过 Websoft9 在 Linux 下快速部署 ERPNext,并提供环境配置、系统维护等实用建议,适合开发者和企业用户快速上手。
699 7
ERPNext 搭建教程:Linux 一键部署与维护
|
4月前
|
Java Linux 网络安全
Linux云端服务器上部署Spring Boot应用的教程。
此流程涉及Linux命令行操作、系统服务管理及网络安全知识,需要管理员权限以进行配置和服务管理。务必在一个测试环境中验证所有步骤,确保一切配置正确无误后,再将应用部署到生产环境中。也可以使用如Ansible、Chef等配置管理工具来自动化部署过程,提升效率和可靠性。
523 13
|
3月前
|
Ubuntu 网络协议 Unix
Linux教程(Ubuntu为蓝本)之Linux介绍篇
SuSE嫁到了Novell,SCO继续顶着骂名四处强行“化缘”, Asianux, MandrakeSoft也在五年中首次宣布季度赢利。3月,SGI宣布成功实现了Linux操作系统支持256个Itanium 2处理器。[1-2]
|
3月前
|
Ubuntu Linux 数据安全/隐私保护
Win10安装Linux子系统教程!如何在Win10系统中安装Ubuntu!
登录系统后,输入cd /返回上一级,然后再输入“ls”查看一下系统文件目录,看看对不对!
|
5月前
|
关系型数据库 Linux 数据库
Linux系统安装Postgre和Postgis教程
本文详细介绍了PostgreSQL/PostGIS的卸载与安装步骤。卸载部分涵盖Docker、Yum/RPM及源码编译安装的清理方法,包括停止服务、删除容器/包、清理残留文件和环境变量等操作,并强调卸载前需备份数据库数据。安装部分提供在线yum安装和离线源码编译两种方式,前者简单快捷,后者需准备依赖(如gcc、readline-devel等)、创建用户组、初始化数据库及配置访问规则。每步均附带命令示例,确保操作清晰明确。
786 0
|
7月前
|
Linux
Linux命令的基本格式解析
总的来说,Linux命令的基本格式就像一个食谱,它可以指导你如何使用你的计算机。通过学习和实践,你可以成为一个真正的“计算机厨师”,创造出各种“美味”的命令。
191 15
|
8月前
|
存储 IDE Linux
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
本文详细介绍了在VMware虚拟机中安装CentOS 6.8的全过程。首先,需确保已安装VMware并开启V-CPU虚拟化功能,可通过BIOS设置或使用LeoMoon CPU-V工具检测。接着,下载CentOS镜像文件,并在VMware中新建虚拟机,配置CPU、内存、硬盘等参数。最后,加载ISO镜像启动虚拟机,按照提示完成CentOS的安装,包括语言、键盘、存储方式、地区、密码设置及硬盘分区等步骤。安装完成后,以root用户登录即可进入系统桌面,开始学习Linux命令和操作。
864 12
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
|
7月前
|
安全 Java Linux
Linux安装Elasticsearch详细教程
Linux安装Elasticsearch详细教程
1232 1
下一篇
oss云网关配置