您当前的位置:首页 > 电脑百科 > 软件技术 > 操作系统 > linux

Linux发行版介绍

时间:2021-03-30 14:41:46  来源:  作者:誓破千重浪

★“内核”与“发行版”是啥关系?

  对于新手而言,需要先搞清楚这两个概念(已经明白的同学,请跳过本章节)。

◇操作系统内核(OS kernel)

  所谓的”操作系统内核“,通俗地说就是操作系统最核心最关键的部件。它负责一些最基本的工作,比如:管理硬件驱动、管理内存、管理文件系统、管理进程、等等。这些东西只要少了任何一样,整个操作系统就【没法】正常运转。

linux 内核(Linux kernel)

  Linux 作为操作系统,当然也有其内核。自问世以来,Linux 内核的开发工作一直是由 Linus(也就是 Linux 它爹)领导。Linus 对于 Linux 内核的意义,就如同乔布斯对于苹果的意义。

  Linux 内核的特点是——非常彻底的【开放性】。所谓的【开放性】包括如下几方面:

1. 任何人都可以随意获取(可以从 Linux Kernel 官网直接下)

2. 任何人都可以免费获取(完全不用花银子)

3. 任何人都可以参与开发(阿猫阿狗都可以向 Linux 社区提交代码;只要你提交的代码符合要求,就会被合并到内核主线)

  内核不是今天的重点,俺就点到为止。

◇发行版(distribution,简称 distro)

  前面说了,操作系统都有"内核"的概念(比如 windows 也有其内核)。但如果你使用 Windows,通常感觉不到“内核”的存在。为啥捏?原因在于:微软是把 Windows 当作一个整体来发布的。对于普通用户而言,你拿到的是一个完整的操作系统,所以你感觉不到“内核”的存在。

  而 Linux 不同于其它操作系统的地方在于:Linus 领导的开源社区只负责开发内核,不开发其它的东西(比如:运行库、图形界面、应用软件、等)。

  这就引出一个问题——光有一个赤裸裸的内核,用户是没法用的(就好比你光拿到一个汽车引擎,你是没法开车的)。为此,就有一大帮开源社区或商业公司,在这个裸露的内核外面,再包上一些东西(比如:运行库、应用软件)。经过这样包装之后,就成为“发行版”。

  为啥 Linux 的发行版如此之多捏?前面俺说了,Linux 内核是彻底开放滴,随便什么阿猫阿狗都可以去 Linux 的官网下载到内核,然后自己折腾(定制)。如果定制完觉得满意,就可以拿到网上去发布(就成了一个新的发行版)。由于门槛如此之低,发行版自然就很多啦。

◇【内核+发行版】的模式,有啥好处?

  刚才已经解释了 Linux 内核与发行版的关系。再来说说【内核+发行版】的模式,有啥好处。

  首先表扬一下 Linus 同学,他当年作出的决定——只开发内核,其它的一概不管——真的是太有先见之明啦!

  其一

  在这种模式下,会有各种各样的发行版,正好可以覆盖千奇百怪的需求;

  其二

  【同质化】的发行版之间会产生【竞争】,最终只有优秀的发行版会存活,差劲的发行版会逐渐消亡——这就是开源生态圈的“达尔文主义”。

  如果用一个词来形容 Linux 的优点,那就是——【多元化】。内核的开发是多元化滴(任何人都可以参与),发行版也是多元化滴(任何人都可以搞发行版)。

  对比一下其它的开源操作系统——BSD系列。

  BSD 系列中最有影响的是 FreeBSD。说实话 FreeBSD 很优秀!但是 FreeBSD 的影响力远远小于 Linux。为啥捏?因为 FreeBSD 缺乏 Linux 这种多元化的风格。

★如何选择发行版?

  前面说了一通屁话,现在切入正题。

  因为 Linux 的发行版太多,如果要逐一介绍的话,都足以写一本大部头的书了。所以俺尝试从“分类”的角度来介绍。通过介绍不同维度的分类,帮助你从不同的视角看待各种发行版。

  对发行版的各个视角都有所了解之后,你就可以过滤掉一大批不符合你要求的发行版。过滤完之后,或许就只剩下2~3个候选者,然后再逐一尝试。

