Logo

课程简介

查看课程的概览及其目标受众。

概念

课程简介

查看课程的概览及其目标受众。

许多 Linux 发行版提供了大量预先打包好的软件,可方便地进行安装,通常只需点击一下(或在命令行输入一行命令)即可完成。

本课程的主题是为 Debian 及其衍生系统(如 Ubuntu)创建此类软件包。

如果你是一名软件开发者,可能希望将自己编写的软件打包;系统管理员则常常需要将第三方软件打包并分发给用户和客户。

本课程适合已熟悉 Linux 命令行操作(如 `cd`、`ls`、`mkdir`、`cp` 和 `mv`)并能编辑和创建文本文件的用户。

具备基本的软件开发知识以及对常见构建系统(如 GNU Make)的了解会有所帮助,但并非必需。

Course Image

排版约定

  • 文中出现的命令名称、输入内容和输出结果均使用 高亮字体 显示。

  • 我们可以在终端中输入的命令前会加上美元符号 $,而命令的输出结果不带此符号:

    1$ dpkg --print-architecture

    上述命令的输出结果如下:

    1amd64
  • 需要自行替换的占位符用尖括号表示。例如在文件名 <package-name>.postinst 中,请将 <package-name> 替换为你实际的包名称。

课程概览

我们首先介绍 Debian 软件包所处的生态系统,然后深入探讨一个 Debian 包由哪些文件和元数据构成。

  • 接下来的章节将介绍两种构建 Debian 包的方法:使用 fpm 工具(快速但有时不够整洁),以及基于 debhelper 的标准 Debian 构建系统。

  • 然后,我们将提供一种快速上手创建 Debian 包的方法,并逐步深入到更高级的主题,例如从一个源包生成多个二进制包。

  • 课程末尾,我们将简要介绍 Debian 软件仓库以及软件包生命周期中的安全相关问题。

sudo 权限说明

请注意,我们的代码编辑器默认以非 root 用户身份运行。偶尔你可能需要 root 权限,比如安装自己构建的包。

注意: 使用 sudo 时,请输入密码 user。

Debian 软件包概述