如何选择 Linux 发行版
简介
要建立云服务器,首先需要安装操作系统。在现代环境中,几乎所有情况下都是指 Linux 操作系统。从历史上看,Windows 服务器和其他类型的 Unix 在特定的商业环境中都很流行,但现在几乎每个人都在运行 Linux,这是因为 Linux 支持广泛、许可免费或灵活,而且在服务器计算领域总体上无处不在。Linux 有许多发行版,每个发行版都有自己的维护者,有些发行版有商业供应商支持,有些则没有。以下各节详细介绍的发行版是运行云服务器的一些最流行的操作系统。
概述
Ubuntu 是最流行的 Linux 发行版之一,既适用于服务器,也适用于台式电脑。新的 Ubuntu 版本每六个月发布一次,新的 Ubuntu 长期支持版本每两年发布一次,支持期为五年。由于 Ubuntu 广受欢迎,大多数有关 Linux 的教育内容都反映了 Ubuntu 的特点,而 Ubuntu 支持的广泛性也是对其有利的重要一点。
Debian 是 Ubuntu 的上游,这意味着它的核心架构决定通常会影响 Ubuntu 的发布,它使用与 Ubuntu 相同的 .deb 包格式和 apt 包管理器。由于保守的打包选择和缺乏商业支持,Debian 在生产服务器上并不流行。不过,许多用户选择 Debian 是因为它的可移植性,以及它被用作不同平台上许多其他 Linux 发行版的基线,包括最流行的 Raspberry Pi 操作系统 Raspbian。
Red Hat Enterprise Linux 或 RHEL 是最流行的商业支持 Linux 发行版。与 Debian 系列不同,它使用 .rpm 软件包和名为 dnf 的软件包管理器,以及自己的工具生态系统。由于授权原因,只有在签订了商业支持协议的情况下,才会使用 Red Hat。
Rocky Linux 是 Red Hat 的下游,就像 Ubuntu 是 Debian 的下游一样,与 RHEL 不同的是,它与大多数其他 Linux 发行版一样可以免费使用,这使它成为采用红帽工具但可能不使用红帽商业支持的用户的热门选择。在此之前,一个名为 CentOS 的发行版扮演着与 Rocky Linux 相同的角色,但它的发布模式正在发生变化。Rocky Linux 的版本与 RHEL 的版本密切相关,两者之间可以共享大多数文档。
Fedora Linux 是 Red Hat 的上游产品,与 Ubuntu 一样,用于桌面环境和服务器。Fedora 是大多数 RHEL 生态系统软件包以及 Gnome 桌面环境(Ubuntu 和其他系统默认使用 Gnome 桌面环境)的实际开发源头。
Arch Linux 是另一种流行的以桌面为重点的 Linux 发行版,它既不是 Debian 也不是 Red Hat Linux 系列的成员,但提供了自己独特的打包格式和工具。与其他发行版不同的是,它不使用任何发行版本--它的软件包总是最新的。因此,不建议用于生产服务器,但它提供了出色的文档,对知识渊博的用户来说非常灵活。
Alpine Linux 是一个最小的 Linux 发行版,默认情况下不提供许多常用工具。从历史上看,许多 Linux 发行版都是基于这一目标而创建的。Alpine 常用于现代容器化部署(如 Docker),在这种部署中,你的软件可能需要在虚拟化操作系统中运行,但又需要尽可能减少整体占用空间。除非试图制作容器原型,否则一般不会直接使用 Alpine Linux。
以前,不同发行版在初始系统、窗口管理器和其他库的选择上存在较大差异,但现在几乎所有主流 Linux 发行版都已将 systemd 和其他此类工具标准化。
选择发行版
还有许多其他 Linux 发行版,但大多数其他发行版目前都可以通过这七个发行版来理解。从以上概述可以看出,你选择 Linux 发行版的大部分标准将归结为以下几点:
- 您对 Debian 衍生系统还是 Red Hat 生态系统有要求
- 你将主要为云、桌面或容器进行开发
- 是需要使用最新的可用软件包,还是稳定的软件包
选择发行版取决于个人喜好,但如果你是在云中工作,对红帽生态系统没有任何生产要求,那么 Ubuntu 是最受欢迎的默认选择。您还可以从面向网站的软件包仓库中查看特定发行版的可用软件包。例如,Ubuntu 22.04 "Jammy Jellyfish" 软件包位于 Ubuntu.com 的 Jammy 部分。
软件包管理
大多数 Linux 发行版在如何创建、发现和安装第三方软件包(软件包源中没有的软件包)方面也有很大不同。Red Hat、Fedora 和 Rocky Linux 除了官方软件包外,一般只使用少数几个流行的第三方软件包库,以保持其权威性和生产性。其中之一就是企业 Linux 额外软件包(Extra Packages for Enterprise Linux 或 EPEL)。由于 RHEL 生态系统对商业上支持的软件包和不支持的软件包进行了区分,所以许多在 Ubuntu 上开箱即用的常用软件包需要配置 EPEL 才能安装到 Red Hat 上。在这种情况和其他许多情况下,哪些软件包可以从发行版自己的软件源上游获得,往往是一个权威性和维护责任的问题。许多第三方软件包源都广受信任,只是它们可能不在发行版维护者的职责范围之内。
Ubuntu 允许个人用户创建 PPA(即个人软件包档案)来维护第三方软件供他人安装。不过,同时使用过多的 PPA 可能会导致不兼容的问题,因为 Debian 和 Ubuntu 软件包的版本都有特定的要求,所以 PPA 维护者需要与 Ubuntu 的上游更新紧密配合。Arch Linux 为用户提交的软件包提供了一个单一的软件仓库,称为 Arch User Repository 或 AUR,虽然相比之下,他们的方法显得更加混乱,但如果你使用几十个第三方软件包,这种方法在实际操作中会更加方便。
你也可以通过 Homebrew 或 Docker 安装第三方软件,从而避免增加系统软件包管理器的复杂性。虽然"Docker 化"或容器化部署在磁盘使用和安装开销方面可能效率不高,这也是 Alpine Linux 需要考虑的地方,但它们可以跨发行版移植,而且不会对你的系统提出任何版本要求。不过,任何未被系统软件包管理器安装的软件包在默认情况下可能无法接收自动更新,这也是需要考虑的另一个问题。
总结
在本教程中,你回顾了为云计算选择 Linux 发行版时的一些最重要的考虑因素。现在,Docker 和其他容器引擎的广泛使用意味着,选择发行版对你能够运行的软件的影响已不像过去那么大了。不过,这仍然是影响软件获得支持方式的重要因素,也是您在为生产扩展基础架构时需要考虑的重要因素。
要进一步了解如何在不同的 Linux 发行版上使用系统软件包管理器,请参阅《软件包管理要点》。
参考:How to Choose a Linux Distribution | DigitalOcean Tutorial
如何选择 Linux 发行版的更多相关文章
- 2016年如何选择 Linux 发行版
不管是在企业级应用还是在消费者领域,2015 对于 Linux 来说都是极其重要的一年.作为一个从 2005 年就开始使用 Linux 的老用户,我有幸见证了 Linux 过去这 10 年里的重大发展 ...
- 常用的Linux发行版
Linux发行版百花齐放 [内容摘要] 如今,众多的Linux发行版百花齐放,linux的阵营日益壮大,每一款发行版都拥有一大批用户,开发者自愿为相关项目投入精力.Linux发行版可谓是形形色色,它们 ...
- 关于Linux发行版的选择
Linux发行版很多,分为以RedHat为代表的商业发行版和以Debian为代表的免费发行版.前者典型版本有CentOS.Fedora.SUSE等,后者的典型版本有Ubuntu等 CentOS.Ubu ...
- Linux发行版教你如何选 给入门者的选择通法
Linux的发行版何止琳琅满目,简直是乱入你眼. 本篇将介绍选择发行版的经验和通用法则,主要会从PC角度去谈. 更新于2020年,初次发布于2017年 选择发行版需考虑哪些因素 选择发行版时需要考虑的 ...
- 我的Linux发行版选择
Ubuntu CentOS Debian Fedora Slackware Mint Xubuntu Arch OpenSUSE Red Hat Slackel PureOS Mageia PCLin ...
- 1.9 初学者应选择哪个Linux发行版?
前面章节中,已经对几个常见的 Linux 发行版做了简单的介绍,那么对于初学者来说,选择哪个发行版的性价比更高呢? 通常情况下,初学者学习 Linux,是为了找一份和 Linux 相关的工作,那么问题 ...
- 在同一个硬盘上安装多个 Linux 发行版及 Fedora 21 、Fedora 22 初体验
在同一个硬盘上安装多个 Linux 发行版 以前对多个 Linux 发行版的折腾主要是在虚拟机上完成.我的桌面电脑性能比较强大,玩玩虚拟机没啥问题,但是笔记本电脑就不行了.要在我的笔记本电脑上折腾多个 ...
- 2016 最佳 Linux 发行版排行榜
2015年,不管在企业市场还是个人消费市场都是 Linux非常重要的一年.作为一个自2005年起就开始使用 Linux的 Linuxer ,我门见证了 Linux在过去十年的成长.2016 Linux ...
- 构建自己的 Linux 发行版
如何用 SUSE Studio 构建 Linux 发行版? (1) 进入到 www.susestudio.com,设立一个帐户 (2) 为你的设备(发行版)选择一个基本模板 -软件和软件包选择 (1) ...
- 2016年最佳Linux发行版排行榜
2015年,不管在企业市场还是个人消费市场都是 Linux 非常重要的一年. 最好的回归发行版:openSUSE openSUSE 背后的 SUSE 公司是最老的 Linux 企业,它成立于 Linu ...
随机推荐
- C语言gcc编译环境搭建
第一步,根据以下链接下载gcc工具包: gcc工具包下载地址: 链接:https://pan.baidu.com/s/1JqEjakTcWLPv7p6zkah6sA提取码:k4d2 第二步,将下载好的 ...
- v-model 的原理?
我们在 vue 项目中主要使用 v-model 指令在表单 input.textarea.select 等元素上创建双向数据绑定,我们知道 v-model 本质上不过是语法糖,v-model 在内部为 ...
- Spring的AOP快速实现通用日志打印
需求分析 针对VideoService接口实现日志打印 三个核心包 spring-aop:AOP核心功能,例如代理工厂 aspectjweaver:简单理解,支持切入点表达式 aspectjrt:简单 ...
- 国内版Unity 2023编辑器无法切换到DX12模式的解决方法
2024.7.4更新:至6000.0.5f1c1,此问题已修复 在{安装目录}\Editor里(也就是Unity安装的根目录)建立一个名叫D3D12的文件夹. 去{安装目录}\Editor\Data\ ...
- Vue项目刷新页面 IE/360 浏览器 input输入框不清空问题处理
本人在项目开发中,遇到IE/360关于input输入框的兼容问题, 背景介绍:html中直接引用vue.js,及相关组件,input内容不为空时,刷新页面,chrome,Firefox显示正常,IE/ ...
- 三星app移植修复(app反编译修改)
工具: apktool ADT 命令: 反编译 java -jar apktool.jar d test.apk 重打包 java -jar apktool.jar b test 签名使用ADT sm ...
- 空间反演对称性 (Spatial Inversion Symmetry) 和非线性响应 (Non-linear Response)
我们定义一次宇称变换 (parity transformation) 为反转所有坐标: \[\mathcal{P}: \begin{pmatrix} x \\ y \\ z \end{pmatrix} ...
- Qt+OpenCascade开发笔记(二):windows开发环境搭建(二):Qt引入occ库,搭建基础工程模板Demo和发布Demo
前言 Open CASCADE是由Open Cascade SAS公司开发和支持的开源软件开发平台,旨在为特定领域快速开发程序而设计.它是一个面向对象的C++类库,提供了丰富的几何造型.数据交换和 ...
- Jmeter函数助手3-RandomString
RandomString函数用于生成指定内容范围的指定长度随机字符. Random string length:限制生成的长度,比如输入6则会生成6位字符 Chars to use for rando ...
- vue使用Echarts常见警告处理方法
[警告一][ECharts] DEPRECATED: textStyle hierarchy in label has been removed since 4.0. All textStyle pr ...