★【通用】发行版 VS 【专用】发行版

  所谓的“通用发行版”,顾名思义就是:这个发行版可以派上各种用场;反之,“专用发行版”是为特定用途设计,只能用于某些特定场合。

  这两种各有优缺点——通用发行版虽然用途广,但你需要自己做一些定制。专用发行版虽然用途单一,但很多软件和配置预先都帮你设置好了。

  俺在《新手如何搞定 Linux 操作系统》一文中强调的“成熟度”的重要性。所以,俺挑选几个成熟度比较高的通用发行版和专用发行版,大致介绍一下。

◇【通用】发行版

  名气比较大的有如下几个:

  Debian

Debian 完全靠社区维护,其特点是:非常强调"自由"的开源理念。它有很多衍生的发行版(比如 Ubuntu),形成一个大家族。在 Linux 的众多家族中,Debian 家族是软件包最多的。

对于完全没有技术背景的同学,Debian 的门槛稍微有点高。

  Fedora

Fedora 来自 Red Hat Linux。2003年的时候,Red Hat 公司决定不再维护面向桌面的 Red Hat Linux,改为专注于企业市场。就把原先的 Red Hat Linux 交给社区维护,成为 Fedora(原先的洋名叫”Fedora Core“)。

  openSUSE

这是从 Slackware 衍生出来的发行版,原先属于 SuSE 公司的商业发行版(SUSE Linux)。2004年 SuSE 被 Novell 收购之后,Novell 把它移交给社区维护,改名叫 openSUSE。

它的一个特色功能是 YaST。这玩意儿类似 Windows 的控制面板,帮你搞定一大堆系统管理的杂事(比如:硬盘分区、软件升级、用户管理、网络配置、等等)

  Arch Linux

这是一个白手起家的发行版(【不是】从其它发行版衍生),比较适合于 diy。默认装出来的系统近乎全裸,然后根据你的需要,安装自己喜欢的软件包。

它的设计理念是KISS 原则,追求简洁主义。定位于有技术背景的熟练用户。

  Gentoo Linux

它跟前面提到的 Arch Linux 很像——也是白手起家,也很适合于 DIY,也是定位于熟练用户。差别在于,它的 DIY 精神更加彻底。Gentoo 官网提供的软件包,【不是】二进制的,全都以【源代码】形式提供。如果你要装某个软件,先从官网在线更新源代码,然后在【本地】(本机)编译成二进制的软件。你还可以根据自己的喜好,设置编译选项,以优化性能或安全性。

因为是在本地编译源代码,Gentoo 支持种类繁多的 CPU 类型。

假如你是程序员出身(尤其是 C/C++ 程序员),建议你尝试一下 Gentoo。

  Slackware

在依然活着的发行版中,它是最古老的(1993年问世)。它衍生出很多其它的发行版(比如前面提到的 openSUSE),形成一个大家族。

Slackware也秉承KISS原则,偏好命令行而不是 GUI。所以,完全没有技术背景的同学,不太适合直接上手 Slackware。

◇面向【客户端】(桌面)的专用发行版

  这类发行版,名气较大的有如下几个(这几款的门槛都比较低。适合于没有技术背景的新手)。

  Ubuntu Desktop

衍生自 Debian,大概是影响力最大的桌面发行版了。Ubuntu 的发行版其实分“Server”和“Desktop”两种。一般说 Ubuntu 默认指的是 Ubuntu Desktop。

其美中不足之处是——Ubuntu 本身是一家【商业】公司维护的。关于商业发行版的缺点,后面会提到。

它以发布时间做版本号(比如:13.10 就是2013年10月发布)。每半年发布一个版本。

它的版本分两种:普通版本和长期支持版本(LTS)。LTS 会持续提供支持(补丁更新)长达几年(桌面版 3年,服务器版 5年),普通版本只支持9个月。

  Linux Mint

衍生自 Ubuntu Desktop,由社区维护(避免了商业公司的缺点)。在 DistroWatch 的浏览量排名中,经常排在第一名。

为啥它的排名这么高捏?其中一个原因是:它很强调【傻瓜化】的用户体验,所以吸引到不少人气。

