主流Linux发行版近10年排行曲线
数据来源:
10个主流的发行版概述(distrowatch挑选)
详见:
distrowatch网站挑选的10个主流版本,有概述及优缺点。- 初级用户:Ubuntu,Linux Mint和MX Linux对于希望尽快在Linux中获得高效而不必掌握其所有复杂性的新用户而言,这被认为是最简单的。
- 中间用户:openSUSE,Fedora,Debian GNU / Linux可以归类为良好的“中间道路”分布,通常用作其他发行版的基础。
- 企业用户:CentOS是一种企业分布,适合那些喜欢稳定性,可靠性和长期支持而不是尖端功能和软件的人。
- 高级用户:Arch Linux,Gentoo和Slackware Linux是更高级的发行版,需要大量学习才能有效使用。
搜索特定的发行
选择建议
初级用户选择:开箱即用
Linux (内核版本, 201907)
- 超前的 Manjaro(5.2.1)
- 稳定的 Ubuntu (5.0)
- Fedora 实验室 (5.0.9)
普通用户(初级用户)可从以上三选一,都是开箱即用的,但包管理器不同,所以很多命令有差异。不过只要适应了其中任何一种,就可参照包管理器命令对照表学习使用其他版本。
中级用户组装:适合你自己的系统
中级用户可以选择 激进的Arch,滚动发布,几乎每天都有更新。
官方有提醒,由于版本更新比较激进,可能会有意向不到的状况。实际使用了半年,从内核到各种软件都是最新的,暂未遇到异常。 Arch(当前内核是最新的5.2.1)。Arch 有优秀的wiki文档参考,普通用户可在这里学习进阶。 Arch的安装就是从最小安装开始,一点一点安装你需要的软件包,就像搭积木。所以安装完成就是适合你自己的系统。高级用户搭建:适合你自己,且适配你电脑的系统
Gentoo 需要耐心,同样有优秀的wiki文档可供参考。安装适合你自己,且适配你电脑的系统.
这是一个高度灵活的基于源代码的Linux发行版。Arch是安装线程的二进制软件包,Gentoo是从源代码开始编译。所以不只软件适合你的要求,系统更加适配你的电脑硬件。顶级用户使用:LFS 构筑自己的Linux系统
Linux From Scratch(LFS)是一个项目,为您提供完全从源代码构建自己的自定义Linux系统的分步说明。只要按照手册上一步步做下来,就能得到一个可用的系统。所以lfs并不是一个发行版,而是类似于一个教学环境,一本说明书。除了lfs以外,还有blfs、alfs等子项目。注:按照lfs手册成够构筑Linux系统后,你可能还不知道其中的每一步为什么要这么做,因为这个文档比较实在,并不会提供太多关联信息。而gentoo的文档上则详细的介绍了执行每一步所需的背景知识,包含很多可选项,并把最后的决定权留给你。Arch VS Gentoo
- Arch Linux 和 Gentoo Linux 都是滚动升级的发行版,所以在上游软件发布很短时间后,其上就会有软件包可用。
- Gentoo 的基础系统和软件包都是根据用户指定的 USE 标识直接从源代码构建。Gentoo 提供了一个类 ports 系统( Ports 是 BSD 上的一个系统工具)来从源代码编译软件包,而 Arch 基础系统被设计为“直接由预构建好的 x86_64 二进制软件包组成”。一般来说,Arch 更易于构建和升级,而 Gentoo 更易于进行系统化的定制。
- Arch 只支持 x86_64 架构,Gentoo 对 x86(i486/i686)、x86_64、PPC/PPC64、SPARC、Alpha、ARM、MIPS、HPPA、S/390、Itanium 架构提供官方支持。
- Gentoo 的官方包管理工具比 ArchLinux 的更复杂和强大,而且一些在 Gentoo 中处于核心位置的特性(比如 USE 标记、SLOTs 等等)在 Arch 中并没有相对应的功能。究其原因,一是因为 ArchLinux 主要是一个二进制发行版,第二是因为 Gentoo 和 Arch 在设计哲学上有些差别。Arch 在原则上更偏向于架构的简洁性和避免过度设计。
- 因为 Gentoo 和 Arch 的安装包都只包含基本系统,所以它们两者都被认为是需要高度定制化的系统。一般来说,Gentoo 用户如果习惯于 systemd 的话,对Arch的大多数方面都会感到满意。
Arch 和 Gentoo的共同点:
- 最小系统基础,仅有命令行界面
- 高度可定制化
- 优秀的帮助文档系统
- 都是滚动发布
- 在从源码生成安装的角度来讲两者没有明显的优劣之分。
- 甚至两者都可以通过包元文件使用其他发行版提供的二进制包(rpm, deb等)进行安装。
部分差异表格
项目 | ARCH | Gentoo |
Init-System | Systemd | OpenRC |
软件仓库 | 二进制仓库 | 源码仓库 |
额外支持 | 提供从源码编译的支持(ABS) | 提供野包(overlay) |
包管理 | pacman | Portage |
软件树 | ABS | Portage |
包管理器 | abs, pacman、makepkg等的集合 | emerge |
包元文件 | PKGBUILD | ebuild |
多版本支持 | 单一版本 (新包名安装多一个版本) | “slot”多版本共存 |
软件包版本 | 主流发行版中,更新速度最快的一个 | 不一定是最新的,但维护的包质量都很高 |
架构支持 | x86-64(AMD64) | 几乎所有架构 |
内核 | Linux | Linux, BSD, hurd |
安装过程 | 效率极高 | 编译安装速度慢 |
能耗 | 低能耗 | 以电费换性能著称 ? |
Gentoo的自定义更胜一筹
- 定制性极强的USE变量使其灵活性远超Arch
- 从依赖的角度来讲,USE变量相当于更微观的“包”,
- USE有全局的和针对特定包的,前者影响着后者,通过USE变量你可以选择整个系统或某个包具备的特性和功能,全局USE可能会影响到多个包。
- USE之间也有依赖和冲突关系,包间的依赖和USE间的依赖共同构成了Gentoo包管理问题的核心。
更多信息:
https://www.zhihu.com/question/19672940https://en.wikipedia.org/wiki/Comparison_of_BSD_operating_systems