一点关于Linux软件管理的看法
Tofloor
poster avatar
victord
deepin
2015-08-24 06:10
Author
个人认为,一直以来,困扰Linux发展的核心元素就是软件的丰富度。但这只是个表面现象。追究其深层次的原因,我认为还是系统软件与应用软件混为一谈造成的。

我举几个例子。

我最近在研究GNU Octave,一个典型的应用软件,与系统没有一丝联系。但是!想装一个最新版的Octave吗?对不起,发行版里面都没有!谁有?Arch啊,不怕滚死就去用吧!而且symbolic之类的库居然还要AUR编译安装,神烦!!无奈,只能用Windows版的!但这可是堂堂的GNU软件啊!

再比如Libreoffice,想升级就要PPA,再比如GIMP,abiword,gnucash,gnumeric,想升级?先重装个系统可好?不想总装系统,只想用点新版的软件?那用Windows版可好?

于是乎,还是Windows吧。

不可否认,装系统对于绝大多数人来说都是复杂而不愿尝试的,但更新应用软件,则是件很正常的事,尤其是对Windows用惯了的人来说。对于系统制作者来说,将系统软件与应用软件混为一谈是件很要命的事。

我举几个成功的例子。

OS X,公认的最佳类UNIX桌面系统,拥有自己的软件商城,所有的应用软件可以在里面任意的刷版本号无所顾忌,但系统的更新频率牢牢的掌握在苹果的手里。

Windows,虽然目前为止应用商城就是个笑话,但由于系统闭源,所以应用软件的更新与系统更新必然是分开的,QQ可以毫无顾忌的刷版本号,但XP系统用个十几年一点问题没有。

并非只有闭源才能做得好哦。Android系统开源,但同样,系统归系统,APK归APK,预装安卓4.4的手机升级安卓5.0的少之又少,但QQ之流的,一连WIFI说不定自己就升级完成了。

但是,这也正是Linux真正的软肋。有人说驱动也是软肋,永远不支持最新的硬件,实际是一回事。在PC里,驱动确实应该与系统分开。但Linux是宏内核,Linux有生之年恐怕难以改变了。

但是,对于服务器而言,这全都无所谓,稳定压倒一切,谁会没事总去升级PHP、nginx?升级频率几乎和系统一样吧?谁会把最新的硬件用在服务器上?所以Linux在服务器市场很出色,因为除去这些,Linux可以秒杀Win