它的发布周期是半年(类似于 Ubuntu),每年的5月和11月出新版本。

它跟 Ubuntu 类似,也分普通版本和 LTS 版本。最近的一个 LTS 是 Linux Mint 13,2012年5月发布,支持到2017年4月。至于普通版本,支持6个月。

可选多种桌面环境(Cinnamon、Mate、KDE、Xfce、GNOME、LXDE、Fluxbox)

  elementary OS

这款是从 Ubuntu 衍生滴,诞生于2011年。DistroWatch 的浏览量排名中,2012年还榜上无名,2013年已经排入前20位。

它的特点是:深度整合各种桌面应用。另外,因为是 Ubuntu 的衍生版,天然地兼容 Debian 家族的软件包。

  Manjaro

这款是从 Arch Linux 衍生滴,诞生于2011年(与 elementary 是同龄人)。

在前面章节,俺提到了 Arch 的门槛比较高。这款发行版侧重于降低 Arch 的使用门槛,从而吸引了大量 Arch 的原有用户。

其官方默认支持的桌面是 Xfce & KDE。如果你不喜欢这两个桌面,可以使用社区支持的其它桌面:Gnome、LXDE、Enlightenment、MATE、Cinnamon...

◇面向【服务端】的专用发行版

  这类发行版,比较有影响力的是:Red Hat Enterprise Linux(简称 RHEL)、centos(从 RHEL 衍生)、Ubuntu Server(从 Debian 衍生)、等等。

  考虑到本文是面向【个人】用户,这方面就不多聊啦。

◇面向【特殊用途】的发行版

  还有一些特殊用途的发行版,定位于比较小的细分市场,属于【小众的】发行版。这些小众发行版,“成熟度”不一定够。所以就不放在本章节,俺会在本文末尾统一介绍。

★版本发布 VS 滚动发布(无版本)

  说到发布方式,大致上有两种风格:按版本发布 or 滚动发布。

  按版本发布,大伙儿应该比较熟悉了,Windows 和 mac OS 都是这么干的。大部分 Linux 发行版也是这么干的。

  但是有少部分发行版采用滚动发布,典型的代表就是前面提到的 Arch Linux 和 Gentoo Linux。对于“滚动发布”的模式,【不】存在版本号,也【无需】重装系统。对于这类系统,你只需要安装一次,就可以无限期地用下去(除非发行版死亡 或者 系统被你自己折腾坏了)。虽然不用重装系统,但你需要定期升级。通过定期升级来增加软件功能,并消除软件漏洞。

  这两种发布方式,各有优缺点,很难说哪种更好。你可以根据自己的喜好,选择其中一种。

★保守型 VS 激进型

◇【保守】的发行版

  这类发行版通常更在意系统和软件的稳定性/可靠性/安全性。为了做到这点,适当地牺牲了“新功能”。所以,它们通常都不会采用最新版本的内核或软件。而是采用不太新,但久经考验的版本。

  一般来说,面向服务端的发行版都是“保守型”滴(比如 RHEL、CentOS)。

  另外,在“通用发行版”中,Debian 是偏“保守”滴;而 Fedora 是偏“激进”滴。

◇【激进】的发行版

  这类发行版优先保证“新功能”。所以它们总是第一时间升级内核版本或软件版本。

  采用滚动方式发布的 Linux,通常都是【激进型】的(比如 Arch Linux、Gentoo Linux)。

◇如何权衡?

  这两种风格,也很难说谁对谁错。关键看你的需求。如果你比较关注安全性,最好选用保守型的。

★【商业】发行版 VS 【社区】发行版

  制作发行版的组织,大体上可以分为两类——商业公司 & 非营利组织。

  说到这里,先澄清一个误区:

  很多人有【偏见】,以为“非营利组织”的研发能力不如“商业公司”。

  其实不然!

  非营利组织也可以做出精品。你只需想想浏览器的例子:非营利组织开发的 Firefox 远远好于(头号软件公司)微软开发的“IE & Edge”。

  对于这两者的选择,主要的考虑因素是:隐私。

  举个例子:

  Ubuntu 属于商业发行版(其后台是 Canonical公司)。Ubuntu 曾经在去年爆了一个丑闻:其桌面搜索功能存在隐私泄露风险

  俺的建议是:

  非常在意隐私的同学,最好用社区发行版。如果你对隐私问题无所谓,那这项指标可以不考虑。

