器→工具, 工具软件

桌面/服务器如何选择Linux发行版

钱魏Way · · 1,752 次浏览
!文章内容如有错误或排版问题,请提交反馈,非常感谢!

Linux为一般用户预先集成好的Linux操作系统及各种应用软件。一般用户不需要重新编译,在直接安装之后,只需要小幅度更改设置就可以使用,通常以软件包管理系统来进行应用软件的管理。Linux发行版通常包含了包括桌面环境、办公包、媒体播放器、数据库等应用软件。这些操作系统通常由Linux内核、以及来自GNU计划的大量的函数库,和基于X Window的图形界面。有些发行版考虑到容量大小而没有预装X Window,而使用更加轻量级的软件。现在有超过300个Linux发行版(Linux发行版列表)。大部分都正处于活跃的开发中,不断地改进。

由于大多数软件包是自由软件和开源软件,所以Linux发行版的形式多种多样——从功能齐全的桌面系统以及服务器系统到小型系统。除了一些定制软件(如安装和配置工具),发行版通常只是将特定的应用软件安装在一堆函数库和内核上,以满足特定用户的需求。

选择发行版时需要考虑的因素不少。选择常常没有完美,只有最适合。背景、面向用途、用户群、软件源、支持周期、更新激进度、质量、易用程度都是选择时要考虑的因素。

  • 背景:背景包括衍生关系与出身。一个Linux发行版出自某商业公司,或非商业社区。有些发行版衍生自另一个发行版,子发行版必然继承了许多上游的特性。
  • 用途:一个发行版被设计时,可能面向通用、娱乐、商业、教育、工作、服务器等几种用途之一,或某特殊用途。
  • 用户群:用户群的大小影响接地气的程度。Linux虽是自由软件,但离不开用户群的力量。大用户群会让你更容易搜索到某问题的答案,或找到社区用户所打包的软件。一些软件发布者也可能会优先发布适用于流行发行版的安装包。考虑用户群时,既要考虑世界范围内的用户群大小,也要考虑国内范围的。
  • 软件源:包括软件仓库收录软件的数量。如果仓库收录软件少,安装软件时就免不了上网搜索下载、编译、编译出错、解决依赖关系的麻烦。有静态编译、容器、AppImage、Flatpak、snap等技术让软件可跨发行版运行,部分填补Linux发行版间的鸿沟。
  • 周期:支持周期短会让你不得不频繁更新。支持周期太长代表软件仓库中的软件版本可能会过时。需要了解发行版的Major Release周期、Minor Release周期、延长支持周期。以Ubuntu为例,它半年发布一个新的系统版本,如04、16.10、17.04、17.10、18.04、18.10、19.04、19.10,每两年发布一个LTS(延长支持)版本,其中的16.04和18.04是LTS。非LTS的支持周期是9个月,LTS支持周期是5年。延长支持存在目的主要是为了服务器等不允许频繁更新的环境。升级系统的版本理论上只要一条命令,但实际上,升级也是一项小工程。
  • 新激进度:激进度是指仓库会收录位于测试、不稳定、稳定、非常稳定之中的哪个阶段的软件。前沿则不稳定、中庸两者兼顾、稳重则版本旧。用户需选择。
  • 质量:质量可以指运行出错概率、硬件兼容率、软件源维护质量等。质量也是上面各因素的综合。
  • 易用程度:”易用”在这里主要指开箱即用,省去新手自行调整的麻烦,也意味着默认安全水平较低。专业的用户可能不喜欢这点。不易用的可能连安装过程都是纯控制台形式。

勿以界面好看与否作为选择依据。发行版是内核和其余各种软件包的集合。桌面环境亦是由数个软件包组成。理论上,任何发行版都可以使用任何桌面环境,没有必要以界面选发行版。再者,贪图界面好看的人更难成为Linux高手。

主流发行版的简介

RedHat/CentOS/Fedora

RedHat是美国一家以开发、贩售Linux包并提供技术服务为业务内容的企业,其著名的产品为RedHat Enterprise Linux。RedHat在发行的时候,有两种方式:二进制的发行方式以及源代码的发行方式。无论是哪一种发行方式,你都可以免费获得,并再次发布。但如果你使用了他们的在线升级(包括补丁)或咨询服务,就必须要付费。

