主流Linux发行版近10年排行曲线
10个主流的发行版概述(distrowatch挑选)
搜索特定的发行
选择建议
    初级用户选择:开箱即用
    中级用户组装:适合你自己的系统
    高级用户搭建:适合你自己,且适配你电脑的系统
    顶级用户使用:LFS 构筑自己的Linux系统
Arch VS Gentoo
    Arch 和 Gentoo的共同点
    部分差异表格
    Gentoo的自定义更胜一筹

主流Linux发行版近10年排行曲线

数据来源: https://distrowatch.com/

  

10个主流的发行版概述(distrowatch挑选)

详见: https://distrowatch.com/dwres.php?resource=major
distrowatch网站挑选的10个主流版本,有概述及优缺点。

  • 初级用户:Ubuntu,Linux Mint和MX Linux对于希望尽快在Linux中获得高效而不必掌握其所有复杂性的新用户而言,这被认为是最简单的。
  • 中间用户:openSUSE,Fedora,Debian GNU / Linux可以归类为良好的“中间道路”分布,通常用作其他发行版的基础。
  • 企业用户:CentOS是一种企业分布,适合那些喜欢稳定性,可靠性和长期支持而不是尖端功能和软件的人。
  • 高级用户:Arch Linux,Gentoo和Slackware Linux是更高级的发行版,需要大量学习才能有效使用。

搜索特定的发行

https://distrowatch.com/search.php
https://www.cnblogs.com/sztom/p/11040147.html

选择建议

初级用户选择:开箱即用

Linux (内核版本, 201907)

  • 超前的 Manjaro(5.2.1)
  • 稳定的 Ubuntu (5.0)
  • Fedora 实验室 (5.0.9)

普通用户(初级用户)可从以上三选一,都是开箱即用的,但包管理器不同,所以很多命令有差异。不过只要适应了其中任何一种,就可参照包管理器命令对照表学习使用其他版本。

中级用户组装:适合你自己的系统

中级用户可以选择 激进的Arch,滚动发布,几乎每天都有更新。
官方有提醒,由于版本更新比较激进,可能会有意向不到的状况。实际使用了半年,从内核到各种软件都是最新的,暂未遇到异常。
Arch(当前内核是最新的5.2.1)。Arch 有优秀的wiki文档参考,普通用户可在这里学习进阶。
Arch的安装就是从最小安装开始,一点一点安装你需要的软件包,就像搭积木。所以安装完成就是适合你自己的系统。

高级用户搭建:适合你自己,且适配你电脑的系统

Gentoo 需要耐心,同样有优秀的wiki文档可供参考。安装适合你自己,且适配你电脑的系统.
这是一个高度灵活的基于源代码的Linux发行版。https://www.gentoo.org/
Arch是安装线程的二进制软件包,Gentoo是从源代码开始编译。所以不只软件适合你的要求,系统更加适配你的电脑硬件。
https://wiki.gentoo.org/wiki/Handbook:Main_Page/zh-cn

顶级用户使用:LFS 构筑自己的Linux系统

http://www.linuxfromscratch.org/lfs/
Linux From Scratch(LFS)是一个项目,为您提供完全从源代码构建自己的自定义Linux系统的分步说明。
http://www.linuxfromscratch.org/lfs/downloads/stable/
只要按照手册上一步步做下来,就能得到一个可用的系统。
所以lfs并不是一个发行版,而是类似于一个教学环境,一本说明书。
除了lfs以外,还有blfs、alfs等子项目。
注:按照lfs手册成够构筑Linux系统后,你可能还不知道其中的每一步为什么要这么做,因为这个文档比较实在,并不会提供太多关联信息。
而gentoo的文档上则详细的介绍了执行每一步所需的背景知识,包含很多可选项,并把最后的决定权留给你。

Arch VS Gentoo

https://wiki.archlinux.org/index.php/Arch_compared_to_other_distributions#Gentoo/Funtoo_Linux

  • 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/19672940
https://en.wikipedia.org/wiki/Comparison_of_BSD_operating_systems