★一些特殊用途的发行版

  下面列举若干特殊用途的 Linux 发行版。俺的接触面有限,介绍未必全面。大伙儿如有补充,欢迎到俺博客留言。

◇某些【迷你】(Mini)发行版

  估计有的同学会问,迷你 Linux 有啥用?用途还是不少滴。

比如:迷你型 Linux 因为很小,可以把整个系统放到内存中运行,所以速度飞快(内存的读写速度比硬盘至少快一个数量级)

比如:家中有古老的 PC,内存硬盘都很小,就可以装迷你发行版(废物利用)。

比如:早年买来的 U盘,可能只有 64兆、128兆、256兆,也可以在上面装迷你型的 Linux。

  Puppy Linux

这是比较老牌的迷你发行版,已有10年历史。

说说它的特色:

其它的发行版,在 LiveCD 模式下是无法实现数据保存的。每次重新启动之后,之前对文件系统的修改都会消失。

但是 Puppy 牛B的地方在于:LiveCD 模式下也可以实现数据保存。前提是:电脑具有"CD-R 或 DVD-R 光驱"。只要有这种光驱,它就可以采用多段刻录的方式,把每次运行时修改过的数据刻录到光盘上(直到刻满为止)。

  SLAX

这款衍生自 Slackware。在迷你 Linux 中,这款算是比较庞大的(大约200兆)。虽然有点大,但是它具备了完善的国际化(含简体中文和繁体中文)。

它的一大特色是它的软件包管理方式【非常绿色】。你从官网下载到某个软件包之后(扩展名是 SB,别想歪了),只需要把这个 SB 文件放到某个特定目录,然后启动系统,这个软件就可以用了;下次如果觉得这个软件不想要,只需要把那个 SB 文件删除,再启动系统,这个软件就彻底消失了。

  SliTaz

这款就真的是“Mini”了,目前的4.0版本只有35兆。这么小的体积,竟然还包含了不少软件(比如 Firefox、多媒体编辑、等)。

  Tiny Core Linux

这款比 Slitaz 更小,包括几个不同的变种:

Micro Core——只有8兆,但是没图形界面。

Tiny Core ——12兆,带图形界面。

Core Plus——64兆,带有更多应用软件。

◇用于安全领域的发行版

  BackTrack / Kali

它衍生自 Ubuntu。在安全类的发行版中,它的名气很大。

它是面向懂安全的技术类用户,傻瓜用户不需要它。

该发行版中包含了大量的安全类工具,可以用来进行:入侵、信息收集、安全取证、安全评估、等等。

Kali 是 BackTrack 的后续发行版。它俩都出自 Offensive Security。

  Tails

Tails 是洋文”The Amnesic Incognito Live System“的缩写。它衍生自 Debian,设计目标是:保护隐私,加强上网的隐蔽性。

在 Tails 里面上网,所有的流量都会经过 Tor 网络中转。

它支持 LiveCD 或 LiveUSB,可以完全运行于内存中,以免在硬盘上留下你的上网痕迹。

  Whonix

这款工具采用双虚拟机进行隔离(一台充当网关,一台用于上网),对外连接全部经过 TOR 网络中转。

上网的那个虚拟机即使遭遇入侵(比如被挂马),你的公网 IP 也不会被入侵者看到。

  Lightweight Portable Security

这款发行版简称 LPS,是美国国防部为政府雇员量身打造的,专门用于强化安全性,防范某些国家的御用骇客。

它内置了加密工具,整个系统采用 LiveCD/LiveUSB 方式,完全运行于内存中(避免在硬盘里留下痕迹,防止泄密)

俺猜测,这款发行版很可能有美国国安局(NSA)的后门 :)

◇用于数据恢复的发行版

  有若干发行版是专门用来做数据恢复的。比如你不小心把系统格式化了,或者不小心把硬盘分区误删了。这类发行版就可以派上用场。因为是用来做数据恢复,所以这类发行版都具备 LiveCD 的能力——数据恢复的时候,用光盘引导,可以避免对硬盘的写操作。

  SystemRescueCD

