课程简介
查看课程的概览及其目标受众。
许多 Linux 发行版提供了大量预先打包好的软件,可方便地进行安装,通常只需点击一下(或在命令行输入一行命令)即可完成。
本课程的主题是为 Debian 及其衍生系统(如 Ubuntu)创建此类软件包。
如果你是一名软件开发者,可能希望将自己编写的软件打包;系统管理员则常常需要将第三方软件打包并分发给用户和客户。
本课程适合已熟悉 Linux 命令行操作(如 `cd`、`ls`、`mkdir`、`cp` 和 `mv`)并能编辑和创建文本文件的用户。
具备基本的软件开发知识以及对常见构建系统(如 GNU Make)的了解会有所帮助,但并非必需。

排版约定
-
文中出现的命令名称、输入内容和输出结果均使用
高亮字体显示。 -
我们可以在终端中输入的命令前会加上美元符号
$,而命令的输出结果不带此符号:1$ dpkg --print-architecture上述命令的输出结果如下:
1amd64 -
需要自行替换的占位符用尖括号表示。例如在文件名
<package-name>.postinst中,请将<package-name>替换为你实际的包名称。
课程概览
我们首先介绍 Debian 软件包所处的生态系统,然后深入探讨一个 Debian 包由哪些文件和元数据构成。
-
接下来的章节将介绍两种构建 Debian 包的方法:使用
fpm工具(快速但有时不够整洁),以及基于 debhelper 的标准 Debian 构建系统。 -
然后,我们将提供一种快速上手创建 Debian 包的方法,并逐步深入到更高级的主题,例如从一个源包生成多个二进制包。
-
课程末尾,我们将简要介绍 Debian 软件仓库以及软件包生命周期中的安全相关问题。
sudo 权限说明
请注意,我们的代码编辑器默认以非 root 用户身份运行。偶尔你可能需要 root 权限,比如安装自己构建的包。
注意: 使用
sudo时,请输入密码user。