如何选择 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 ...
随机推荐
- vue+thinkphp5实现微信扫码支付(NATIVE支付)
前言 统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返回预支付订单号的接口,目前微信支付所有场景均使用这一接口.下面介绍的是其中NATIVE的支付实现流程与PC端实现扫码支付流 ...
- 单芯片国产ARM+FPGA,复旦微FMQL20SM工业核心板正式发布!
- power bi 如何删除敏感度标签
经验证,此方法不够彻底,我的office excel打开后还是要添加敏感度标签,即使我把敏感度标签删掉也不行. 当我把创建敏感度标签的管理员账户删掉之后,虽然打开excel还是会显示敏感度标签,但是已 ...
- vulnhub - NYX: 1
vulnhub - NYX: 1 描述 这是一个简单的盒子,非常基本的东西. 它是基于vmware的,我不知道它是否可以在VB上运行,如果你愿意的话可以测试一下. /home/$user/user.t ...
- 使用过 Vue SSR 吗?说说 SSR?
先说下基本概念: ssr 的全称是 server side render,服务端渲染,vue ssr 的意思就是在服务端进行 vue 的渲染,直接对前端返回带有数据,并且是渲染好的HTML页面: 而不 ...
- flutter 一直卡在Running Gradle task 'assembleDebug'...运行不起来
大概率只有一个原因:gradle下载不完整! 要想办法让他下载完整! 解决方法: 方法一:修改远程maven仓库地址(2024.7.9下列地址可用) repositories{ maven{ url' ...
- Java-JSP既可以指定定义HTML标签,又可以定义java代码
概念: Java Server Pages:java服务器端页面 可以理解为:一个特殊页面,其中既可以指定定义HTML标签,又可以定义java代码 用于简化书写 原理: JSP本质上就是一个Servl ...
- Docker开始收费了,开始转学podman【第一篇podman容器的安装和基本操作】
podman 什么是Podman?Podman是无守护程序容器引擎,用于在Linux系统上开发,管理和运行OCI容器.容器可以以root用户或无根模式运行.简而言之:`alias docker = p ...
- 使用Eclipse开发Vue——CodeMix够智能
使用Eclipse开发Vue--CodeMix够智能 Eclipse的CodeMix插件允许您访问 VS Code和Code OSS扩展社区,以及 Webclipse 1.x 功能. Vue.js是构 ...
- Django 通过自定义context_processors实现自定义tag
通过自定义context_processors实现自定义tag by:授客 QQ:1033553122 测试环境 Win7 Django 1.11 实践 步骤1 应用根目录下,新建自定义context ...