这是从 Gentoo 衍生出来的,从名称就可以看出,是用来做系统应急修复的。

它内置了若干有用的系统工具,比如:分区工具、文件系统工具、数据恢复工具、Windows 注册表修改工具、等等。

它本身就提供图形界(包括浏览器),便于你在修复过程中,上网查资料。

  Trinity Rescue Kit

这款有点像 SystemRescueCD,不过只有命令行界面。但是它内置了病毒扫描工具。

这个发行版不够活跃,两年没出新版本了。

◇用于多媒体的发行版

  Ubuntu Studio

衍生自 Ubuntu,面向多媒体制作,内置了许多 图像/音频/视频 的相关软件。

它采用实时内核(real-time kernel),以提高处理视频/音频的性能。

  Mythbuntu

衍生自 Ubuntu,类似于 Windows Media Center

★总结

  Linux 发行版太杂,导致本文写得比较长。时间仓促,某些发行版没来得及介绍。欢迎大伙儿补充。有说得不对的地方,也欢迎拍砖。

  最后,来做一下总结发言:

◇【无】技术背景的新手

  建议先尝试那几款“面向桌面“的发行版。这几款的用户数都比较大,门槛都比较低,上手相对容易。用了一段时间之后,如果你自认为比较熟练了,想要继续”折腾“,再考虑——是否尝试那几款”通用发行版“。

◇【有】技术背景的新手

  你可以先尝试”面向桌面“的发行版,也可以直接尝试那几款”通用发行版“。

  在”通用发行版“中,Gentoo 和 Arch 的难度【大于】Debian、Fedora、openSUSE。喜欢折腾的,有 Geek 精神的同学,建议玩玩 Gentoo 和 Arch。折腾过这两款发行版,会让你对 Linux 系统有更深入的了解。

  再补充一下:Gentoo 和 Arch 虽然门槛高,但是这两款发行版的文档都非常齐全。语文不好的同学,顺便可以锻炼一下阅读能力。



