Linux-10Year
主流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
Linux-10Year的更多相关文章
- Linux 驱动开发
linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...
- Linux 内核概述 - Linux Kernel
Linux 内核学习笔记整理. Unix unix 已有40历史,但计算机科学家仍认为其是现存操作系统中最大和最优秀的系统,它已成为一种传奇的存在,历经时间的考验却依然声名不坠. 1973 年,在用 ...
- 死磕内存篇 --- JAVA进程和linux内存间的大小关系
运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] ...
- NodeJs在Linux下使用的各种问题
环境:ubuntu16.04 ubuntu中安装NodeJs 通过apt-get命令安装后发现只能使用nodejs,而没有node命令 如果想避免这种情况请看下面连接的这种安装方式: 拓展见:Linu ...
- [linux]阿里云主机的免登陆安全SSH配置与思考
公司服务器使用的第三方云端服务,即阿里云,而本地需要经常去登录到服务器做相应的配置工作,鉴于此,每次登录都要使用密码是比较烦躁的,本着极速思想,我们需要配置我们的免登陆. 一 理论概述 SSH介绍 S ...
- Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级
Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...
- Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作
Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 1.实施前准备工作 1.1 服务器安装操 ...
- SQL Server on Linux 理由浅析
SQL Server on Linux 理由浅析 今天的爆炸性新闻<SQL Server on Linux>基本上在各大科技媒体上刷屏了 大家看到这个新闻都觉得非常震精,而美股,今天微软开 ...
- Microsoft Loves Linux
微软新任CEO纳德拉提出的“Microsoft Loves Linux”,并且微软宣布.NET框架的开源,近期Microsoft不但宣布了Linux平台的SQL Server,还宣布了Microsof ...
- Linux 江湖系列阶段性总结
引言 我使用 Linux 已经有很多年了,最开始接触 Linux 的时候是从 RedHat 9(没有 Enterprise),中途换过 N 个不同的发行版.多年前,我在 BlogJava 上面分享 J ...
随机推荐
- source命令 导入.sql文件时,中文乱码 或者是注释乱码
1.source命令 导入.sql文件时,中文乱码 或者是注释乱码 首先进入dos命令,进入mysql数据库,之后use 数据库:之后查看你的mysql数据库编码 如下命令:模糊查询变量charact ...
- 什么是CSRF攻击?如何避免?
跨站请求伪造(英语:Cross-site request forgery),也被称为 one-click attack 或者 session riding,通常缩写为 CSRF 或者 XSRF, 是一 ...
- select模块
select模块 1. select模块 源:select.py This module provides access to the select() and poll() functio ...
- 【转载】CentOS和Ubuntu的区别
CentOS(Community ENTerprise Operating System)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代 ...
- 零基础学完Python的7大就业方向,哪个赚钱多?
“ 我想学 Python,但是学完 Python 后都能干啥 ?” “ 现在学 Python,哪个方向最简单?哪个方向最吃香 ?” “ …… ” 相信不少 Python 的初学者,都会遇到上面的这些问 ...
- 让UITextField全选
[textField selectAll:self];
- etc/passwd 和 /etc/shadow 文件内容及其解释
/etc/passwd 和 /etc/shadow 文件内容及其解释 默认情况下,/etc/passwd 存储有关本地用户的信息 /etc/passwd 采用以下格式: 1)username ...
- ASC码速记
ASCII表规则记忆 我们仅仅要记住了一个字母或数字的 ASCII 码 (比如记住 A 为 65 , 0 的 ASCII 码为 48 ), 知道对应的大写和小写字母之间差 32. 0 -- 32 按键 ...
- [Database] MAC MySQL中文乱码问题
1 确保数据库编码设置, 可修改my.cnf mysql> show variables like '%character%'; +--------------------------+---- ...
- 记录一次Git远程仓库版本回退
操作过程: 首先查看远程仓库版本,如下图所见,最近一次提交为2018-03-19 22:16:25 第一步:使用git log命令查看历史提交记录,选择要回退的版本号,commit后面一串字符,这里我 ...