近日,“Linux之父”LinusTorvalds在七年前的一次会议上吐槽Linux桌面版问题的视频再次被网友和媒体挖出,引发热议讨论。在视频中,Linus强调,桌面Linux最糟糕的问题是随意更换内核,导致应用程序不兼容!众所周知,Linus向来以言辞犀利、咄咄逼人着称。去年,林纳斯还对英特尔的高级矢量扩展512(AVX-512)指令集提出了一些激进的观点,称其为“权力病毒”,激怒了英特尔直截了当地“去死”。在这段视频中,Linus直指主要Linux桌面发行版的程序兼容性问题,强调了这个问题会给开发者和普通用户带来的诸多不好的体验。首先,Linus指出了Linux分裂的一个重要原因:每个发行版都在随意修改glibc库,改变底层API。由于这些API差异阻止了应用程序开发人员为“??Linux”平台创建通用包,因此应用程序二进制文件通常仅适用于特定发行版。我们知道,Linus一直在呼吁和要求所有版本的Linux尽量不要改动内核,不要破坏用户空间,但在现实中,基本上没有人遵守这个原则。Linus表示,他也参与开发过一款聊天软件,做过Windows和OSX的二进制文件包,但“我一般不会做Linux桌面的二进制文件,不同的Linux发行版有不同的规则,因为不同版本的Linux是适应真的很痛苦。”其次,API的改变也会让一些桌面版本的Linux向后兼容不佳,Linus表示这会给非开发者的普通用户带来厄运。互动体验。最后,Linus还谈到了在桌面Linux的包管理上浪费了多少精力,以及SteamOS对桌面Linux发行版的影响等等。其实,这并不是Linus第一次抱怨所谓的“bad”"桌面版Linux。在过去的20年里,我们一直在听到桌面Linux如何在“5年”内成为主流。但与此同时,Linus也用了20年的时间试图向那些“狂热”的桌面Linux操作系统用户解释——Linux根本不是为普通桌面操作系统用户设计的,而是为开发人员、IT专家和程序员设计的。所以,我们在7年前的DebConf14上看到了Linus的这段视频。但时至今日,Linus当初提出的程序兼容性问题似乎并没有得到解决,新的Linux版本还在不断分裂Linux软件生态,实在是无奈。幸运的是,我们也看到了一些不错的改进,比如Snap,Flatpak,跨Linux版本的统一包管理程序。其中,snap包中包含了软件的二进制文件及其所需的所有依赖和库,因此无论软件版本如何,该软件都可以安装在任何Linux发行版上。Flatpak作为一种全新的桌面应用分发框架,可以让开发者彻底摆脱为不同的Linux发行版打包分发应用的负担,只需要构建一个Flatpak应用就可以在多个发行版上安装使用。以上方法可以很好的解决安装linux软件时恼人的依赖问题。如果你也考虑将Linux作为你的主要桌面操作系统,你可以从观看LinusTorvalds“吐槽”关于这个问题的完整视频开始。(https://www.reddit.com/r/prog…)
