Linux的发行版何止琳琅满目,简直是乱入你眼。

本篇将介绍选择发行版的经验和通用法则,主要会从PC角度去谈。

更新于2020年,初次发布于2017年

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

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

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

勿以界面好看与否作为选择依据,理论上,任何发行版都可以使用任何桌面环境,套用任何外观主题

  1. 因素之背景

    背景包括衍生关系与出身。一个Linux发行版出自某商业公司,或非商业社区。有些发行版衍生自另一个发行版,子发行版必然继承了许多上游的特性。

  2. 因素之面向用途

    一个发行版被设计时,可能面向通用、娱乐、商业、教育、工作、服务器等几种用途之一,或某特殊用途。

  3. 因素之用户群

    用户群的大小影响接地气的程度。Linux虽是自由软件,但离不开用户群的力量。大用户群会让你更容易搜索到某问题的答案,或找到社区用户所打包的软件。一些软件发布者也可能会优先发布适用于流行发行版的安装包。

    考虑用户群时,既要考虑世界范围内的用户群大小,也要考虑国内范围的。

  4. 因素之软件源

    包括软件仓库收录软件的数量。如果仓库收录软件少,安装软件时就免不了上网搜索下载、编译、编译出错、解决依赖关系的麻烦。

    进阶知识:有静态编译、容器、AppImage、Flatpak、snap等技术让软件可跨发行版运行,部分填补Linux发行版间的鸿沟。

  5. 因素之支持周期

    支持周期短会让你不得不频繁更新。支持周期太长代表软件仓库中的软件版本可能会过时。需要了解发行版的Major Release周期、Minor Release周期、延长支持周期。

    以Ubuntu为例,它半年发布一个新的系统版本,如18.04、18.10、19.04、19.10、20.04,每两年发布一个LTS(延长支持)版本,其中的18.04和20.04是LTS。非LTS的支持周期是9个月,LTS支持周期是5年。延长支持存在目的主要是为了一些重要服务器等不允许频繁更新的环境。

    升级系统的版本理论上只要一条命令,但实际上,升级也是一项小工程。

  6. 因素之更新激进度

    激进度是指仓库会收录位于测试、不稳定、稳定、非常稳定之中的哪个阶段的软件。前沿则不稳定、中庸两者兼顾、稳重则版本旧。用户需选择。

  7. 因素之质量

    质量可以指运行出错概率、硬件兼容率、软件源维护质量等。质量也是上面各因素的综合。

  8. 因素之易用程度

    “易用”在这里主要指开箱即用,省去新手自行调整的麻烦,也意味着默认安全水平较低。专业的用户可能不喜欢这点。不易用的可能连安装过程都是纯控制台形式。

几个主流发行版的描述

Ubuntu

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

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

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

Debian

  • Debian是第二流行的发行版。

  • 它允许用户选择stable、testing、unstable (sid)几种激进度。

  • 它与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倒闭了,近年中西之争又让国家重视起Linux,Deepin是目前唯一稍可靠点的国内发行版,并且政府和深度合作搞了个带点争议的UOS

红帽

