适用于所有发行版的 Linux 应用程序——是否真的有好处呢?
创始人
2024-03-01 18:01:27
0

让我们回顾一下 Linux 社区最新的愿景——推动去中心化的应用来解决发行版的碎片化。

继上周的文章:“Snap、Flatpak 这种通吃所有发行版的打包方式真的有用吗?” 之后,一系列新观点浮出水面,其中可能包含关于这样应用是否有用的重要信息。

缺点

就这个话题在这里的评论,一个叫 Till 的 Gentoo 使用者,对于上一次我们未能完全解释的问题给出了一些新的观点。

对于上一次我们选择仅仅称之为膨胀的的东西,Till 从另一方面做了剖析膨胀将来的发展,这可以帮助我们更好的理解它的组成和其影响。

这些被称之为“捆绑应用”的应用程序能够工作在所有发行版上的机制是——将它依赖的库都包含在它们的应用软件之中,Till 说:

“捆绑应用装载了大量的并不被应用开发者所维护的软件。如果其中的某个函数库被发现了一个安全问题而需要更新的话,你得为每一个独立的应用程序安装更新来确保你的系统安全。”

本质上,Till 提出了一个重要的安全问题。但是它并不仅仅与安全有关系,它还关系到许多方面,比如说系统维护、原子更新等等。

此外,如果我们进一步假设:依赖的开发者们也许会合作,将他们的软件与使用它的应用程序一起发布(一种理想状况),但这将导致整个平台的开发整体放缓。

另一个将会导致的问题是透明的依赖关系变得模糊,就是说,如果你想知道一个应用程序捆绑了哪些依赖关系,你必须依靠开发者发布这些数据。

或者就像 Till 说的:“比如说像某某包是否已经包含了更新的某函数库这样的问题将会是你每天需要面对的。”

与之相反,对于 Linux 现行的标准的包管理方法(包括二进制包和源码包),你能够很容易的注意到哪些函数库已经在系统中更新了。

并且,你也可以很轻松的知道其它哪些应用使用了这个函数库,这就将你从繁琐的单独检查每一个应用程序的工作中解救了出来。

其他可能由膨胀导致的缺点包括:更大的包体积(每一个应用程序捆绑了依赖),更高的内存占用(没有共享函数库),并且,少了一个包过滤机制来防止恶意软件:发行版的包维护者也充当了一个在开发者和用户之间的过滤者,他保障了用户获得高质量的软件。

而在捆绑应用中就不再是这种情况了。

最后一点,Till 声称,尽管在某些情况下很有用,但是在大多数情况下,捆绑应用程序将弱化自由软件在发行版中的地位(专有软件供应商将被能够发布他们的软件而不用把它放到公共软件仓库中)。

除此之外,它引出了许多其他问题。很多问题都可以简单归结到开发人员身上。

优点

相比之下,另一个名叫 Sven 的人的评论试图反驳目前普遍反对使用捆绑应用程序的观点,从而证明和支持使用它。

“浪费空间?”——Sven 声称在当今世界我们有很多其他事情在浪费磁盘空间,比如电影存储在硬盘上、本地安装等等……

最终,这些事情浪费的空间要远远多于仅仅“ 100 MB 而你每天都要使用的程序。……因此浪费空间的说法实在很荒谬。”

“浪费运行内存?”——主要的观点有:

  • 共享库浪费的内存要远远少于程序的运行时数据所占用的
  • 而今运行内存已经很便宜了。

“安全梦魇”——不是每个应用程序的运行真正的要注重安全

而且,许多应用程序甚至从来没有过任何安全更新,除非在“滚动更新的发行版”。

除了 Sven 这种从实用出发的观点以外,Till 其实也指出了捆绑应用在一些情况下也有着其优点:

  • 专有软件的供应商想要保持他们的代码游离于公共仓库之外将更加容易。
  • 没有被你的发行版打包进去的小众应用程序将变得更加可行。
  • 在没有 Beta 包的二进制发行版中测试应用将变得简单。
  • 将用户从复杂的依赖关系中解放出来。

最后的思考

虽然关于此问题有着不同的想法,但是有一个被大家共同接受的观点是:捆绑应用对于填补 Linux 生态系统有着其独到的作用。

虽然如此,它的定位,不论是主流的还是边缘的,都变得愈发清晰,至少理论上是这样。

想要尽可能优化其系统的用户,在大多数情况下应该要避免使用捆绑应用。

而讲究易用性、尽可能在维护系统上少费劲的用户,可能应该会感觉这种新应用十分舒爽。


via: http://www.iwillfolo.com/linux-applications-that-works-on-all-distributions-are-they-any-good/

作者:Editorials 译者:Chao-zhi 校对:wxy

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

相关内容

使用U盘启动安装CentO...
准备踏上稳定之旅:使用U盘安装CentOS详解 在服务器和开发环境...
2025-06-11 10:10:39
Linux 应用打包格式 ...
IT之家 5 月 24 日消息,在今年 4 月召开的 Linux ...
2025-06-07 20:12:01
如何在CentOS上完整安...
安装CentOS前的必要步骤 在开始安装CentOS之前,请确保已...
2025-05-20 07:18:31
Linux Mint 新版...
IT之家 5 月 9 日消息,科技媒体 linuxiac 今天(5...
2025-05-09 08:18:50
Debian和Ubuntu...
在Linux发行版世界中,Debian与Ubuntu长期占据服务器...
2025-05-07 11:47:15
在CentOS系统执行纯文...
对于需要在服务器或低配置设备上部署操作系统的用户来说,选择文本模式...
2025-04-21 06:17:42

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...