如何选择 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 ...
随机推荐
- 缩小50%,Mini版T3/A40i核心板,让您的设备更小巧!
小尺寸核心板给用户带来何种价值? 创龙科技常收到用户对于小尺寸核心板的需求反馈,尤其在电力数据采集器.电力DTU.电力通讯管理机.运动控制器.工业HMI.工业网关等工业设备中. 小尺寸核心板3大优势将 ...
- awk脚本结合shell使用
需求:判断hadoop用户是否存在**************************************************#!/bin/bashresult=`awk -F ": ...
- 一款EF Core下高性能、轻量级针对分表分库读写分离的解决方案
前言 今天大姚给大家分享一款EF Core下高性能.轻量级针对分表分库读写分离的解决方案,开源(Apache License)的EF Core拓展程序包:ShardingCore. ShardingC ...
- yb课堂 实战之路由拦截和订单模块 《四十二》
前置守护 路由拦截功能开发 文档:https://router.vuejs.org/zh/guide/advanced/navigation-guards.html router里面配置需要登陆的路由 ...
- javascript深入参数传递
我们都知道javascript的基础数据类型有: Undefined . Null . Boolean . Number . String . 如果从一个变量向另一个变量复制基本类型的值,会在变量对象 ...
- 第二部分:关键技术领域的开源实践【内网穿透FRP】
FRP简介 FRP(Fast Reverse Proxy)作为一种高性能的内网穿透工具,支持 TCP.UDP.HTTP.HTTPS 等多种协议.可以将内网服务以安全.便捷的方式通过具有公网IP节点(云 ...
- 在Windows系统中解决端口占用问题
在Windows系统中,你可以通过以下步骤查询并结束占用8001端口的进程: 查询占用8001端口的进程: 打开命令提示符(CMD)或者PowerShell,并执行以下命令: netstat -a ...
- django 信号判断是新增、修改还是删除
在Django的信号处理器中,你可以使用一些方法来确定信号是关于新增(create).修改(update)还是删除(delete)的.这通常涉及到检查 created 和 instance 参数的值. ...
- wails实现腾讯元器bot
简单记录工具的一个模块 后端 Api调用 登录 腾讯元器 后创建智能体,按自己的需求来创建,发布后要等等审核. 等发布完成后点击调用api即可,这里可以看到user_id, assistant ...
- 二分专题总结 -ZHAOSANG
上一周训练了二分专题 可能是我之前自学的时候基础没有打牢,做的时候还是吃力的. 现总结遇到的一些二分题型和思路 二分+模拟(题目最多的) [https://ac.nowcoder.com/acm/co ...