RedHat一直都提供源代码的发行方式,CentOS社区将RedHat的网站上的所有源代码下载下来,进行重新编译,形成一个可使用的二进制CentOS版本。由于LINUX的源代码是GNU,所以从获得RedHat的源代码到编译成新的二进制,都是合法。只是RedHat是商标,所以必须在新的发行版里将RedHat的商标去掉。

RedHat对这种发行版的态度是:”我们其实并不反对这种发行版,真正向我们付费的用户,他们重视的并不是系统本身,而是我们所提供的商业服务。”所以,CentOS可以得到RedHat的所有功能。但CentOS并不向用户提供商业支持,当然也不负上任何商业责任。

Redhat有两大Linux产品系列:

1、免费的Fedora Core系列

  • 主要用于桌面版本,提供了较多新特性的支持。更新频繁、不适合做服务器系统。
  • Fedora主要是RedHat作为新技术的测试平台,被认为可用的技术最终会加到RedHat Enterprise Linux中。
  • Fedora大约每六月发布一个新版本,支持周期1年,每3个Fedora版本后会有一个RedHat版本的出现。Fedora永远没有稳定版,更新激进。

2、收费的Enterprise系列,分成AS/ES/WS等分支。

  • RedHat Enterprise Linux AS (Advanced Server)。是企业Linux解决方案中最高端的产品,它专为企业的关应用和数据中心而设计。RedHat企业Linux AS是唯一支持IBM i系列,p系列和z系列/S-390系统的产品。在Intel X86平台上,RedHat企业Linux AS可以支持2个以上CPU和大于8GB的内存。典型的RedHat企业Linux AS应用环境如下:数据库和数据库应用软件,WEB和中间件,CRM,ERP,SCM
  • RedHat Enterprise Linux ES (Entry Server)。为Intel X86市场提供了一个从企业门户到企业中层应用的服务器操作系统。它支持1-2CPU和小于8GB内存的系统。它提供了与RedHat企业Linux AS同样的性能,区别仅在于它支持更小的系统和更低的成本。典型的RedHat企业Linux ES应用环境如下:公司WEB架构、网络边缘应用(DHCP, DNS, 防火墙等)、邮件和文件/打印服务、中小规模数据库和部门应用软件。
  • RedHat Enterprise Linux WS (Workstation)。是RedHat企业Linux AS和ES的桌面/客户端合作伙伴。RedHat企业Linux WS支持1-2CPU的intel和AMD系统,是桌面应用的最佳环境。它包含各种常用的桌面应用软件(Office工具,邮件,即时信息,浏览器等),可以运行各种客户–服务器配置工具,软件开发工具和各种应用软件(例如EDA和Oil/Gas应用软件)。RedHat企业Linux Ws和服务器产品由同样的源代码编译而成,但它不提供网络服务功能(如DNS和DHCP),它只适合作客户端应用。

CentOS 是基于 Red Hat Enterprise Linux AS 的源代码进行编译的。选用 CentOS 还是 Red Hat,取决于你所在公司是否拥有相应的技术力量及公司的资金水平。CentOS 和 RHEL 一样生命周期均为 10 年,即一个版本会被维护 10 年。

SUSE Linux Enterprise(SLE)/openSUSE

SUSE Linux 以 Slackware Linux 为基础,原来是德国的 SUSE Linux AG 公司发布的 Linux 版本,1994 年发行了第一版,早期只有商业版本,2004 年被 Novell 公司收购后,成立了 OpenSUSE 社区,推出了自己的社区版本 OpenSUSE。

openSUSE 主要面向开发人员和系统管理员,以此对安全协议非常严格。有两个主要版本:

  • Leap:使用 SUSE Linux Enterprise 的源代码,这使其更加稳定,每个 Major Release 的支持周期 3 年,每 18 个月内更新一次 Minor Release。适合商业应用。
  • Tumbleweed:基于 Factory、OpenSUSE 主要开发代码库,遵循滚动发布模型。这意味着 Tumbleweed 包含最新的应用程序。适合日常使用。

openSUSE 仓库收录软件很谨慎以致软件数量稍偏少,自由软件与非自由软件是在分开的软件源中,版权有争议的软件包被放在 packman 源中与公司脱离干系。用 openSUSE 需要使用三类软件源:官方源、packman 源、OBS 源。

Debian GNU/Linux

Debian 作为最早的 Linux 发行版之一,在创建之初便被定位为在 GNU 计划的精神指导下进行公开开发并自由发布的项目。是完全由自由软件组成的类 UNIX 操作系统,其包含的多数软件使用 GNU 通用公共许可协议授权,并由 Debian 计划的参与者组成团队对其进行打包、开发与维护。

