Redian新闻
>
为什么程序员喜欢为 Linux 打包 | Linux 中国

为什么程序员喜欢为 Linux 打包 | Linux 中国

科技
 
导读:程序员可以通过 Flatpak 轻松、稳定地发布他们的软件,让他们专注于他们的激情工作:编程。   
本文字数:1986,阅读时长大约:3分钟

如今,人们比以往任何时候都喜爱 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🔗 flatpak.org 的中央仓库在任何 Linux 发行版上安装数百个软件包。

开发者如何使用 Flatpak

Flatpak 被设计成可重复的,所以构建过程很容易被集成到 CI/CD 工作流程中。Flatpak 是在一个 YAML🔗 www.redhat.com 或 JSON 清单文件中定义的。你可以按照我的 介绍性文章🔗 opensource.com 创建你的第一个 Flatpak,你也可以在 docs.flatpak.org🔗 docs.flatpak.org 阅读完整的文档。

Linux 让它变得简单

在 Linux 上创建软件很容易,为 Linux 打包也很简单,而且可以自动化。如果你是一个程序员,Linux 使你很容易忘记打包这件事,因为它只需要针对一个系统,并可以整合到你的构建过程中。


via: https://opensource.com/article/21/2/linux-packaging

作者:Seth Kenlon 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

LCTT 译者 :Xingyu.Wang
💎💎💎
翻译: 980.0 篇
|
贡献: 3169 天
2014-07-25
2023-03-29
https://linux.cn/lctt/wxy
欢迎遵照 CC-BY-SA 协议规定转载,
如需转载,请在文章下留言 “转载:公众号名称”,
我们将为您添加白名单,授权“转载文章时可以修改”。


微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
生活在佛州,你得学好西班牙语文蓝学员喜提BPHO金奖!暑期进入准备关键期!ChatGPT 写 21 个程序,16 个有漏洞:离取代程序员还远着呢!Flathub 计划发展为通用的 Linux 应用商店 | Linux 中国大家最喜欢的 Linux 终端字体 | Linux 中国TUXEDO Stellaris 16(Gen5)是目前所能找到的终极 Linux 笔记本电脑 | Linux 中国新版 Linux QQ,打破操作系统生态壁垒 | Linux 中国ChatGPT写21个程序,16个有漏洞:离取代程序员还远着呢!GNOME 2 的 Linux 文件管理器 Caja | Linux 中国如何在 Rocky Linux 9 / AlmaLinux 9 上安装 KVM | Linux 中国5 个最好的 Arch Linux 衍生发行版,适合所有人 | Linux 中国Live Captions:Linux 上的开源视频字幕应用 | Linux 中国身为程序员,高低也得会 Linux 吧?2015千人计划变2023千屏突破了红豆年糕卡麦尔的警察和二手店5 个适合视力障碍者的 Linux 发行版 | Linux 中国Linux 只是一个内核:这是什么意思? | Linux 中国在 Linux 命令行上使用 dict 文字工具 | Linux 中国掌握C++的程序员,为什么发展前景更广?| 极客时间美国普林斯顿大学,校园印象为什么有些程序员上班时总是戴着耳机?数百程序员专门教AI写代码、40个bug能修复31个,“取代程序员”这次要成真了?ChatGPT通过谷歌程序员面试,薪资达18.3万美元!ChatGPT通过谷歌程序员面试,薪资达18.3万美元!Linux 6.1 内核被批准为长期支持版本 | Linux 中国SpringBoot 在打包部署的时候打包成 jar 和 war 有什么不同?2023 年十佳 Linux 服务器发行版 | Linux 中国如何在 Arch Linux 中安装 GNOME 桌面 | Linux 中国天赋“易昺(bǐng)”,创造历史!趣图:这是程序员喜欢副项目的原因?如何在 Arch Linux 中安装 MATE 桌面 | Linux 中国世界上只有两个 Linux 发行版:Arch Linux 与其它 | Linux 中国5 个有用的 Linux Shell 转义序列 | Linux 中国Agustín Hernández:中美洲建筑背景下的未来主义巨构终端基础:在 Linux 终端中创建目录 | Linux 中国
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。