一条关于Linux多发行版的精彩回答


linux的版本多如牛毛,据说全球有几百,上千个版本,有这个必要吗,用户只需要一个稳定的、高效的、自由的,简洁的linux,在每个桌面上开发的软件也不能在别的桌面平台使用,这更要命,有哪个硬件厂商愿意为每个linux都开发一个驱动程序,终于,到了最终用户手里,不是找不到主板驱动,就是找不到显卡驱动,再是声卡驱动,真的能找全驱动程序的机器想必真是好运气。这个问题在这两天出台的LSB3.1有了标准解决软件兼容性,可什么时候才真正能做到拿一个程序在任一台 linux机器上都可以运行呢?


  任何发行版只要是Linux,用的都是同一个内核(至多版本不同而已),所以它们才叫Linux。硬件驱动只和内核打交道。不知道你从哪里听来的要为不同的发行版开发一个驱动程序这种说法?不知道至今安装都成问题的你之前用过多少个Linux发行版?什么是“每个桌面上开发的软件也不能在别的桌面平台上使用”?稍有常识的用户一听就知道这种文理不通的话只能是出自连基本概念都不了解的用户之口。而且是非常偏激的一派胡言。你不是因为安装失败自尊心严重受挫而只是为了宣泄所以引用了道听途说加上你自己主观臆想而生成的文字拿上网来大放厥词吧?我希望你不是。但我觉得你是。

  Linux程序大多是基于源码发布的。因为*nix的程序是互相协作的,不像Windows那样每个程序都要从头实现基本的组件功能,所以*nix结构紧凑,可定制性强。如果我觉得Outlook Express的编辑器不好使,我能换么?不能。只要我用的是Outlook Express. 但我可以选择使用Emacs或者Vim或者其它作为编辑器在Mutt中编写邮件,再使用Sendmail发送--哪天我觉得Sendmail不够好我可能要换其它的。我也可以使用Fvwm的窗口管理器加上KDE的桌面再加上GNome的任务条,如果我喜欢的话。你可能听不懂我说什么不过没关系。我只是告诉你*nix和程序协作性是很强的。每个组件可以自由定制你喜欢的程序。代价是一个程序如果缺少了其它必要的组件程序,可能就无法正确安装。比如KDevelop需要automake,所以你安前者之前需要先有后者。加上程序也依赖于系统的配置情况等其它信息,所以很多Linux程序都不以二进制形式发布(但不是绝对没有!),最普遍的是以源代码发布。所以安装没有这么方便,但不会有你所说的“这个桌面的程序那个桌面不能运行”的状况。若有那也只是因为缺少依赖的库或程序。但这是代价,获得紧凑性所要付出的代价。况且不少发行版也提供了自己的安装包格式,如果不想编译可以直接用安装包安装。当然,不同发行版的安装包往往格式不一样。但你还有源代码啊,这是最基本的发布方式,几乎所有的程序都会有源码发布。安装包只是一种便利,而不是你用以攻击其兼容性的口实。而且源码编译后生成的可执行文件可以按照你当前机器的状态进行优化,获得更高的性能。这是直接以.exe发布这样的Windows程序发布形式通常都做不到的。说白了,还是以牺牲便利性获得更强大的灵活性和效能的权衡。你觉得麻烦,你可以不选择它。Windows对绝大多数普通用户已经够用了。没有人强迫你用Linux. 但也不要以你狭隘的技术眼光去指手划脚。

相关内容