为什么linux发行版之间不能有一个统一的二进制软件包标准?

2013-01-11 10:12:43 +08:00
 tioover
发行版之间的差异不是问题 包管理器能解决
我觉得这是限制linux桌面发展的一大要素
11628 次点击
所在节点    Linux
75 条回复
zaeneas
2013-01-12 02:00:42 +08:00
说起来,我觉得LZ想要的不是废掉3种包(deb,rpm,tar.xz),而是希望apt,yun,pacman能够支持一种通用的包,然后很多软件开发者就打包打成这样即可

但是我觉得,软件开发者开始的时候大概是放出源码和某一种包看使用情况然后看后续支持吧...并且不少情况下是别的发行版的人用的很爽于是帮忙打别的包(瞎猜的)

其实我觉得 ./configure 干的事情就是这样的(死)
Ricepig
2013-01-12 04:53:04 +08:00
额,我觉得ms很多时候躺着都中枪。讨论linux的各种安装包也有这么多讨论msi的。。。

而且吧,骂微软吧,希望能用正确的证据。上面就有人说windows软件包是下载,点击,安装。linux一个包管理都搞定了。这个非常不客观,首先,用Oracle举例,Oracle for linux的版本安装一下试试,再windows下安装试试?其次,windows你可以尝试一下类似于软件助手的东西。最后,windows虽然在批量装软件的时候,对于“专家”显得不够快捷,但是对于一般用户,它的一致性绝对很好——任何软件都是下载,点击setup,下一步下一步就搞定了。而Linux软件。。。五花八门的安装方法啊。

至少,我们父母这一辈,他们在windows下能自己装斗地主什么的。你让他们linux玩一个?另外,还有驱动精灵这种东西,驱动安装升级、windows补丁、软件安装升级全部一键搞定。Linux给我演示一个?
Radeon
2013-01-12 08:13:11 +08:00
@clowwindy putty只有500KB,而且还是GUI程序

举一两个应用的例子抬杠也没有意思,Windows和OSX早就证明了每个应用自带依赖没什么问题,硬盘空间照样够用。吃硬盘的不是应用而是媒体文件。这点也不用跟我争,去问问Win/OSX的用户就行

本来软件包就该由开发方维护、发布,由发行版维护到底有什么好处呢?打一行apt-get install xyz就能用上看似很惬意,实际上问题很大。不能指定安装路径、不能指定版本、不能同时安装多个版本、配置文件、应用文件分散到不同的目录里不好找,不同的发行版使用的配置文件格式还不一样,要不停得学习新格式,这些不都是给用户找麻烦么
iwinux
2013-01-12 09:07:25 +08:00
@tioover 这更像是社会问题而不是技术问题,同样的困境在很多地方都存在,比如:1. Python 的 Web 框架 2. Scheme / Lisp 语言的实现。(我不爽别人写的东西,于是我自己 fork 了一个,然后又被别人 fork 了——“什么?为什么要兼容他们的?让他们来兼容我们的吧……”——大概就是这样)

这个问题是个很不错的 CS 论文的题目,有兴趣的人可以试着写写。
Kymair
2013-01-13 23:33:31 +08:00
可以去Youtube上看看Why Linux Sucks 2012 :-)
正好讲到了这一坨Linux让人抓狂的东西

Blask
2013-01-14 01:46:44 +08:00
表示ArchLinux的包管理才是王道啊, spec和dsc写起来都不好入门啊,而且不同的人写的风格不同,习惯也不同.
VYSE
2013-01-14 02:48:15 +08:00
freebsd直接用源码PKG包管理就很通用,只是LINUX发行版多发布BINARY包,原因还是那啥DEPENDENCY LIBRARY各版本之间的兼容性问题,导致各发行版BINARY包不能通用。
虽然LSB想统一这玩意,但他们给的标准库不是缺个胳膊就是缺条腿,多数代码没有按照他们的标准,经常一些库函数没法RESOLVE
zaeneas
2013-01-14 03:27:35 +08:00
我说,你们讨论这么久,没人提gentoo/funtoo和pkgbuild ?
feikaras
2013-01-16 09:14:47 +08:00
@Radeon ...windows installer服务的bug率你还敢更低高点么?
feikaras
2013-01-16 09:28:57 +08:00
@tioover 普通新软件你自己打包给各大发行版啊。linux软件包不通用本质上是依赖地狱啊。因为都是动态链接。你就算统一rpm还是deb,你不是还是很容易遇到符号问题么?
jamesarch
2016-06-15 17:48:49 +08:00
特地来挖坟 大一统不远啦!!! ubuntu 的 snap 出来了!!! 而且支持全平台!!! ArchLinux 、 Debian 、 Fedora 、 Debian 通通支持!!!
看这里---->>>> http://snapcraft.io/
jamesarch
2016-06-15 17:49:20 +08:00
还要 Gentoo
sammo
2018-12-16 13:05:23 +08:00
补一个 2013 年的文章,聊 linux desktop 的,居然还提到了 SteamOS
https://betanews.com/2013/09/30/the-top-5-problems-with-linux
sammo
2018-12-17 11:52:14 +08:00
@jamesarch flatpak vs snap, 作为 linux 软件的 打包技术 ( 应该可以看作对于 Windows msi 的模仿吧 )
https://www.reddit.com/r/linux/comments/60qdtw/flatpak_vs_snap_which_format_is_better_a_rather/
sammo
2018-12-17 12:09:02 +08:00
上文链接里有一句话说的很有意思:( I don't like ) applications shipped as containers ( at all ) ( 原因一 过多的依赖 比如很多软件都自带了自己需要的 Library 这样等于浪费了硬盘空间,原因二 太多黑箱操作 让人不知道它在自己的电脑上都做了什么 以及必须信赖这个打包者的打包水平。

实际上 Windows 的 msi 式的软件,就是 applications shipped as containers。在 Linux 平台,flatpak 是用一个 flatpak runtime 来提供各个软件通用的 Library 。我认为 这个粒度是很恰当的!既可以 保持了一个软件的打包 container,又在通过一层 flatpak runtime 试图避免重复安装 Library。对于 Linux 系统,这是一个折衷。 @Radeon 可以了解一下

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://yangjunhui.monster/t/57266

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX