为什么程序员喜欢 Linux 打包为什么程序员喜欢 Linux 打包为什么程序员喜欢 Linux 打包为什么程序员喜欢 Linux 打包
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

为什么程序员喜欢 Linux 打包

程序员可以通过 Flatpaks 轻松一致地分发他们的软件,让他们专注于自己的热情:编程。

2021 年,人们喜爱 Linux 的理由比以往任何时候都多。在本系列中,我将分享使用 Linux 的 21 个不同原因。今天,我将讨论是什么让 Linux 打包成为程序员的理想之选。

程序员热爱编程。这似乎是一个显而易见的说法,但重要的是要了解开发软件不仅仅涉及编写代码。它包括编译、文档、源代码管理、安装脚本、默认配置、支持文件、交付格式等等。从空白屏幕到可交付的软件安装程序需要的不仅仅是编程,但大多数程序员更愿意编程而不是打包。

什么是包装?

当食品被送到商店购买时,就会被包装。当直接从农民或环保散装或垃圾商店购买时,包装是您随身携带的任何容器。从杂货店购买时,包装可能是纸板箱、塑料袋、锡罐等。

当软件向广大计算机用户提供时,它也必须被打包。就像食物一样,软件有多种打包方式。开源软件可以不打包,因为可以访问原始代码的用户可以自己编译和打包它。然而,包也有其优点,因此应用程序通常以特定于用户平台的某种格式来交付。这就是问题开始的地方,因为软件包不只有一种格式。

对于用户来说,软件包使安装软件变得容易,因为所有工作都是由系统安装程序完成的。该软件从其包中提取并分发到操作系统内的适当位置。出问题的机会很小。

然而,对于软件开发人员来说,打包意味着您必须学习如何创建一个包,而不仅仅是一个包,而是为您希望在其上安装软件的每个操作系统创建一个独特的包。更复杂的是,每个操作系统(有时甚至是所使用的编程语言)都有多种打包格式和选项。

Linux 上的打包

传统上,Linux 的封装选项似乎相当令人眼花缭乱。源自 Fedora 的 Linux 发行版,例如 Red Hat 和 CentOS,默认为 .rpm 软件包。 Debian 和 Ubuntu(以及类似的)默认使用 .deb 包。其他发行版可能会使用其中一种,也可能两者都不使用,而是选择自定义格式。当被问及时,许多 Linux 用户表示,理想情况下,程序员根本不会为 Linux 打包他们的软件,而是依赖每个发行版的包维护者来创建包。安装到任何 Linux 系统上的所有软件都应该来自该发行版的官方存储库。然而,目前尚不清楚如何让您的软件可靠地打包并包含在一个发行版中,更不用说所有发行版了。

适用于 Linux 的 Flatpak

Flatpak 打包系统的引入是为了统一和分散 Linux 作为开发人员的交付目标。使用 Flatpak,开发人员或任何人(Linux 社区的成员、不同的开发人员、Flatpak 团队成员或任何其他人)都可以自由打包软件。然后,他们可以将包提交到 Flathub 或选择自行托管该包并将其提供给基本上任何 Linux 发行版。 Flatpak 系统适用于所有 Linux 发行版,因此针对一个发行版与针对所有发行版都是一样的。

Flatpak 技术的工作原理

Flatpak 具有普遍吸引力的秘诀在于标准基础。 Flatpak 系统允许开发人员引用一组通用的软件开发工具包 (SDK) 模块。这些由 Flatpak 系统的维护者打包和管理。每当您安装 Flatpak 时,就会根据需要引入 SDK,以确保与您的系统的兼容性。任何给定的 SDK 只需要一次,因为它包含的库可以在任何调用它的 Flatpak 之间共享。

如果开发人员需要现有 SDK 中尚未包含的库,则开发人员可以将该库添加到 Flatpak 中。

结果不言自明。用户可以从一个名为 Flathub 的中央存储库在任何 Linux 发行版上安装数百个软件包。

开发人员如何使用 Flatpak

Flatpaks 被设计为可重复的,因此构建过程可以轻松集成到 CI/CD 工作流程中。 Flatpak 在 YAML 或 JSON 清单文件中定义。您可以按照我的介绍性文章创建您的第一个 Flatpak,并且可以在 docs.flatpak.org 阅读完整文档。

Linux 让一切变得简单

在 Linux 上创建软件很容易,并且为 Linux 打包它也很简单且可自动化。如果您是一名程序员,Linux 通过针对一个系统并将其集成到您的构建过程中,可以让您轻松忘记打包。

©2015-2025 艾丽卡 support@alaica.com