简介

要建立云服务器,首先需要安装操作系统。在现代环境中,几乎所有情况下都是指 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,虽然相比之下,他们的方法显得更加混乱,但如果你使用几十个第三方软件包,这种方法在实际操作中会更加方便。

你也可以通过 HomebrewDocker 安装第三方软件,从而避免增加系统软件包管理器的复杂性。虽然"Docker 化"或容器化部署在磁盘使用和安装开销方面可能效率不高,这也是 Alpine Linux 需要考虑的地方,但它们可以跨发行版移植,而且不会对你的系统提出任何版本要求。不过,任何未被系统软件包管理器安装的软件包在默认情况下可能无法接收自动更新,这也是需要考虑的另一个问题。

总结

在本教程中,你回顾了为云计算选择 Linux 发行版时的一些最重要的考虑因素。现在,Docker 和其他容器引擎的广泛使用意味着,选择发行版对你能够运行的软件的影响已不像过去那么大了。不过,这仍然是影响软件获得支持方式的重要因素,也是您在为生产扩展基础架构时需要考虑的重要因素。

要进一步了解如何在不同的 Linux 发行版上使用系统软件包管理器,请参阅《软件包管理要点》

参考:How to Choose a Linux Distribution | DigitalOcean Tutorial

如何选择 Linux 发行版的更多相关文章

  1. 2016年如何选择 Linux 发行版

    不管是在企业级应用还是在消费者领域,2015 对于 Linux 来说都是极其重要的一年.作为一个从 2005 年就开始使用 Linux 的老用户,我有幸见证了 Linux 过去这 10 年里的重大发展 ...

  2. 常用的Linux发行版

    Linux发行版百花齐放 [内容摘要] 如今,众多的Linux发行版百花齐放,linux的阵营日益壮大,每一款发行版都拥有一大批用户,开发者自愿为相关项目投入精力.Linux发行版可谓是形形色色,它们 ...

  3. 关于Linux发行版的选择

    Linux发行版很多,分为以RedHat为代表的商业发行版和以Debian为代表的免费发行版.前者典型版本有CentOS.Fedora.SUSE等,后者的典型版本有Ubuntu等 CentOS.Ubu ...

  4. Linux发行版教你如何选 给入门者的选择通法

    Linux的发行版何止琳琅满目,简直是乱入你眼. 本篇将介绍选择发行版的经验和通用法则,主要会从PC角度去谈. 更新于2020年,初次发布于2017年 选择发行版需考虑哪些因素 选择发行版时需要考虑的 ...

  5. 我的Linux发行版选择

    Ubuntu CentOS Debian Fedora Slackware Mint Xubuntu Arch OpenSUSE Red Hat Slackel PureOS Mageia PCLin ...

  6. 1.9 初学者应选择哪个Linux发行版?

    前面章节中,已经对几个常见的 Linux 发行版做了简单的介绍,那么对于初学者来说,选择哪个发行版的性价比更高呢? 通常情况下,初学者学习 Linux,是为了找一份和 Linux 相关的工作,那么问题 ...

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

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

  8. 2016 最佳 Linux 发行版排行榜

    2015年,不管在企业市场还是个人消费市场都是 Linux非常重要的一年.作为一个自2005年起就开始使用 Linux的 Linuxer ,我门见证了 Linux在过去十年的成长.2016 Linux ...

  9. 构建自己的 Linux 发行版

    如何用 SUSE Studio 构建 Linux 发行版? (1) 进入到 www.susestudio.com,设立一个帐户 (2) 为你的设备(发行版)选择一个基本模板 -软件和软件包选择 (1) ...

  10. 2016年最佳Linux发行版排行榜

    2015年,不管在企业市场还是个人消费市场都是 Linux 非常重要的一年. 最好的回归发行版:openSUSE openSUSE 背后的 SUSE 公司是最老的 Linux 企业,它成立于 Linu ...

随机推荐

  1. 嵌入式HLS 案例开发手册——基于Zynq-7010/20工业开发板(2)

    目 录 2 led_flash 案例 19 2.1 HLS 工程说明 19 2.2 编译与仿真 20 2.3 IP 核测试 23 3 key_led_demo 案例 23 3.1 HLS 工程说明 2 ...

  2. 从零开始带你上手体验Sermant自定义插件开发

    本文分享自华为云社区<Sermant自定义插件开发上手体验>,作者:华为云开源. 一.研究缘由 由于目前我们所处的行业是汽车行业,项目上进行云服务的迁移时使用到了Sermant中的相关插件 ...

  3. 【ClickHouse】0:clickhouse学习3之时间日期函数

    官方文档: https://clickhouse.tech/docs/zh/sql-reference/functions/date-time-functions/ 常用的clickhouse时间函数 ...

  4. 一文搞懂到底什么是 AQS

    前言 日常开发中,我们经常使用锁或者其他同步器来控制并发,那么它们的基础框架是什么呢?如何实现的同步功能呢?本文将详细讲解构建锁和同步器的基础框架--AQS,并根据源码分析其原理. 一.什么是 AQS ...

  5. 面试官:Java线程可以无限创建吗?

    哈喽,大家好,我是世杰. 本次给大家介绍一下操作系统线程和Java的线程以及二者的关联 1. 面试连环call Java线程可以无限创建吗? Java线程和操作系统线程有什么关联? 操作系统为什么要区 ...

  6. ROS2开发BUG记录:在将 use_sim_timer 置为 true 时,节点的 Timer_Callback 行为“异常”

    问题: 在将 use_sim_timer 置为 true 时,节点 Timer_Callback 行为 "异常" .在回调函数中,使用 self.get_logger().info ...

  7. python adb 安卓app性能测试

    主要是进行cpu.内存.冷启动.热启动.流量.电量的监测 可获取到相关数据,同竞类产品对比,或者同版本对比 cpustatus adb命令:adb shell "dumpsys cpuinf ...

  8. Jmeter函数助手25-log

    log函数用于记录一条日志并返回其值. String to be logged (and returned):函数会返回该值.控制台也能看到该字符 Log level (default INFO) o ...

  9. 视觉测距和SLAM —— Visual Odometry / SLAM

    地址: https://www.cvlibs.net/datasets/kitti/eval_odometry.php

  10. 模具仿真软件FASTAMP —— 华中科技大学材料成形及模具技术国家重点实验室

    相关介绍: https://www.ruanfujia.com/software/9525/ FASTAMP 是由华中科技大学材料成形及模具技术国家重点实验室独立设计开发的,是专业的板料冲压成形快速分 ...