系统是一个复杂的东西,发行版做的事情不过是通过不同的方式来组织系统。
打算总结一下不同系统的使用体验和特点
参考:
发行版时间线

使用目的和学习曲线

如果你只是为了用linux(装逼/运行某个软件/摆脱win),我建议用debian系或者opensuse
如果你希望对linux的组织结构进行学习,我建议的学习曲线是debian->archlinux->gentoo->lfs

先聊聊软件包管理

事实上所有包管理方式都可以滚动发行…但是我还是喜欢不用大版本更新的系统
首先,GNU的项目是松散的,一个发行版要做的事情包括设置好运行环境,编译好包,最后装到特定位置上.
设置环境好比在餐厅放桌子,代码到二进制好比做菜,安装到位置上好比上菜.
这些工作如果没有发行版的话应该全都是用户自己构建的(真有人这么搞吗…
安装到特定位置是包管理工具做的事情,他们会记录所有包的存储位置,包含的文件等数据,这个发行版肯定是不会交给用户去记的
可能交给用户的就是包的构建,以此允许用户更方便的安装自己的程序

debian系

包管理:apt
软件源:官方+社区自建源
(为什么人家本科都能搞出发行版出来…我果然还是太飞舞了)
debian本身是非商业的发行版,当然,有ubuntu这么一个非常知名的商业发行版…
非常classic的发行版,有一些声音说debian已经落后了,但是确实非常稳定易用.总之就是又稳定又好用.

好比是厨子把菜做好了还帮你端上桌

arch系

包管理:pacman
软件源:官方源+aur
arch是非商业的发行版,我觉得不会有那个商业公司看上他…(商业看重的是稳定不是吗),有一些很漂亮的发行版,但是我觉得更像是定制好的archlinux
arch以手册完善著称(只有archlinux,没说衍生发行版),而可以直接编写的pkgbuild的aur源则让他更加方便和灵活.他的最大特点永远不是没有安装脚本,而是在易用和可定制性之间的较好平衡.(所以看到会装arch就牛逼哄哄的人直接骂就行了)

好比是自助餐,并且可以自带食谱,如果你想自己做也可以

redhat系

包管理:rpm
软件源:官方源+社区自建源
这是一个商业发行版,有两个社区维护的发行版,一个是centos,一个是fedora.印象里头这种系统不会有人用(除了一些老的企事业单位里头可能会需要一个特定老版本的centos才能运行的工具…)
没有真的用过redhat…商业支持一定很厉害吧…

gentoo

包管理:portage
软件源:官方源+guru源
gentoo曾经非常流行(在那个每个程序员都是神仙的时代吧可能)
在定制方面,arch在gentoo面前也是小巫见大巫.gentoo甚至连编译选项也一定要用户指定(比如你不希望vlc支持蓝光),并且所有的包都会在本地构建(他们说这样能优化…).同时,gentoo也自己维护了一个守护进程管理工具openrc.他甚至允许你通过许可协议来过滤包.
有guru源,帮用户托管包.
他或许会非常的稳定且高效,但是编译真的会花很长时间…

好比是要求你一定要到后厨去指导如何制作食物的餐厅

opensuse

包管理:zypper
软件源:官方源+OBS
suse是商业的发行版,有opensuse的社区版,这是一个来自德国的精致的发行版(好一个刻板印象).
他的包管理似乎在向另一个极端发展,他们有一个完整的图形化包管理工具,甚至可以直接在浏览器中通过一个链接直接在本地安装一个包.
他应该是一个非常易用的发行版,如果你喜欢完全图像化的操作的话.
他们同时有一个OBS服务,他不光可以用于托管opensuse的包,也可以托管并构建其他发行版的包,这是非常好的.

nixos

包管理:nix
软件源:官方源+用户自建源
不光是一个系统,也是一个环境管理工具
nixos更像是docker或者k8s这样的工具而不是系统,它会把所有的程序按照版本装入一个以hash值命名的目录下,当你需要使用时可以指定程序的版本.
这对一些需要测试不同版本依赖来进行测试或开发的人来说可能会是非常棒的东西.
不过它的配置文件需要一个陡峭的学习曲线

好比是做好了很多菜,根据你的需要进行拼盘上菜

LFS?

你是疯子…或者天才?
这玩意是教具吧…