Linux发行版 教你如何选择

Linux发行版 教你如何选择

Linux的发行版何止琳琅满目,简直是乱入你眼。你到底应该用大众的Ubuntu?“正统”的红帽?或其他?

选择一个发行版,常是安装Linux之前的第一个考虑。本篇将介绍笔者选择发行版的经验,会从家用既能娱乐又能工作的PC角度去谈。

最后更新于2020年,首次发布于2017年,

选择发行版需考虑哪些因素

选择发行版时需要考虑的因素不少。选择常常没有完美,只有最适合。

背景、面向用途、用户群、软件源、支持周期、更新激进度、质量、易用程度都是选择时要考虑的因素。

勿以界面好看与否作为选择依据。发行版是内核和其余各种软件包的集合。桌面环境亦是由数个软件包组成。理论上,任何发行版都可以使用任何桌面环境,没有必要以界面选发行版。再者,贪图界面好看的人更难成为Linux高手。
  1. 因素之背景
    背景包括衍生关系与出身。一个Linux发行版出自某商业公司,或非商业社区。有些发行版衍生自另一个发行版,子发行版必然继承了许多上游的特性。
  2. 因素之面向用途
    一个发行版被设计时,可能面向通用、娱乐、商业、教育、工作、服务器等几种用途之一,或某特殊用途。
  3. 因素之用户群
    用户群的大小影响接地气的程度。Linux虽是自由软件,但离不开用户群的力量。大用户群会让你更容易搜索到某问题的答案,或找到社区用户所打包的软件。一些软件发布者也可能会优先发布适用于流行发行版的安装包。

    考虑用户群时,既要考虑世界范围内的用户群大小,也要考虑国内范围的。
  4. 因素之软件源
    包括软件仓库收录软件的数量。如果仓库收录软件少,安装软件时就免不了上网搜索下载、编译、编译出错、解决依赖关系的麻烦。

    进阶知识:有静态编译、容器、AppImage、Flatpak、snap等技术让软件可跨发行版运行,部分填补Linux发行版间的鸿沟。
  5. 因素之支持周期
    支持周期短会让你不得不频繁更新。支持周期太长代表软件仓库中的软件版本可能会过时。需要了解发行版的Major Release周期、Minor Release周期、延长支持周期。

    以Ubuntu为例,它半年发布一个新的系统版本,如16.04、16.10、17.04、17.10、18.04、18.10、19.04、19.10、,每两年发布一个LTS(延长支持)版本,其中的16.04和18.04是LTS。非LTS的支持周期是9个月,LTS支持周期是5年。延长支持存在目的主要是为了服务器等不允许频繁更新的环境。
    升级系统的版本理论上只要一条命令,但实际上,升级也是一项小工程。
  6. 因素之更新激进度
    激进度是指仓库会收录位于测试、不稳定、稳定、非常稳定之中的哪个阶段的软件。前沿则不稳定、中庸两者兼顾、稳重则版本旧。用户需选择。
  7. 因素之质量
    质量可以指运行出错概率、硬件兼容率、软件源维护质量等。质量也是上面各因素的综合。
  8. 因素之易用程度
    “易用”在这里主要指开箱即用,省去新手自行调整的麻烦,也意味着默认安全水平较低。专业的用户可能不喜欢这点。不易用的可能连安装过程都是纯控制台形式。

几个主流发行版的描述

Ubuntu

近年来很流行的Ubuntu出自英国一商业公司“大教堂”,“大教堂”面向的是普罗大众用户,被一些电脑厂商所预装,也是目前装机量最大的Linux发行版。

  • Ubuntu在开箱即用方面做得不错。
  • 面向用途尽管是通用,但有人认为偏娱乐,得到一些游戏、图形技术等开发者优先支持。但也不完全是,也有不少云服务在用它。
  • 国内的一些软件公司简单粗暴地只在Ubuntu上进行测试,只发布适合Ubuntu的deb安装包。
  • Ubuntu的支持周期见上文。
  • 有少数人遭遇每天多次程序崩溃(最多人用的发行版并不一定是最好的)。

实际上Ubuntu是衍生自Debian的unstable版本。

Debian

  • Debian是第二流行的发行版。
  • 它允许用户选择stable、unstable (sid)、testing (buster)几种激进度。
  • 它与Ubuntu较接近,因为它是Ubuntu的上游。从Ubuntu转换到Debian stable会让你有不错的体验和较少的迁移成本。
  • deb格式安装包和apt包管理方式出自Debian的设计。
  • Debian每两年一个新版本,每个版本有3年的完整支持加2年的延长支持。
  • Debian是纯社区的,没有商业成分,与自由软件有冲突的软件包不会被官方源收录。安装完Debian后,默认不会带有任何闭源软件或版权有争议的东西。要安装Flash、媒体解码器等要自行增加几个步骤。

    纯社区的Debian被许多特定用途的发行版选为上游。如开源卡片机树莓派的Raspbian、黑客参透测试专用的Kali Linux和Parrot、为隐私和匿名而生的Tails等

Linux Mint

这一个稍提一下就好。Linux Mint基于Ubuntu,其许多用户因喜欢用它的MATE桌面而选它。上面所说的Ubuntu装机量最大,其中不小一部分是Linux Mint占有的。

深度(Deepin) Linux