说到最后,我想说说出路。(个人意见

可以考虑在仓库的分类上向Arch学习,分为core(系统核心),lib(运行库),extra(应用程序),应用程序仓库也可以考虑正常引入付费或闭源软件来创收。core,lib完全开源,只是core更新十分缓慢,只有确定稳定才会升级,可以向Debian Stable看齐;lib可以在不冲突的情况下引入多版本的库文件以提高兼容性,升级频率可以稍快;extra向Arch看齐,在保证依赖能解决的情况下,随便滚。最好是由软件制作者直接对系统适配打包,不过初期可能有点困难。

最难解决的实际上是桌面环境
,放在哪类都不太合适。个人觉得可以考虑在保证兼容的前提下升级小的版本号,升级频率类似于Service Pack。

不知坛友们有何高见,畅所欲言吧~

Reply Favorite View the author
All Replies
yeser
deepin
2015-08-24 06:31
#1
好建议,望官方关注
Reply View the author
rekols
deepin
2015-08-24 07:16
#2
不得不说,这是个好建议。
Reply View the author
MattD
deepin
2015-08-24 07:45
#3
想法不错,作为对Linux和其他Unix家族都略有接触的用户,我就献丑挑点骨头吧。
首先,Linux本质只是一个内核,因此并没有统一的组织或社区来规定哪些组件属于系统级的,哪些属于应用级的。这点和BSD系很不一样,BSD有一个统一的团队来维护整个core system,而且正是你所期望的那种形态。core system在某一个固定版本号之内保持不变,只接受安全更新。而上层的应用程序仓库(ports/pkgsrc/dports)与core system分离,可以随意升级。
但是这种core system的机制也有弊端,FreeBSD的core system倒是还好,没有集成X11。但是像OpenBSD和NetBSD把X11集成到core system里面的就很痛苦了,如果想使用新一点的2D/3D加速功能,要么自己取current代码编译整个world,要么等新版本(OpenBSD的ports不单独提供X11,NetBSD的pkgsrc虽然有X11,但是和core system冲突)。很可惜,看了主贴以后,我感觉X11应该是归入core的。
其次,分为三个仓库,更新频率依次提升,理念很独特,但是这就要求Deepin必须自己从头维护所有的软件包。以目前的人力,根本不用想,Start OS就是个教训。多版本库感觉也不是很可行的方案。Gentoo就有这样的机制,称为slot,然而也只有部分包适用slot机制,而不是所有包都可以这么搞。依赖库该升级的时候还是得升级。
所以说到最后还是个依赖树的问题,我在另一个主题里也提过,有两种解决方案可以解决这种依赖脱节的问题,要么效仿chakra的bundle system,要么采用类docker技术单独构建上层包。
Reply View the author
MattD
deepin
2015-08-24 07:46
#4
另外,说到GNU octave,Gentoo官方仓库里有,提供多版本任君选择,但是只有一个slot。
Reply View the author
hummerstudio
deepin
2015-08-24 16:01
#5
是的。系统软件和应用软件不分。对于Linux系统来说,只有内核和C库等算是系统软件。其他很多是解释型语言,这些是大问题,因为很多桌面程序可以用这些脚本语言开发。比如Python之类的。Python算是系统软件还是应用软件呢?软件依赖于Python运行,但是这些是解释型语言,又没法打包成静态库,去除依赖。
这方面还是Ubuntu做的好,Ubuntu SDK选择QML/C++和HTML5两种开发语言,没有大问题。
Reply View the author
JamWeight
deepin
2015-08-24 20:15
#6
统一就好
Reply View the author
victord
deepin
2015-08-25 04:03
#7
https://bbs.deepin.org/post/32164
是的。系统软件和应用软件不分。对于Linux系统来说,只有内核和C库等算是系统软件。其他很多是解释型语言, ...

对于桌面而言,Python几乎就是系统必备。服务器就另当别论。当然服务器不在本文讨论的范围内~
Reply View the author
kaile
deepin
2015-08-25 06:50
#8
本帖最后由 zxciddee 于 2015-8-24 22:57 编辑

https://bbs.deepin.org/post/32058
参照本帖,值得围观。你说的我也很赞同。说的就是“基础依赖库”的问题
Reply View the author
kaile
deepin
2015-08-25 07:05
#9
这么多年,不管开发了多少新的linux发行版,都改变不了linux消费领域的现状。不做改变再这样玩下去又有什么卵用?码农该用linux还用linux,普通人该用Windows还用Windows。不过总体来说deepin还是做的最好的。
Reply View the author
hummerstudio
deepin
2015-08-25 16:05
#10
https://bbs.deepin.org/post/32164
对于桌面而言,Python几乎就是系统必备。服务器就另当别论。当然服务器不在本文讨论的范围内~ ...

Python2 和 Python3就能把人坑死啊……
Reply View the author
chrischen009
deepin
2015-08-25 16:41
#11
刚刚看到论坛的一个帖子……arthurdeepin 给的安同的介绍 “附上项目发起人的博客(其实也没什么信息):http://jeffbai.info/

可以看看这个人准备做的内核,觉得挺有前途啊,符合lz的预期吧
Reply View the author
ArthurDeepin
deepin
2015-08-25 17:56
#12
本帖最后由 ArthurDeepin 于 2015-8-25 09:58 编辑
https://bbs.deepin.org/post/32164
刚刚看到论坛的一个帖子……arthurdeepin 给的安同的介绍 “附上项目发起人的博客(其实也没什么信息):ht ...

很可能不符合楼主期望,楼主期待的是类似于windows,安卓这样面向普通用户的成熟的系统,而这个安同的应该不符合楼主,非诚勿扰。
而且应该不是说的内核,而是指他准备构建的linux的核心组件,linux内核和c库等一堆东西。
Reply View the author
victord
deepin
2015-08-26 00:53
#13
https://bbs.deepin.org/post/32164
这么多年,不管开发了多少新的linux发行版,都改变不了linux消费领域的现状。不做改变再这样玩下去又有什么 ...

就是这样,桌面Linux,与其说标准太多还不如说一个标准都没有,强行拿服务器的那一套往桌面上放显然是有问题的,想要真正的有所突破,而不是在1%的份额里争个前20的话,就必须走出这一步
Reply View the author
New Thread

Popular Events

More
国际排名
WHLUG