Debian 以其坚守 Unix 和自由软件的精神,以及其给予用户的众多选择而闻名。现时 Debian 提供了超过 25,000 个软件,超过 50,000 个软件包,并正式支持 10 个计算机系统结构。

Debian 非常适合追求性能和稳定的个人用户使用,虽然 ubuntu 是基于 Debian 进行的二次开发,但是并不代表 Ubuntu 会比 Debian 更好。Debian 更多追求的是稳定,可能 Debian 的内核版本要比 Ubuntu 低一些,但是服务器的稳定,有时候牺牲最新特性来保持服务器的稳定还是值得推荐的。Debian 主要分三个版本:稳定版本(stable)、测试版本(testing)、不稳定版本(unstable)。

Debian 大概每两年发布一个新的版本,而每个版本的生命周期大概为 3 年,即新版本发布后还会对老版本维护一年。

Debian 是纯社区的,没有商业成分,与自由软件有冲突的软件包不会被官方源收录。安装完 Debian 后,默认不会带有任何闭源软件或版权有争议的东西。默认不包含任何专有驱动;要安装 Flash、媒体解码器等要自行增加几个步骤。

纯社区的 Debian 被许多特定用途的发行版选为上游。如开源硬件树莓派的 Raspbian、黑客参透测试专用的 Kali Linux 和 Parrot、为隐私和匿名而生的 Tails 等。

深度(Deepin)Linux

深度操作系统,亦称为 deepin。它是基于 Debian 的稳定版本的一个 Linux 发行版。因其美观和易用性而广受赞誉。deepin 继承了来自 Debian stable 的所有软件包,并为自己的软件库提供了流行的软件。此外,Deepin 系统中预装了中国大陆用户常用的 WPS Office、搜狗输入法、有道词典、网易云音乐以及其它一些专为 Deepin 开发的应用。深之度公司是 CodeWeavers 公司的战略合作伙伴。CodeWeavers 的 CrossOver 的一个版本与 Deepin 捆绑,现在 deepin 的 CrossOver 授权已经到期,但是 deepin 又自主开发了基于 wine 的 Deepin-wine,因此 deepin 仍可以较好的运行一些 Windows 上的软件,如腾讯 QQ。

Ubuntu

Ubuntu 是以桌面应用为主的 Linux 发行版,Ubuntu 由 Canonical 公司发布,他们提供商业支持。Canonical 通过销售与 Ubuntu 相关的技术支持和其他服务来产生收益。

Ubuntu 基于 Debian 发行版和 GNOME 桌面环境,与 Debian 的不同在于它每 6 个月会发布一个新版本(即每年的四月与十月),每 2 年发布一个 LTS 长期支持版本。普通的桌面版可以获得发布后 18 个月内的支持,标为 LTS(长期支持)的桌面版可以获得 5 年的技术支持。因为 Ubuntu 基于 Debian 的不稳定分支(unstable),更容易遇到和弹出内部错误。

Ubuntu 是著名的 Linux 发行版之一,它也是目前最多用户的 Linux 版本。目前具有庞大的社区力量支持,用户可以方便地从社区获得帮助。

派生系统:

  • Linux Mint,使用 Cinnamon 桌面系统的 Ubuntu 派生版。
  • Elementary OS:基于 Ubuntu,图形界面酷似 Mac OS X。
  • Zorin OS: 基于 Ubuntu 的 Linux 发行,特别为 Linux 新手而设计。它拥有类似 Windows 的图形用户界面,以及很多类似 Windows 下的应用软件。Zorin OS 还带有能让用户运行很多 Windows 软件的程序。该发行的终极目标是提供一份可作为 Windows 替换的 Linux 选择,并让 Windows 用户在避免烦琐的同时享受 Linux 的所有特性。
  • Pop!_OS:基于 Ubuntu 的 Linux 发行,其特色是定制的 GNOME 桌面。Pop!_OS 被设计为让桌面不那么乱七八糟,从而让用户专注于工作而不至于分心。该发行由 Linux 计算机零售商 System76 开发。
  • KDE neon: 基于 Ubuntu 的 Linux 发行,其特色是最新的 KDE Plasma 桌面及其他 KDE 社区软件。该项目还提供一份更新迅速的软件仓库,其中包含所有最新的 KDE 软件。该发行提供两种样式。一种是用户样式,用于在最新的 KDE 软件发布时让感兴趣者进行体验。另一种是开发者样式,它被创建为一份用于测试最新 KDE 应用的平台。