最“正统”(实际上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那些高级货,所以不介绍。Debian和openSUSE是给喜欢稳定而不老旧的人的不错选择。

如果要买Linux入门的书籍的话,《鸟哥的私房菜》就是一本很不错的教材。买之前可以去书作者的官网先预览一下。

本篇并不是给人推销自由软件信仰的,自由和商业间需要平衡,互依互斗。用Linux作主系统很可能会带来很多麻烦,生活和工作会需要用Windows软件,最好的解决方案还是用两台电脑,虚拟机也不可靠。

最近微软的WSL2弄得风生水起,甚至有人开始说“Windows 10是最好的Linux发行版”。它不是真正的发行版,是一个兼容层,类似wine倒过来做,只是强大又资金充裕的微软+Linux的开源让WSL效果比wine好太多。用WSL也是一个选项。

而目前由于中西方斗争面临各种断供的可能,我们国家又要开始从开源中弄积累。所以,物技之类无所谓立场和信仰,永远由需求和利益带动。

Linux发行版教你如何选 给入门者的选择通法的更多相关文章

  1. 在同一个硬盘上安装多个 Linux 发行版及 Fedora 21 、Fedora 22 初体验

    在同一个硬盘上安装多个 Linux 发行版 以前对多个 Linux 发行版的折腾主要是在虚拟机上完成.我的桌面电脑性能比较强大,玩玩虚拟机没啥问题,但是笔记本电脑就不行了.要在我的笔记本电脑上折腾多个 ...

  2. 最佳 Linux 发行版汇总

    Linux入门UbuntuUbuntu是一款基于Debian发行版,以Unity作为默认桌面环境的Linux操作系统.他是世界上最流行的发行版之一,每次发行,它都有提升.最新发行版为桌面.移动及其桌面 ...

  3. 自己定制Linux发行版(资料)

    /******************************************************************** * 自己定制Linux发行版(资料) * 声明: * 随着L ...

  4. SLAM+语音机器人DIY系列:(一)Linux基础——2.安装Linux发行版ubuntu系统

    摘要 由于机器人SLAM.自动导航.语音交互这一系列算法都在机器人操作系统ROS中有很好的支持,所以后续的章节中都会使用ROS来组织构建代码:而ROS又是安装在Linux发行版ubuntu系统之上的, ...

  5. 版本 ------- 2017年最受开发者欢迎的10个Linux发行版

    1.Arch Linux Arch Linux在安装过程中提供了强大的可定制选择,支持你下载和安装自己所需的程序包.虽然这个选择对新手来说没有多大的帮助,但是它确实能够帮助那些使用Arch构建系统和存 ...

  6. 简述各大 Linux 发行版,有主观,不完全,望见谅

    只罗列当前热门的linux发行版 更多关于 Linux 以及 Linux 衍生版的内容可以参阅 中文wiki Debian 系 Debian:开源社区的代表性 linux 系统,每2年一次更新,现在的 ...

  7. 【Linux相识相知】计算机的组成、linux发行版和哲学思想、基础命令和目录结构(FHS)

    从今天开始,Frank将开始在博客上记录自己学习linux的点点滴滴,F初来乍到,还望各位大佬多多指教.本次博客的主要内容如下: 计算机基础:简要的描述了计算机的组成及其功能: linux初识:介绍了 ...

  8. 什么是 Linux 发行版

    什么是Linux的发行版 就Linux的本质来说,它只是操作系统的核心,负责控制硬件.管理文件系统.程序进程等,并不给用户提供各种工具和应用软件.所谓工欲善其事,被必先利其器,一套在优秀的操作系统核心 ...

  9. [转帖]最佳 Linux 发行版汇总

    最佳 Linux 发行版汇总 https://cloud.tencent.com/developer/article/1505186 以后说不定用的到. Linux入门 Ubuntu Ubuntu是一 ...

随机推荐

  1. Oracle数据库正则表达式

    正则表达式: 无论是在前端还是后台正则表达式都是一个至关重要的知识点,例如判断一个手机号码输入是否正确,如果使用Java.C或者其他语言进行字符串进行判断,也许写几十行代码都不一定能解决,而且漏洞百出 ...

  2. DevOps-实践心得

    基于最近几年从事与DevOps的相关实践,对这篇文章的观点深有体会,所以记录在这里.加粗部分是我比较深有体会的,但是对于最后作者对于"运维"有些悲观,我有点不敢苟同,反而对于运维的 ...

  3. synchronized底层是怎么实现的?

    前言 面试的时候有被问到,synchronized底层是怎么实现的,回答的比较浅,面试官也不是太满意,所以觉得要好好总结一下,啃啃这个硬骨头. synchronized使用场景 我们在使用synchr ...

  4. warning: #1295-D: Deprecated declaration LED_Init - give arg types警告的解决办法

  5. elo system

    今天了解了一下游戏中的PVP模块的实现,大多数的游戏都使用到了ELO算法,刚开始的时候并不清楚这个算法是做什么的,对此开始大量查找有关于ELO算法的资源,功夫不负有心人,总算找到一些有用的资源了. 先 ...

  6. 2. 构建DNS集群

    DNS是什么 DNS(Domain Name System,域名系统),是互联网上存储域名和IP映射关系的一个分布式数据库,他负责把域名转换为IP地址,或IP转换为域名,工作于OSI应用层之上,DNS ...

  7. openwrt 单网卡路由模拟实现

    关键字 vlan openwrt 单臂路由 一直以来都认为路由器要至少要求是双网卡,因为至少要有lan/wan.最近看了单臂路由的介绍,自己在虚拟机测试了一把,发现单网口做路由器确实可行! 测试环境 ...

  8. C#开发PACS医学影像处理系统(十七):2D处理之影像旋转和翻转

    1.任意角度旋转 在XAML设计器中,设置RotateTransform属性 <InkCanvas x:Name="ToolInkCanvas" UseCustomCurso ...

  9. 熟悉ifos项目的记录吧

    1.首页关联的:在 default-navigation-model.xml里 2.输入框改成下拉列框 第一步,找到需要修改的view的包,新建一个view obj 第二步,在query里写上需要找的 ...

  10. Oracle学习(二)SQL高级--表数据相关

    SQL高级语句 top / limit / rownum / percent (前XXX条数据) --top(SQL Server / MS Access) select top 条数 from 表; ...