Tags:Linux发行版   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
★“内核”与“发行版”是啥关系?  对于新手而言,需要先搞清楚这两个概念(已经明白的同学,请跳过本章节)。◇操作系统内核(OS kernel)  所谓的”操作系统内核“,通俗地说就是操...【详细内容】
2021-03-30  Tags: Linux发行版  点击:(222)  评论:(0)  加入收藏
Red Hat,Inc决定在2021年12月之前提前终止CentOS 8 “stable”的使用寿命,这是之前计划的2029年的EOL。CentOS 8现在被基于滚动版本的CentOS流所取代。世界各地的服务器管理员...【详细内容】
2021-02-01  Tags: Linux发行版  点击:(204)  评论:(0)  加入收藏
1. 前言本文主要讲解如何在各种Linux发行版中安装命令行下载工具wget。如何在各种Linux发行版中安装wget在本文中,您将学习如何在Linux中安装wget非交互式式网络下载程序。wg...【详细内容】
2020-06-24  Tags: Linux发行版  点击:(87)  评论:(0)  加入收藏
1. 前言本文主要讲解如何在各种Linux发行版中安装curl命令。包括Ubuntu,Debian,RHEL,CentOS,Fedora,OpenSUSE,ArchLinux。如何在各种Linux发行版中安装curl命令在本文中,您将...【详细内容】
2020-06-23  Tags: Linux发行版  点击:(93)  评论:(0)  加入收藏
在之前的两篇文章: 《人手一套Linux环境搭建之:macOS版本教程》 《人手一套Linux环境搭建之:Windows版本教程》中详细演示了如何在Windows系统和macOS系统上基于虚拟机来打造...【详细内容】
2020-05-12  Tags: Linux发行版  点击:(58)  评论:(0)  加入收藏
近年来,Linux 在 PC OEM 市场的合作已经不断壮大。比如作为 Canonical 的老伙计,戴尔长期在提供预装 Ubuntu Linux 发行版的系统选项,此外还有 System76、Purism、ZaReason 等...【详细内容】
2020-04-29  Tags: Linux发行版  点击:(48)  评论:(0)  加入收藏
首先我们要去下载镜像,阿里巴巴有最新镜像下载地址:https://developer.aliyun.com/mirror选择第一个DVD版本,DVD表示最全版本,安装的时候可以选择 镜像下载说明下载完成后,我们如...【详细内容】
2019-12-31  Tags: Linux发行版  点击:(112)  评论:(0)  加入收藏
红帽和CentOS项目今天宣布了一个新的名为CentOS Stream的GNU / Linux发行版本,为开发人员和贡献者提供了滚动发布的操作系统。 CentOS Linux一直是商业上可用于企业的Red Hat...【详细内容】
2019-09-25  Tags: Linux发行版  点击:(8490)  评论:(0)  加入收藏
▌简易百科推荐
作用显示文件或目录所占用的磁盘空间使用命令格式du [option] 文件/目录命令功能显示文件或目录所占用的磁盘空间一些写法的区别du -sh xxx 显示总目录的大小,但是不会列出...【详细内容】
2021-12-23  mitsuhide1992    Tags:du命令   点击:(12)  评论:(0)  加入收藏
什么是linux内核linux就像是一个哲学的最佳实践。如果非要对它评价,我真的不知道该怎么赞叹,我只能自豪地说着:“linux的美丽简直让人沉醉。”我只能说是我处在linux学习的修炼...【详细内容】
2021-12-23  linux上的码农    Tags:linux内核   点击:(15)  评论:(0)  加入收藏
本文将比较 Linux 中 service 和 systemctl 命令,先分别简单介绍这两个命令的基础用法,然后进行比较。从 CentOS 7.x 开始,CentOS 开始使用 systemd 服务来代替 service服务(dae...【详细内容】
2021-12-23  软件架构    Tags:systemctl   点击:(13)  评论:(0)  加入收藏
mv是move的缩写,可以用来移动文件或者重命名文件名,经常用来备份文件或者目录。命令格式mv [选项] 源文件或者目录 目标文件或者目录命令功能mv命令中第二个参数类型的不同(...【详细内容】
2021-12-17  入门小站    Tags:mv命令   点击:(23)  评论:(0)  加入收藏
大数据技术AI Flink/Spark/Hadoop/数仓,数据分析、面试,源码解读等干货学习资料 98篇原创内容 -->公众号 Linux sed 命令是利用脚本来处理文本文件。sed 可依照脚本的指令来处...【详细内容】
2021-12-17  仙风道骨的宝石骑士    Tags:sed命令   点击:(21)  评论:(0)  加入收藏
Node是个啥?  写个东西还是尽量面面俱到吧,所以有关基本概念的东西我也从网上选择性地拿了下来,有些地方针对自己的理解有所改动,对这些概念性的东西有过了解的可选择跳过这段...【详细内容】
2021-12-15  linux上的码农    Tags:node   点击:(21)  评论:(0)  加入收藏
难道只有我一个人觉得Ubuntu的unity桌面非常好用吗?最近把台式机上面的Ubuntu 16.04格式化了,装了黑苹果用了一周,不得不说,MacOS确实很精美,软件生态比Linux丰富很多,比Windows简...【详细内容】
2021-12-14  地球末日村    Tags:ubuntu   点击:(34)  评论:(0)  加入收藏
简介Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。输出信息含义执行net...【详细内容】
2021-12-13  窥镜天    Tags:Linux netstat   点击:(26)  评论:(0)  加入收藏
对于较多数量的文件描述符的监听无论是select还是poll系统调用都显得捉襟见肘,poll每次都需要将所有的文件描述符复制到内核,内核本身不会对这些文件描述符加以保存,这样的设计...【详细内容】
2021-12-13  深度Linux    Tags:Linux   点击:(16)  评论:(0)  加入收藏
今天,我们来了解下 Linux 系统的革命性通用执行引擎-eBPF,之所以聊着玩意,因为它确实牛逼,作为一项底层技术,在现在的云原生生态领域中起着举足轻重的作用。截至目前,业界使用范...【详细内容】
2021-12-10  架构驿站    Tags:eBPF   点击:(24)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条