Gentoo

Gentoo 可以说是目前定制性最强的 Linux 系统了,主要原因是从内核开始都需要你自己去编译,Gentoo 使用源码来做包管理,其实不仅仅是控制装多少包,你还能控制编译选项,使得所获得的程序更加是你所期望的。在相同硬件环境下运行最快的版本。此操作系统特别适合 Geek 使用,但是更多的人不太喜欢自己去做编译这事。Gentoo 针对超级发烧友用户,Level 不达标的不要随便折腾。

Arch Linux/Manjaro

Arch Linux 也是很高定制性的 linux 发行版,它与 Gentoo 不同的是,它是基于二进制包的发行版,Arch 采用滚动升级策略,这就允许一次安装持续升级,完全不需要重新安装或者解决系统版本升级带来的种种复杂问题。通过输入一行命令,Arch 系统就可以保持最新。Arch 刚安装后只提供了一个最基本的系统,可以让用户按照自己的喜好,通过仅仅安装自己需要的软件来配置自己的理想的环境。官方没有提供图形界面配置工具,大多数系统配置需要通过从命令行编辑简单的文本文件来配置。

Arch Linux 并不是一个面向普通用户的操作系统,其面向的用户群主要是那些愿意折腾的用户。Arch Linux 在名气和使用量并不大,主要是其本身的开发策略并不是为了让更多的人使用(开发团队只是为了开发一款更好的系统)。社区认为自然增长好过强迫成长带来的诸多问题。

Arch Linux 的核心特点:

  • 简洁
    • 系统是个空架子,系统没有自带任何常用软件,所有的软件都要自己后期安装。
    • 仓库里的然间,基本上和上有保持一致,不去做 UI 定制、功能拓展等,原来什么样就是什么样。
    • 不支持图形化的配置界面,通过修改配置文件去配置内容。
  • 前卫
    • 支持滚动更新,一个命令就可以将系统和软件升级到最新。
  • 务实
    • 没有“宗教”信仰,只要是使用的工具都会收入到仓库,即使是一些闭源的软件。
  • 客制化
    • 面向哪些乐于自己动手、愿意看文档解决自己问题的用户。以“用户为中心(自治)”取代“对用户友好”
  • 取舍
    • 只支持 x64_x64 架构,把主要开发经理集中于一点。

基于以上特点,造成了 Arch Linux 不适合以下用户:

  • 不愿自己折腾,(没有愿望、能力和时间去打理系统的用户),期望开箱即用的用户
  • 对于系统的稳定性要求非常高,对于系统的稳定大于新功能的用户

Manjaro Linux(或简称 Manjaro)是基于 Arch Linux 的 Linux 发行版,使用 Xfce、GNOME 和 KDE Plasma 作为默认桌面环境,和 Arch 一样,采用滚动更新。其目标是为 PC 提供易于使用的自由的操作系统。Manjaro Linux 基于 Arch Linux,但拥有自己独立的软件仓库。Manjaro 的目标是让强大的 Arch 更方便用户使用,Manjaro 使用著名的 Pacman 且可以直接利用 AUR 上的资源。Manjaro 本身使用三个软件仓库:不稳定库,即含有那些不成熟的 Arch 包,这些包与 Arch 源有 1-2 天的延后;测试库,每周同步一次,包含那些 Arch 不稳定源的包;以及稳定库,包含那些由开发团队确认稳定的软件。

FreeBSD/OpenBSD/NetBSD

在免费的 BSD 中,FreeBSD 是名声最大的。不得不说的是,苹果公司的 Mac OS X 和 iOS 也是基于 FreeBSD 创建的。FreeBSD 的中文参考资料也是最多的。三者的区别为 FreeBSD 注重性能、OpenBSD 注重安全。NetBSD 注重可移植性。

FreeBSD,需要强调的是:FreeBSD 并不是一个 Linux 系统!但 FreeBSD 与 Linux 的用户群有相当一部分是重合的,二者支持的硬件环境也比较一致,所采用的软件也比较类似,所以可以将 FreeBSD 视为一个 Linux 版本来比较。FreeBSD 拥有两个分支:stable 和 current。顾名思义,stable 是稳定版,而 current 则是添加了新技术的测试版。FreeBSD 采用 Ports 包管理系统,与 Gentoo 类似,基于源代码分发,必须在本地机器编后后才能运行,但是 Ports 系统没有 Portage 系统使用简便,使用起来稍微复杂一些。FreeBSD 的最大特点就是稳定和高效,是作为服务器操作系统的最佳选择,但对硬件的支持没有 Linux 完备,所以并不适合作为桌面系统。