深度做的国产Linux发行版,基于Debian。有一些政府资金加入,其目前的领导之中有360等公司的。

  • 把桌面和各种日常软件按照国人的大众审美和习惯重新搞了一套。
  • 为用户准备好了QQ、迅雷等wine运行的,国内用户可能需要的Windows软件。

红帽

最“正统”(实际上Linux并不存在“正统”发行版的概念)
的红帽,与它相关的发行版有三种:

  • Red Hat Enterprise Linux(RHEL)
  • CentOS
  • Fedora

之所以说它“正统”,是因为许多正规的Linux教学都用它。著名Linux教程《鸟哥的私房菜》用的就是CentOS。

红帽公司做的是开源+卖售后服务,其商业版本RHEL的软件源是付费的。社区用RHEL的源代码编译而成CentOS,供免费使用。

  • rpm格式的安装包出自红帽的设计。
  • RHEL/CentOS面向的是工作和服务器,不适合家用。娱乐的软件包未必收录,显卡驱动的支持稍少。
  • RHEL/CentOS支持周期7年,更新较保守。
  • 国外的大型专业软件必会在红帽上做测试。
  • 若想家用红帽,可以用Fedora

    • Fedora永远没有稳定版,支持周期1年,更新激进。
    • 它是红帽公司测试新代码的平台,装了Fedora的机器都成为红帽的实验品。
    • 能否在你的机器上运行稳定要看运气(据说总体上比Ubuntu稳定)。

SLE/openSUSE

最早起步的发行版之一,来自德国,与KDE关系亲密。SUSE Linux Enterprise(SLE)是商业版本。openSUSE是带社区的免费版。

  • 面向通用用途。国外大型专业软件很多也会在SLE上做测试。
  • openSUSE也算主流发行版,但国内用户群不大。
  • openSUSE开箱即用方面稍差一些,因为默认设置得非常安全,启动脚本写得严谨而复杂。
  • YAST能够给系统管理员一个GUI界面代替文本编辑系统配置文件,这是它独有的优点。
  • 每个Major Release的支持周期3年,每18个月内更新一次Minor Release。
  • openSUSE仓库收录软件很谨慎以致软件数量稍偏少,自由软件与非自由软件是在分开的软件源中,版权有争议的软件包被放在packman源中与公司脱离干系。用openSUSE需要使用三类软件源:官方源、packman源、OBS源。

结语

会看这篇文章的人,目前也不会用得到Arch Linux、Gentoo那些高级货,所以不介绍。

初入Linux世界时,我用的是人数众多的Ubuntu,没多久就因为遇到的bug太多而弃用。Debian和openSUSE是给喜欢稳定而不老旧的人的不错选择。

打赏作者

写作不易,感谢支持!
打赏二维码

39 声望
1 粉丝
0 条评论
推荐阅读
记一次使用gdb诊断gc问题全过程
上次解决了GC长耗时问题后,系统果然平稳了许多,这是之前的文章《GC耗时高,原因竟是服务流量小?》 然而,过了一段时间,我检查GC日志时,又发现了一个GC问题,如下: 从这个图中可以发现,我们GC有一些尖峰,...

扣钉日记2阅读 1.1k

封面图
使用kubeasz部署高可用kubernetes集群
本实验采用kubeasz作为kubernetes环境部署工具,它是一个基于二进制方式部署和利用ansible-playbook实现自动化来快速部署高可用kubernetes集群的工具,详细介绍请查看kubeasz官方。本实验用到的所有虚拟机默认软...

李朝阳4阅读 724

git/pip/easy_install/apt代理/源设置
在公司内网环境中,访问公网往往需要经过公司的代理,对于浏览器、IDE等开发工具,都提供了设置代理的配置,而git、pip、easy_install等CLI工具,则需要通过命令或配置文件进行代理设置;对于Python、Ubuntu、Mav...

乘着风1阅读 5.1k

Ubuntu20.04 从源代码编译安装 python3.10
Ubuntu 22.04 Release DateUbuntu 22.04 Jammy Jellyfish is scheduled for release on April 21, 2022If you’re ready to use Ubuntu 22.04 Jammy Jellyfish, you can either upgrade your current Ubuntu syste...

ponponon1阅读 4.5k评论 1

linux中用户登录加载配置文件的过程
shell的类型(站在用户登录登录的角度)登录式shell正常通过某终端登录su - USERNAMEsu -l USERNAME非登录式shellsu USERNAME图形终端下打开命令窗口自动执行的shell脚本用户登录时相关的bash配置文件全局配置文件/...

Dabric阅读 5.3k评论 3

在Linux上查看活跃线程数与连接数
现如今,有两种常见的软件资源几乎成了Java后端程序的标配,即线程池与连接池,但这些池化资源非常的重要,一旦不够用了,就会导致程序阻塞、性能低下,所以有时我们需要看看它们的使用情况,以判断这里是否是瓶颈。

扣钉日记3阅读 981

封面图
9个超有用的 Linux Touch 命令实例讲解
touch 命令用于创建空文件,也用于更改 Linux 系统中现有文件的时间戳。这里更改时间戳意味着更新文件和目录的访问和修改时间。命令语法touch {options} {file}语法选项1) 创建一个空文件touch 命令创建一个空文...

鸠摩智首席音效师1阅读 1.7k

39 声望
1 粉丝
宣传栏