导读 | 让咱们回顾一下 Linux 社区最新的愿景——推进去中心化的应用来解决发行版的碎片化。继上周的文章:“Snap、Flatpak 这种通吃全部发行版的打包方式真的有用吗?” 以后,一系列新观点浮出水面,其中可能包含关于这样应用是否有用的重要信息。 |
缺点html
就这个话题在这里的评论,一个叫 Till 的 Gentoo 使用者,对于上一次咱们未能彻底解释的问题给出了一些新的观点。对于上一次咱们选择仅仅称之为膨胀的的东西,Till 从另外一方面作了剖析膨胀未来的发展,这能够帮助咱们更好的理解它的组成和其影响。linux
这些被称之为“捆绑应用”的应用程序可以工做在全部发行版上的机制是——将它依赖的库都包含在它们的应用软件之中,Till 说:安全
“捆绑应用装载了大量的并不被应用开发者所维护的软件。若是其中的某个函数库被发现了一个安全问题而须要更新的话,你得为每个独立的应用程序安装更新来确保你的系统安全。”函数
本质上,Till 提出了一个重要的安全问题。可是它并不只仅与安全有关系,它还关系到许多方面,好比说系统维护、原子更新等等。此外,若是咱们进一步假设:依赖的开发者们也许会合做,将他们的软件与使用它的应用程序一块儿发布(一种理想情况),但这将致使整个平台的开发总体放缓。测试
另外一个将会致使的问题是透明的依赖关系变得模糊,就是说,若是你想知道一个应用程序捆绑了哪些依赖关系,你必须依靠开发者发布这些数据。或者就像 Till 说的:“好比说像某某包是否已经包含了更新的某函数库这样的问题将会是你天天须要面对的。”优化
与之相反,对于 Linux 现行的标准的包管理方法(包括二进制包和源码包),你可以很容易的注意到哪些函数库已经在系统中更新了。而且,你也能够很轻松的知道其它哪些应用使用了这个函数库,这就将你从繁琐的单独检查每个应用程序的工做中解救了出来。htm
其余可能由膨胀致使的缺点包括:更大的包体积(每个应用程序捆绑了依赖),更高的内存占用(没有共享函数库),而且,少了一个包过滤机制来防止恶意软件:发行版的包维护者也充当了一个在开发者和用户之间的过滤者,他保障了用户得到高质量的软件。而在捆绑应用中就再也不是这种状况了。内存
最后一点,Till 声称,尽管在某些状况下颇有用,可是在大多数状况下,捆绑应用程序将弱化自由软件在发行版中的地位(专有软件供应商将被可以发布他们的软件而不用把它放到公共软件仓库中)。开发
除此以外,它引出了许多其余问题。不少问题均可以简单归结到开发人员身上。get
优势
相比之下,另外一个名叫 Sven 的人的评论试图反驳目前广泛反对使用捆绑应用程序的观点,从而证实和支持使用它。
“浪费空间?”——Sven 声称在当今世界咱们有不少其余事情在浪费磁盘空间,好比电影存储在硬盘上、本地安装等等……
最终,这些事情浪费的空间要远远多于仅仅“ 100 MB 而你天天都要使用的程序。所以浪费空间的说法实在很荒谬。”
“浪费运行内存?”
主要的观点有:
“安全梦魇”
不是每一个应用程序的运行真正的要注重安全。并且,许多应用程序甚至历来没有过任何安全更新,除非在“滚动更新的发行版”。
除了 Sven 这种从实用出发的观点之外,Till 其实也指出了捆绑应用在一些状况下也有着其优势:
最后的思考
虽然关于此问题有着不一样的想法,可是有一个被你们共同接受的观点是:捆绑应用对于填补 Linux 生态系统有着其独到的做用。虽然如此,它的定位,不管是主流的仍是边缘的,都变得愈发清晰,至少理论上是这样。
想要尽量优化其系统的用户,在大多数状况下应该要避免使用捆绑应用。而讲究易用性、尽量在维护系统上少费劲的用户,可能应该会感受这种新应用十分舒爽。