OpenBSD被称为世界上最安全的操作系统。OpenBSD 的主页报告说 OpenBSD“在默认安装情况下在过去的所有日子里只有两个安全漏洞”,它的意思是说(其实任何人都知道)在过去的四年内发布的 OpenBSD 版本没有一个被来自 Internet 的袭击攻破。

NetBSD也是免费 BSD 的一种,它是基于 BSD 的最轻便的操作系统。目前能够在 46 种之多的不同硬件构架上运行。这种便携性使得 NetBSD 成为嵌入式系统(在其它设备中运行的,看不见的计算机)的最佳选择。

个人桌面操作系统选择

系统推荐:

  • Linux 初级用户:Deepin
  • Linux 中阶用户:Manjaro
  • Linux 高阶用户:都高阶了还要推荐?根据自己的需求自由选择
  • 机器学习算法开发:Ubuntu(显卡驱动支持最佳)

目前我使用的是Manjaro+Deepin 桌面环境

服务器操作系统选择

CentOS 和 Ubuntu Server 是目前云服务器上用户使用最多的操作系统。如何选择两款服务器对于有强迫症的用户真的是非常的难。

主要区别:

  • CentOS 基于商业版的 RedHat 源码构建,Ubuntu 基于社区版的 Debian 构建
  • CentOS 使用 yum 包管理器,Ubuntu 使用 apt-get 包管理器
  • Ubuntu 相比 CentOS 更新更快,并且使用的包也更新
  • Ubuntu 提供相对更多的文档,而 CentOS 有更好的商业支持服务

个人观点:

  • CentOS 相对保守,导致其服务相对更加稳定,适合大型公司线上的服务环境
  • Ubuntu Server 的包相对较新,特别适合尝新或者探索性的个人或小型企业
  • Ubuntu 对显卡的支持相对较好,对于要使用机器学习类的服务器推荐使用 Ubuntu Server

目前个我使用的是:Ubuntu Server 20.04 LTS(先前使用的是 CentOS 7)

Docker 操作系统选择

Docker 宿主操作系统

作为宿主,最好选择为 Docker 容器设计的 Linux 发发行版:

  • 相当小→你只需要一个最小的操作系统
  • 最小化工具开销
  • 原子更新
  • 自动运行 Docker 后台程序
  • root 文件系统只读
  • 原子更新回滚(双分区更新方案)
  • 提高了稳定性和安全性

常见系统:

Container Linux by CoreOS

Container Linux(曾叫作 CoreOS)是一个基于 Linux 内核的轻量级操作系统,为了计算机集群的基础设施建设而生,专注于自动化、轻松部署、安全、可靠及可扩缩性。作为一个操作系统,CoreOS 提供了在应用容器内部署应用所需要的基础功能环境以及一系列用于服务发现和配置共享的内建工具。

2020 年 5 月 26 日,CoreOS Container Linux 达到其寿命的终结,不再接收更新。Fedora CoreOS 是其正式继任者。

RedHat Project Atomic

RedHat 对 Linux 操作系统进行了瘦身,为的是可以创建一种杂糅的技术,来融合 VMware,微软和 Citrix 等支持的传统虚拟方法。RedHat 将这项名为的新计划描述为“基于 Linux 生态系统中的下一代功能开发用于创建轻量级 Linux 容器主机的技术的新社区项目。”这意味着创建一个名为 RedHat Linux Enterprise Atomic Host 的全新 RHEL 变体。从本质上讲,Project Atomic 将以与 Fedora 项目的 Fedora Linux 对 RHEL 本身相同的方式与 Atomic Host 相同。

CentOS Atomic 主机是一个专为执行 Docker 容器而设的轻量操作系统,它创建自标准的 CentOS 7 组件,并追随 RedHat 企业级 Linux Atomic 主机的组件版本。

Fedora CoreOS

2018 年年初,RedHat 收购 CoreOS,并于当年 6 月宣布推出 Fedora CoreOS,成为 CoreOS 新的上游发行版。Fedora CoreOS 是一个专门为安全和大规模运行容器化工作负载而构建的新 Fedora 版本,它是 Fedora Atomic Host 和 CoreOS Container Linux 的后续项目。

