那些在幕后不知疲倦地工作,使你的 Linux 发行版流畅运行的人就是打包者。绝大多数 Linux 打包者都是志愿者,他们奉献自己的夜晚和周末来创建和维护他们所热爱的 Linux 发行版的齿轮。
Linux 生态系统蓬勃发展,拥有许多不同的发行版。它们满足不同的受众、需求和风格。它们的范围从以下类型:
- 安全并适用于军事和金融应用 (RHEL)
- 前沿且充满活力 (Fedora)
- 通用 (Debian)
- 教育 (Edubuntu)
- 适合爱好者 (Raspbian)
- 适合媒体艺术家 (Ubuntu Studio)
- 适合轻松的用户 (Mint)
- 适合桌面应用和云 (Ubuntu)
- 简单而轻量级 (Arch)
- 忠实地从源代码构建 (Gentoo)
在所有情况下,Linux 发行版都在聚合免费和开源软件包,配置它们并将它们组合在一起,以确保它们正确的集体行为。感谢所有这些配置和测试,Linux 发行版的采用者可以安心地简单安装一个软件包(一个给定的应用程序),并有信心它将与系统中当前安装的其他软件包很好地协同工作。
在幕后不知疲倦地工作以使这一切顺利进行的“魔法精灵”就是*打包者*。绝大多数 Linux 打包者都是志愿者,他们奉献自己的夜晚和周末来创建和维护他们所热爱的 Linux 发行版的齿轮。
早在 2012 年 2 月,我有幸成为 Debian 月度维护者 (MoM) 计划的第一位学员,该计划由 Andreas Tille 发起。MoM 计划的目标是通过将学员与导师配对并在打包新的真实应用程序时进行培训,从而为 Debian 发行版教育和培训新的打包者。该计划拥有平衡有趣、具有挑战性和有益的任务的所有要素。
在我的培训期间,我们学习了如何打包 fis-gtm,它是 M/MUMPS 的开源实现,这对于开源 电子健康记录 系统的生态系统非常重要。fis-gtm 软件包刚刚被接受到 Debian 不稳定发行版中。
参加培训的过程令人大开眼界。我学到了很多非常有用的工具和实践,从那时起,我每天都在继续使用。从正确使用 GPG 密钥到 chroot 隔离以及与 tmux 的远程屏幕共享。Andreas Tille 将协作环境描述为:“早上醒来,意识到在另一个大陆的人已经为你解决了昨晚让你卡住的问题。”
在理想情况下,Linux 打包者与上游软件包的开发人员紧密合作,以便可以快速调整该软件包的新版本,以包含在该 Linux 发行版的下一个版本中。在许多情况下,打包过程会发现软件包存在问题,需要上游开发人员进行更改和调整。打包者还与同一 Linux 发行版中的其他打包者紧密合作,因为许多软件包依赖于其他软件包或为其他软件包提供服务,因此打包者社区协调其更新以确保最终 Linux 发行版的一致性至关重要。
作为 Linux 用户,我们常常容易忘记(忽略?)创建和维护 Linux 发行版需要付出多少努力。
成为 Linux 打包者是学习软件开发、质量控制、项目管理和软件维护的绝佳途径,并且在一个充满激情,深刻关心其工作成果的个人环境中进行。这是所有年轻开发人员都应该拥有的经验。
在学习了 Linux 打包的技巧并亲眼目睹了这个社区的奉献精神之后,我对他们的工作产生了极大的尊重和赞赏。现在,每次我安装一个软件包时,无论是从命令行使用
sudo apt-get install package
或
yum install package
或任何等效的图形界面,我都会停下来思考
“感谢花了很多时间配置和构建此应用程序的人,这样我就不必这样做了。”
19 条评论