Fedora CoreOS 是一个自动更新的,最小的,整体的,以容器为中心的操作系统,不仅适用于集群,而且可独立运行,并针对运行 Kubernetes 进行了优化。它旨在结合 CoreOS Container Linux 和 Fedora Atomic Host 的优点,将 Container Linux 中的 Ignition 与 rpm-ostree 和 Project Atomic 中的 SELinux 强化等技术相集成。其目标是提供最佳的容器主机,以安全,大规模地运行容器化的工作负载。

Snappy Ubuntu Core

Snappy 是一个软件部署和软件包管理系统,最早由 Canonical 公司为了 Ubuntu 移动电话操作系统而设计和构建。其包称为“snap”,工具名为“snapd”,可在多种 Linux 发行版上运行,完成发行上游主导的软件部署。该系统的设计面向手机、云、物联网和台式机。

RancherOS

RancherOS 是 Rancher Labs 的一个开源项目,旨在提供一种在生产环境中大规模运行 Docker 的最小最简单的方式。它只包含运行 Docker 必须的软件,其二进制下载包只有大约 20MB。在 RancherOS 中,一切都是由 Docker 管理的容器。RancherOS 会启动两个 Docker 实例。一个称为系统 Docker,是内核启动的第一个进程,即 PID1。它取代了其它 Linux 发行版本中的初始化系统,如 sysvinit 或 system,负责初始化系统服务,如 udev、DHCP 和控制台,并将所有系统服务作为 Docker 容器进行管理。系统 Docker 会创建一个特殊的系统服务容器,即用户 Docker,主要负责创建容器。所有的用户容器都运行在用户 Docker 容器中,因此删除所有的用户容器并不会影响运行 RancherOS 服务的系统容器。

VMware PhotonVMware Photon OS是VMware公司制作的Container Host系统,由于Photon OS可以直接部署在vSphere平台上,使得系统可以去除大量不必要的硬件驱动,让系统变得十分精简高效。

Mesosphere DCOS

DCOS(数据中心操作系统)即是Mesos的“核心”与其周边的服务及功能组件所组成的一个生态系统。

其他系统:SmartOS、ResinOS、MicroOS、ClearLinux、NanoServer

由于自己对容器化内容不太熟悉,通常直接在Ubuntu Server上直接使用,具体还未使用过上述系统,这里不做推荐。

Docker基础镜像系统

比如你要从Linux操作系统基础镜像开始构建,可以参考下表来选择合适的基础镜像:

镜像名称 大小 使用场景
busybox 1.15MB 临时测试用
alpine 4.41MB 主要用于测试,也可用于生产环境
centos 200MB 主要用于生产环境,支持CentOS/RedHat,常用于追求稳定性的企业应用
ubuntu 81.1MB 主要用于生产环境,常用于人工智能计算和企业应用
debian 101MB 主要用于生产环境

BusyBox

BusyBox是一个集成了一百多个最常用Linux命令和工具(如cat、echo、grep、mount、telnet等)的精简工具箱,它只有几MB的大小,很方便进行各种快速验证,被誉为“Linux系统的瑞士军刀”。BusyBox可运行于多款POSIX环境的操作系统中,如Linux(包括Android)、Hurd、FreeBSD等。

busybox镜像虽然小巧,但包括了大量常见的Linux命令,可以用它快速熟悉Linux命令。

alpine

Alpine操作系统是一个面向安全的轻型Linux发行版。它不同于通常的Linux发行版,Alpine采用了musl libc和BusyBox以减小系统的体积和运行时资源消耗,但功能上比BusyBox又完善得多。在保持瘦身的同时,Alpine还提供了自己的包管理工具apk,可以通过https://pkgs.alpinelinux.org/packages查询包信息,也可以通过apk命令直接查询和安装各种软件。Alpine Docker镜像也继承了Alpine Linux发行版的这些优势。相比于其他Docker镜像,它的容量非常小,仅仅只有5MB左右(Ubuntu系列镜像接近200MB),且拥有非常友好的包管理机制。官方镜像来自docker-alpine项目。目前Docker官方已开始推荐使用Alpine替代之前的Ubuntu作为基础镜像环境。这样会带来多个好处,包括镜像下载速度加快,镜像安全性提高,主机之间的切换更方便,占用更少磁盘空间等。目前,大部分Docker官方镜像都已经支持Alpine作为基础镜像,因此可以很容易地进行迁移。

参考链接:

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注