更新时间:2025 09 18 03:07:03 作者 :庆美网 围观 : 106次
各位老铁们好,相信很多人对LINUXDISTRIBUTION、linuxdistribution都不是特别的了解,因此呢,今天就来为大家分享下关于LINUXDISTRIBUTION、linuxdistribution以及的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!
### Linux 内核与发行版的关系
* **Linux 内核 (Kernel)**:由Linus Torvalds创建并持续开发的软件,是操作系统的核心。它负责管理硬件资源(CPU、内存、硬盘、设备驱动等)、进程调度、文件系统、网络通信等底层功能。**单独的Linux内核是无法直接使用的**,它只是操作系统的“引擎”,没有用户界面、没有应用程序,也不能直接进行日常操作。
* **Linux 发行版 (Distribution)**:为了让用户能够使用Linux,就需要在内核之上集成各种工具和应用程序。一个Linux发行版通常包括:
* **Linux 内核**
* **GNU 工具集**:如Bash Shell、GCC编译器、Coreutils(`ls`, `cp`, `mv`等基本命令)
* **桌面环境 (Desktop Environment, DE)**:如GNOME、KDE Plasma、XFCE、MATE、Cinnamon等,提供图形用户界面。
* **包管理系统 (Package Management System)**:这是发行版的核心差异之一,用于安装、更新、卸载软件,如Debian系的APT/DPKG、Red Hat系的RPM/YUM/DNF、Arch系的Pacman。
* **预装应用程序**:如Web浏览器(Firefox)、办公套件(LibreOffice)、媒体播放器、图像编辑器等。
* **初始化系统 (Init System)**:如systemd、SysVinit,负责系统启动时的进程管理。
* **引导加载程序 (Bootloader)**:如GRUB,负责启动操作系统。
* **文档、安装程序和系统配置工具**。
简单来说,**Linux内核是骨架,而发行版则是在这个骨架上填充血肉、皮肤、衣服和各种器官,使其成为一个完整的、可用的“人”**。
### 为什么会有这么多 Linux 发行版?
Linux发行版的数量非常庞大,这反映了Linux的开放性、灵活性和社区的活跃度。存在众多发行版的原因主要包括:
1. **目标用户群体的差异:**
* **桌面用户:** 注重易用性、美观、多媒体支持。
* **服务器用户:** 注重稳定性、安全性、性能、远程管理能力。
* **开发者:** 注重最新的开发工具、库支持。
* **特定用途:** 如安全审计(Kali Linux)、嵌入式设备、教育、复古硬件支持等。
2. **技术选择的差异:**
* **包管理系统:** 这是最显著的区别,决定了软件安装和更新的方式。
* **默认桌面环境:** 影响用户体验和系统资源占用。
* **初始化系统:** systemd是主流,但仍有坚持其他系统的发行版。
* **内核版本选择:** 倾向于稳定旧版还是激进新版。
3. **发行哲学和发布周期的差异:**
* **稳定性优先 vs. 最新技术优先:** 有些发行版追求极致稳定,发布周期长(如Debian Stable、RHEL);有些则追求最新软件和技术,发布周期短甚至采用滚动更新(如Fedora、Arch Linux)。
* **社区驱动 vs. 商业支持:** 纯粹由社区志愿者维护(如Debian),或由公司主导开发并提供商业支持(如Ubuntu、RHEL)。
4. **易用性与定制程度的权衡:**
* 有些发行版旨在开箱即用,提供高度预配置的系统(如Ubuntu、Linux Mint)。
* 有些则提供最小化系统,用户需要自己从头定制(如Arch Linux、Gentoo)。
### 主要的 Linux 发行版家族和特点
Linux发行版虽然多,但它们通常可以归类为几个主要家族,因为它们共享相同的包管理系统和一些核心工具:
#### 1. Debian 系
* **特点:** 以其极高的稳定性、庞大的软件仓库(APT包管理系统)和强大的社区支持而闻名。
* **Debian:**
* **特点:** 历史悠久,是许多其他发行版的“上游”或“基石”。分为“稳定版(Stable)”、“测试版(Testing)”和“不稳定版(Unstable/Sid)”,追求极致的稳定性,发布周期长(通常2-3年)。适合服务器和追求稳定的用户。
* **包管理:** `dpkg` (底层) / `apt` (前端)
* **Ubuntu:**
* **特点:** 基于Debian Unstable开发,但有独立的发布周期(每6个月一个版本,LTS长期支持版每2年一个版本)。由Canonical公司提供商业支持,是目前桌面领域最受欢迎的发行版之一。注重用户体验,提供多种官方衍生版(如Kubuntu、Xubuntu、Lubuntu、Ubuntu MATE等,区别在于默认桌面环境)。
* **包管理:** `dpkg` / `apt`
* **Linux Mint:**
* **特点:** 基于Ubuntu或Debian,旨在提供更易用、更“开箱即用”的桌面体验。预装了许多常用多媒体编解码器和插件,并提供了自己的桌面环境(Cinnamon、MATE、XFCE)。特别受Windows用户欢迎。
* **包管理:** `dpkg` / `apt`
#### 2. Red Hat 系
* **特点:** 以RPM包管理系统为核心,在企业级服务器市场占据主导地位。
* **Red Hat Enterprise Linux (RHEL):**
* **特点:** 红帽公司开发的商业发行版,提供专业技术支持和长期更新,极其稳定可靠。是企业级服务器和云计算环境的首选。
* **包管理:** `rpm` (底层) / `yum` 或 `dnf` (前端)
* **Fedora:**
* **特点:** 由红帽公司赞助和社区维护,是RHEL的“上游”项目,用于测试和集成最新的技术和软件。发布周期短(约6个月),功能更新快,适合开发者和追求最新技术的用户。
* **包管理:** `rpm` / `dnf`
* **CentOS Stream:**
* **特点:** 原CentOS Linux是RHEL的社区免费复刻版,但已转型为CentOS Stream,它介于Fedora和RHEL之间,是RHEL的“滚动预览版”。它代表了RHEL下一个小版本的开发方向,适合希望提前体验RHEL新特性或为RHEL开发的企业用户。
* **包管理:** `rpm` / `dnf`
#### 3. Arch Linux 系
* **特点:** 强调“极简主义”、“KISS原则(Keep It Simple, Stupid)”和“用户控制”。
* **Arch Linux:**
* **特点:** 滚动发布(Rolling Release),即一次安装,永久更新,无需大版本升级。不预装桌面环境,用户需要手动配置所有组件,高度可定制。适合有一定Linux经验、喜欢自己动手、追求最新软件和极致控制的用户。拥有非常强大的官方Wiki文档。
* **包管理:** `pacman`
* **Manjaro Linux:**
* **特点:** 基于Arch Linux,但提供了更友好的安装程序、预配置的桌面环境和GUI工具,并对更新进行了额外的测试,提高了稳定性。适合想体验Arch的滚动更新和定制性但又觉得Arch安装配置太复杂的入门用户。
* **包管理:** `pacman` (使用Arch的软件仓库)
#### 4. openSUSE / SUSE 系
* **特点:** 欧洲知名的发行版,以其强大的系统配置工具YaST和独特的发行模式闻名。
* **openSUSE:**
* **特点:** 社区驱动。有两个主要版本:**Leap** (基于SUSE Linux Enterprise代码的稳定版本,发布周期固定) 和 **Tumble** (纯粹的滚动发布版本,提供最新的软件和技术)。YaST是其亮点,提供强大的图形化系统配置工具。
* **包管理:** `rpm` / `zypper`
* **SUSE Linux Enterprise (SLE):**
* **特点:** 由SUSE公司提供的商业发行版,类似于RHEL,面向企业级用户,提供长期支持和专业服务。
#### 5. 其他值得提及的发行版
* **Gentoo Linux:**
* **特点:** 源代码发行版,用户几乎所有软件都需要从源代码编译安装。提供了极致的灵活性和优化空间,但安装和维护难度极高。适合对系统性能和定制有极限追求的用户。
* **包管理:** `Portage`
* **Alpine Linux:**
* **特点:** 超小型、安全导向的发行版,基于musl libc和BusyBox。体积小巧,内存占用低,启动速度快。常用于容器(如Docker)、嵌入式系统和路由器等。
* **Kali Linux:**
* **特点:** 基于Debian,专注于渗透测试和网络安全审计。预装了大量专业的安全工具。
* **Elementary OS:**
* **特点:** 基于Ubuntu,拥有独特且美观的Pantheon桌面环境,界面设计类似macOS,注重用户体验和设计美学。
* **Pop!_OS:**
* **特点:** 由硬件厂商System76开发的基于Ubuntu的发行版,预装了对NVIDIA显卡驱动的良好支持,并针对开发者和游戏玩家进行优化。
### 如何选择合适的 Linux 发行版?
选择Linux发行版主要考虑以下几点:
1. **你的经验水平:** 初学者建议选择Ubuntu、Linux Mint、Manjaro等开箱即用且社区支持完善的发行版。
2. **你的用途:**
* **桌面日常使用:** Ubuntu、Linux Mint、Pop!_OS、Manjaro、openSUSE Leap。
* **服务器:** Debian Stable、Ubuntu LTS、RHEL/CentOS Stream、SUSE Linux Enterprise。
* **开发:** Fedora、Ubuntu、Arch Linux、openSUSE Tumble。
* **学习和探索:** Arch Linux、Gentoo(如果你有足够的耐心和时间)。
* **特定需求:** Kali (安全), Alpine (容器/嵌入式)。
3. **对稳定性与新颖性的偏好:** 喜欢稳定可靠就选LTS版本或固定发布周期,喜欢最新技术就选滚动发布。
4. **硬件兼容性:** 虽然大部分发行版对硬件支持都很好,但某些特定硬件(如较新的显卡)可能在某些发行版上得到更好的驱动支持或优化。
5. **社区支持和文档:** 活跃的社区和丰富的文档能帮助你更快地解决问题。
### 总结
Linux发行版的多样性是其强大生命力的体现。这种百花齐放的局面使得Linux能够适应各种不同的应用场景和用户需求,从个人桌面到全球的服务器集群,从最小的物联网设备到最强大的超级计算机,无处不在。了解这些发行版的特性和差异,有助于你选择最适合自己的Linux系统,充分发挥其潜力。
上一篇在 Linux 介绍中曾提到,我们通常所指的 Linux 系统指的是 Linux 内核及其捆绑了 GNU 系统 组件的工具、应用和服务的操作系统。虽然 Linux 系统多用于服务器、嵌入式设备和其他大型平台;但是在桌面端,Linux 也可以根据一般使用者的需求预先整合好 Linux 内核和包含了硬件驱动、软件包管理系统、桌面环境、媒体播放器、办公套件等各种应用软件,把它们打包成供个人计算机使用的桌面发行版 ;它的优点是只需要小幅度更改设定就可以使用,一般使用者不需要重新编译,有些整合得非常好的桌面发行版甚至可以达到「开箱即用」的效果。
由于 Linux 是一款基于 GNU 通用公共许可证(GPL) 发布的操作系统。很多发行版可以基于同一个许可证的情况下修改其他发行版的代码进行重新分发,这便造成了 Linux 发行版的百花齐放和百家争鸣。根据 DistroWatch 的统计,现存的 Linux 发行版本有 600 多种。那么这么多的发行版应该怎么分类呢?
DistroWatch 上不甚枚举的发行版
从技术角度来看,Linux 发行版的最大的不同之处在于软件包的管理机制。
同时根据维护主体的不同,又可分为两类,一类是商业公司维护的发行版本,一类是社区组织维护的发行版本,前者以著名的 Red Hat、Canonical 公司为首,后者以 Debian、Arch Linux 为代表。
在 Linux 桌面发行版中,有三种软件包管理器最为主流,它们被分别用在不同的系统分支上:
不同于 Windows 和 macOS,除了类似 Ubuntu 和 Red Hat Enterprise Linux 这样完全由公司作为主体来维护的商业发行版;也有像 Debian 和 Arch Linux 这样完全由社区作为主体来开发、维护、支持的发行版。
当然也有像 CentOS 和 Fedora 这种以社区作为主体进行维护,公司提供支持的发行版。笔者在此不向个人新手用户进行推荐:因为此类的发行版在新版本中会加入众多未验证的新功能,一旦验证成功便会有选择性地加入其商业发行版的下一个版本。简单来说,它们是把个人用户当作小白鼠来进行测试和修复新功能的沙盒。
在 GNU/Linux Distribution Timeline 上有一张图整理了整个 Linux 发行版进化编年史:
发行版进化史
可能读完上文的新手朋友不禁有个疑问:既然社区提供支持的发行版即自由又能定制化,那么作为普通个人用户为何不推荐直接使用 Debian 或 Arch Linux 这两个在编年图上的「根级」桌面发行版?
Debian 这个伟大的项目遵循 GNU 规范,100% 免费,几乎兼容所有计算平台,拥有优秀的社区资源和强大的软件包管理,的确做到了「一个完全自由的通用操作系统」。但是由于其恪守的「纯净」准则,在默认情况下只安装自由软件,安装程序甚至没有提供专有固件的内核;如果你需要非自由软件,就需要为每个软件库添加 Nonfree 和 Contrib 这两个部分。虽然其稳定版的安全性可以说固若金汤,然而其以三年为更新周期,故对新上市硬件支持较差,而且安装完成后配置也会略微麻烦,故不推荐新用户直接上手。
众多系统的「老祖宗」
Arch Linux 以「KISS 原则」(保持简单和愚蠢)为总体指导,因其采用了滚动发行(即没有所谓的大版本更新,每次常规更新都会将系统和软件保持在最新状态)的激进策略,使得 Arch Linux 在个人计算机上总能部署最新的软件包。但是,滚动升级会带来一些「滚坏系统」的潜在风险。而且 Arch Linux 因为期待用户愿意去理解系统的运作,所以只提供命令行安装的模式。虽然其维基文档极尽详实,而且非常友好的用户社区素来有「邪教」的美誉;但对新手来说实在太难以入门。
纯命令行安装模式
除了社区发行版,由 Canonical 公司基于 Debian 开发并主导的 Ubuntu 虽然默认提供开源软件和商业软件,而且提供专有驱动程序,新手可以很方便快速地安装,然而其程序包脱胎于 Debian 的测试版或不稳定版。Ubuntu 从12.10 版本开始,为桌面搜索框加入了在线搜索功能:在户键入检索词汇时,搜索词会提交到的 Canonical 服务器并交给 Amazon 分析,向用户提供和关键词相关的商品推荐。其创始人 Mark Shuttleworth 在管理委员会中占有永久性席位,还拥有决定权。Mark 及其 Canonical 代表对于社区通常拥有否决权,这在过去好几次引起了用户反抗。
面对单一公司维护,而且垄断社区参与的发行版;尽管开源,它的开发方向最终还是要服从公司利益,我们还是小心为上。
如果你确定非常清楚自己的需求,可以访问这个帮助你轻松找到适合自己的 Linux 桌面发行版的网站:Distrochooser
它会根据你的需求向你询问一系列问题并建议出几个合适你的 Linux 桌面发行版:
Distrochooser 的 16 道问题
确认了你想使用的桌面发行版之后,为了节省下载安装镜像和日后更新的时间,建议可以先到类似 清华大学开源软件镜像站 的 国内开源镜像站 查看一下有没有该 Linux 桌面发行版。
它不仅可以减少你从国外官网下载资源的时间,除了开源的操作系统和应用软件,其实还有很多比如字体之类的资源也会提供下载。
华为开源镜像站内的操作系统镜像
在很多开源镜像站的系统镜像包里会有 kde、xfce 的后缀,新手一定会纳闷这些后缀的含义。其实它们指的是这个发行版的默认桌面环境:Linux 中的桌面环境也是一个程序,它和内核不是绑定的,两者的开发也不同步;通常桌面发行版会给不带界面的 Linux 系统打包上一个默认的桌面环境来方便用户进行图形界面的操控。当然,如果你喜欢折腾,也可以将其更换成其它桌面环境。
在清华大学开源镜像站中所有不同默认桌面环境的 Manjaro Linux 版本
在 Linux 桌面发行版中,最主流三大的桌面环境为 GNOME、KDE 和 Xfce,笔者在此推荐 KDE 和 Xfce 这两个适合不同硬件配置的桌面环境:
KDE 有类 Windows 的「开始菜单」,界面华丽,被称为最接近 Windows 界面的 Linux 桌面系统,包括界面布局、开始菜单、主题风格都与 Windows 相似,因此对熟悉 Windows 的用户很有亲切感。
从传统角度讲,KDE 与 GNOME 都属于 Linux 阵营中最具影响力的桌面环境选项。然而 GNOME 桌面阵营目前已经分裂成了 GNOME、Unity、Cinnamon 以及 MATE,但 KDE 项目却仍然保持着旺盛的生命力,Plasma 界面也拥有了前所未见的精致表现。KDE 在可配置性方面一直优于 GNOME 以及由 GNOME 衍生而成的各类桌面环境。使用 KDE 的感受实际上与其他桌面环境可谓完全不同。GNOME 系的桌面环境都使用内置的 GTK 工具包,然而 KDE 却独树一帜,始终坚持 Qt 一百年不动摇,而且拥有着自己一套与之配合的应用套件。虽然应用程序在任何桌面环境下都能够正常运行,但量身打造出来的效果绝对是不一样的—— KDE 上的应用几乎与主屏幕及桌面融为一体。唯一美中不足的便是它稍重的资源占用:需要 1GHz 的 CPU 频率和 615 MB 的 RAM。
Garuda Linux 默认的 KDE 桌面赛博朋克主题
Xfce 是一个轻量级的桌面环境,建立在 GTK 的基础之上,Xfce 是仅次于 GNOME 与 KDE 的第三大人气选项。Xfce 非常小巧、轻便、高效,运行程序很快,它在轻量化水平上优于 KDE 与 GNOME,对于一些比较老旧的机器、或是很少内存的机器是理想选择,所以用 Xfce 作为预设桌面的发行版有很多。
在 GNOME 3 正式发布之后,Xfce 已经成为顶尖的轻量化 Linux 桌面环境。连 Linus Torvalds 也在 Google+ 上表示,自己无法忍受 GNOME 3 「无可容忍的凌乱」 而改投到了 Xfce 桌面环境。它仅需 300 MHz 的 CPU 频率和 192 MB 的 RAM 便能运行。
轻巧的 Xfce 也可以定制得很炫酷
当然,除了这两种桌面环境,新手也可以尝试其他不同的桌面环境。对于桌面环境来说没有好坏,适合的才是最棒的。用户体验最佳,就是成熟且成功的。
如果你没法通过图片和视频来确定你究竟更喜欢哪种桌面环境,无需在本地安装,你也可以通过 DistroTest 这个网站直接从安装到使用来体验测试你选择的 Linux 发行版和桌面环境。该网站由两个美国人 Klemann Andy 和 Forster Tobias 使用 Qemu 在 Debian 上搭建;目前托管了 700 多个版本,200 多个操作系统。你可以像在本地系统中一样使用系统的所有功能,甚至删除或格式化硬盘或系统文件。 DistoTest 允许用户任意选择:用哪个发行版,用什么图形界面和需要何种配置。
Test it before you hate it
基于上文的阐述,笔者在此推荐四款针对五年以内制造的硬件非常适合中国大陆个人新手用户的 Linux 桌面发行版:
深度操作系统桌面
亦称为 Deepin,是 武汉深之度科技有限公司 开发的开源操作系统。它是基于 Debian 的稳定版本的一个 Linux 发行版;可以运行在个人计算机和服务器上,并免费提供给个人用户使用。据 DistroWatch 的数据截至 2020 年,深度操作系统是最受欢迎的源自中国的 Linux 发行版。深度操作系统预置自行开发的桌面环境,即 深度桌面环境。该桌面环境早先使用 HTML5 编写,后因性能不佳,使用 Qt 重写。因其美观和易用性被称作最好的中文 Linux 发行版。易用的软件商店使软件安装轻松简单,微信和 QQ 也能一键获取。使用它,你不用担心中文输入法的安装,不用担心字体渲染,不用担心不记得怎么用命令安装软件。
深度操作系统图形化安装界面
深度商店
优点:非常适合中国大陆地区的新手入门。
缺点:商业公司提供支持的发行版;因为具体「国情」,隐私保护依然是个问题。
Linux Mint 操作系统桌面
Linux Mint 是一款基于 Ubuntu 发行版上的一种优化发行版,致力于提供一种更为开箱即用的用户体验,免去用户在安装系统后还要自己安装一系列满足基本使用需求的软件。它包括提供浏览器、多媒体编解码器、显卡支持、Java 和其它组件。它也增加了一套定制桌面及各种菜单,一些独特的配置工具,以及一份基于 Web 的软件包安装界面。不同于 Ubuntu,Linux Mint 使用 Cinnamon 作为预设桌面环境,对于使用习惯 Windows 的人来说,使用它并不会太陌生,甚至连系统中的预设热键也和 Windows 相差无几。
Linux Mint 多语言图形安装界面
Linux Mint 友好的欢迎界面
Linux Mint 对 NVIDIA 显卡的支持
Linux Mint 软件管理中心
优点:非常适合习惯 Windows 界面的用户。
缺点:基于 Ubuntu 开发,这意味着如果上游版本 Ubuntu 出了问题也会波及 Linux Mint。尽管后期开发了 Linux Mint Debian Edition 来亡羊补牢,然而国内并没有 LMDE 的镜像源支持。而且没有汉化主页则会让中文用户迷路。
MX Linux 操作系统桌面
MX Linux 是 antiX 和早前的 MEPIS 社区基于 Debian 稳定版本合作开发,倡导「将优雅而高效的桌面与简单的配置、高度的稳定性、可靠的性能相结合」的 Linux 发行版。虽然因为在 2019 略有争议地蹿上 DistroWatch 排行榜第一且未经配置的开箱界面略为「简陋」而持有一定负面的诽评,但其内置一套类似 Yast 名为 MX Tools 的用户工具集强大到让你无以言表。
MX Tools 中包括了启动界面管理、多媒体解码安装、NVIDIA 显卡驱动管理、iOS 设备连接、以及撒手锏 Snapshot——它可将当前系统快照保存为 ISO 映像,这意味着你可以把自己的整个系统烧录到 U 盘,并通过其它电脑启动甚至直接「克隆」到另一台电脑上。如果对这个发行版有兴趣,可以听 第 47 期的 Destination Linux 进一步了解。
MX Linux 图形化安装界面
强大的 MX Tools
可以「复制」整个系统的 Snapshot
MX Linux 仅有文字的软件管理中心虽略显朴素,但是其中包含了其他不同版本的软件选项
优点:非常适合老旧电脑以及有随身携带系统备份要求的用户。
缺点:没有完全汉化的主页,系统汉化不完全,时常会出现乱码和英文。
Manjaro Linux 系统操作界面
基于 Arch Linux 的 Linux 发行版,针对 Arch Linux 容易「滚挂」的「硬伤」和对新手不友好的「弱点」,Manjaro Linux 采用了图形化安装程序,使安装过程非常人性化,同时也把安装 Arch Linux 后的大量繁琐工作——安装配置显卡驱动、X 服务、桌面环境、中文输入法、Flash 插件、音频解码器、显示管理器等——全都做到位了,为新手解决了烦,为高级用户节省了大量时间。虽然也采用滚动更新但是拥有自己独立的软件仓库,包含了由开发团队确认稳定的软件。Manjaro Linux 的目标是让强大的 Arch Linux 更方便用户使用,所以 Manjaro Linux 可以使用著名的 Pacman 调用强大的 AUR 上的资源,素有「人生苦短,我用 Manjaro」的美誉。如果对这个发行版有兴趣,可以听 第 167 期的 Destination Linux 进一步了解。
Manjaro Linux 提供闭源驱动安装
Manjaro Linux 多语言图形安装界面
Manjaro Linux 软件管理中心
优点:适配海量最新的硬件和软件,真正的开箱即用,非常适合爱玩游戏的用户。
缺点:没有汉化的主页,虽然比 Arch Linux 要稳定,但是滚动发行的激进策略依然有几率会使系统崩溃,建议使用预置的 TimeShift 定期增量备份。
How to choose an OS
单单使用容器是不够的,提供商们认为你需要一个容器专用的Linux发行版本。
我们可以让容器在不同的操作系统上运行,不同的操作系统都有自己的虚拟化服务,如:Solaris Zones、BSD Jails、Linux Docker(Windows现在也支持Docker了)、Linux OpenVZ等等。特别是在Docker和容器技术突然流行开来,操作系统公司正在采取不同的策略。他们认为,大部分容器,应该用瘦操作系统制作。
为什么?(当然,除了给他们一个新的收入来源)
Alex Polvi,CoreOS的CEO,第一个发行了针对轻量级、容器友好的Linux系统的Linux公司,解释道:”我们认为我们可以进一步让容器达到操作系统无关“
如何办到?Polvi意识到容器可以将应用程序与操作系统隔离,使宿主操作系统切换不影响应用程序正常运行。为了让容器更有效的运行,你会希望宿主操作系统只提供满足容器运行的最少服务。
然后,从谷歌是如何更新Chrome OS中可以借鉴(请注意,CoreOS一开始就是fork自Chrome OS的),Polvi认为容器服务器也可以自动更新,相应的,也会极大提升操作系统打补丁的速度。
所以,Polvi继续说道,”如果所有这些都能自动更新,你再也不用担心?CoreOS就像一个有组织的团体,帮你维护操作系统,你只需要关注应用程序的正常运行。
所以,CoreOS所做的,或者其他操作系统现在或者将来要做的,就是维护一个非常小的操作系统内核,只提供最基础的服务。在这种模式下,无需操作系统更新升级。取而代之的是,等待服务器关闭,由于在云端,总会有其他的服务器接管容器,等接管完成后,可以将旧的OS替换成新的版本。
这种方式可以快速提供最新的更新,用户感知不到任何停机时间的。有了这个机制,你也可以提供一个跨整个数据中心或云的一致的操作系统,不存在集群中有系统没打补丁,或者补丁不一致.
这种方法的另一个优点是,如果新版本出现了什么问题,你可以随时回滚到一个先前的、安全的版本。正如Red Hat公司产品技术总裁Paul Cormier在最近的博客文章中说,\”Linux的容器,扩充和依赖取决于操作系统的一致性。\”
这个想法已经深入民心像打得火热。现在,除了CoreOS,红帽Red Hat Enterprise Linux 7 Atomic Host (RHELAH)、Canonical公司Ubuntu Core,惊人的是,VMware也将发行它的第一个Linux发行版Photon。
此外,如果有人只想试用Docker容器可以使用boot2docker。这个微小的Linux发行版仅有27Megabytes大小。它是基于Tiny Core Linux,并且是专门为运行Docker容器定制的。
容器友好的操作系统有一个共同点,对于Docker来说:
那么,他们彼此又是如何的不同?这仍然需要一些时日去发展。即使是其中最古老的操作系统CoreOS,也还没有达到它的第二个生日呢。以下是迄今为止我们所知道。
Polvi在接受采访时说, \”CoreOS从一开始就设计为“可自动更新的服务器,这和人们之前所认识的服务器很不同。如果一切正常,我们认为我们可能解锁了很多价值,它拥有安全性、可靠性、性能,所有最新版本软件所具有的一切。“
CoreOS设法使用FastPatch做到这一点。这样,更新的时候是直接更新完整的系统,而不是一个又一个的升级补丁。
至于容器,CoreOS开始作为Docker的最好的朋友。但随后,Polvi说,“Docker开始成为一个平台,在其本身,因此它会与现有的平台竞争。这很好。我明白,如果他们想建立一个平台,作为一个公司,这有很大的商业意义。问题是,对于构建平台,我们仍然需要的是一个简单的组件。“
在2014年十二月Polvi解释说:“我们以为Docker会成为一个简单的单元,我们都同意。不幸的是,一个简单的可重复使用的组件变得越来越复杂。现在Docker正在开发启动云服务的工具,用于云计算的服务器,系统集群和很多其他的功能:构建镜像、运行镜像、上传、下载,并最终甚至覆盖网络,所有编译成一个整体的二进制程序作为root权限运行在服务器上…这不是我们曾设想的像使用组合积木一样简单。“因此,CoreOS开发了自己的容器Rocket。
CoreOS仍然还是支持Docker的,但是很快的Rocket将成为其主要的容器。
红帽还看到了一支精干的技术优势,是指Linux操作系统。他们开始做这个工作,那就是 项目Atom。这个开源的操作系统,目前可以选择是基于Fedora、CentOS,或者是RHEL。
在此基础上,红帽开发了RHELAH。这个操作系统是基于在RHEL7。它具有像镜像一样原子更新和回滚的功能。红帽为Docker贡献了自己的容器技术。
据红帽所公布的资料,RHELAH拥有超过其竞争对手的许多优点。这包括能够“直接运行在硬件以及公共或私人虚拟化基础架构。”此外,红帽添加了对SELinux的支持,提高了系统安全性。
Canonical,创建Ubuntu的公司,正在尝试与CoreOS和Red Hat不同的方法。当然它也有写部分与其他的是相似的。 Canonical公司声称:“Ubuntu Core是最小的、负载最低的Ubuntu,完美适合超高密度容器云计算,Docker的应用程序部署或平台即服务(PaaS)的云环境。Ubuntu Core是专们为效率所开发,具有最小的运行时占用空间,拥有同行业中最好的安全配置文件:这是一个引擎、底盘和车轮,没有奢侈品,正是您所需要的大规模并行系统。“
虽然你可以通过镜像更新Ubuntu core和“Snappy”的应用程序,Canonical的Snappy包管理系统使用元数据文件和构建工具来创建一个新的Snappy的应用程序。”据Ubuntu的创始人Mark Shuttleworth所说,“这个短小精悍的系统使Ubuntu的各部分保持独立,只读文件,并且每个应用程序都是如此。这样,开发人员可以确信所有他们应用程序所需要的,将完全按照他们所预想一样正常运行,我们可以采取措施来保持各种应用程序彼此隔离,并确保更新总是完美的。
此外,Ubuntu使用AppArmor的内核系统来保证安全性。理想情况下,在snappy版本的Ubuntu中,应用程序是完全彼此隔离的。
还记得VMware的联合创始人Mendel Rosenblum曾表示,操作系统早在2007年已经过时?我也这么认为。然而事情发生了变化。Rosenblum说对了一半,虚拟化技术正在改变世界 – 没有它我们不会有云服务,但操作系统仍和以前一样重要。所以,也许这并不奇怪,面对容器浪潮,VMware已经采用了这两种容器技术,并发布了自己的第一个Alpha版本Linux操作系统Photon。
当然VMware并没有放弃它的虚拟机(VM)的方式——Photon目前只能运行在VMware vSphere和VMware vCloud Air。总之,VMware的认为,应该在虚拟机上运行容器,而不是在原生操作系统上运行容器,这是未来的发展方向。那么,考虑到其商业模式,当然VMware的一样。
该公司是两面,加入到容器技术。 VMware正在支持Docker、CoreOS Rocket和Pivotal\’s Garden容器格式。
VMware还发布了Lightwave,一种容器的身份和访问管理方案。
那么,哪一个会胜出?你会选择哪一種容器?
我也不知道。
我确实不知道。
CoreOS显然已比别人有更多的经验。他们也是迄今为止体积最小、最年轻的公司。红帽带来了可观的资源来提高我们的服务,但Canonical公司并没有懈怠。至于VMware的,他们才刚开始加入容器技术,但他们非常了解虚拟化技术的前世今生。
这些都是在一个新的领域的新项目。我会去尝试所有这些这项,看我自己的IT需求,然后决定其中哪些是值得一试的程序。那是什么?你想要立即在你们公司内部应用?我不这么认为!这些技术都不太成熟。
英文原文:Do you need a container-specific Linux distribution?(译者/施聪羽 审校/朱正贵 责编/魏伟)
关于译者:施聪羽,浩渺科技服务端研发工程师,关注大数据处理。
【预告】 首届中国人工智能大会(CCAI 2015)将于7月26-27日在北京友谊宾馆召开。机器学习与模式识别、大数据的机遇与挑战、人工智能与认知科学、智能机器人四个主题专家云集。人工智能产品库将同步上线,预约咨询:QQ:1192936057。欢迎关注。
更多Container技术资讯,请扫描下方二维码关注我们
或者扫描下方二维码进入CSDN Container用户群讨论
好了,文章到这里就结束啦,如果本次分享的LINUXDISTRIBUTION、linuxdistribution和问题对您有所帮助,还望关注下本站哦!
1,php开源商城系统更方便PHP程序快速开发,运行速度快,技术本身可以快速学习。嵌入HTML:因为PHP可以嵌入HTML语言,所以它与其他语言相关。编辑简单,
360CloudDisk具有自己独特的优势,例如快速下载速度,丰富的资源,大存储空间等。尽管服务器具有丰富的资源,并且许多文件可以在几秒钟内传输,但自2014年
JDK1.8的StreamAPI提供了一组固定的中间操作,开发者若需实现自定义逻辑,往往需要使用状态化的lambda表达式或外部库,这通常导致代码复杂且难以维护
Android系统要求将安装在系统中的每个应用程序均由数字证书签名,并且数字证书的私钥存储在程序开发人员的手中。Android系统使用数字证书在应用程序的作者和
在处理器方面,诺基亚820使用1.5GHz双核QualcommSnapdragonS4处理器,内置的1GB内存和8GB的身体存储空间,并支持MICROSD扩展。
首先,我们需要确保笔记本电脑内置了无线网卡。如果没有的话,我们需要购买一个无线网卡并安装好相应的驱动程序。然后,我们需要在笔记本电脑中打开无线网络开关。不同品牌
用户评论
真的没想到那么多优秀的 Linux 发行版!这个博客给了我很棒的选题推荐,我现在开始探索不同的发行版,看看哪一个最适合我需求。Ubuntu 好像很热门,但我还在考虑其他的选项呢。
有8位网友表示赞同!
这篇博文写的真不错!简单明了地介绍了主要的 Linux 发行版,帮助我了解了它们的优缺点。感觉还是得看个人喜好和实际需求来选择合适的版本吧。
有16位网友表示赞同!
Ubuntu 用户打卡!我一直很喜欢 Ubuntu,因为它很容易上手,系统稳定,软件包也很多。这篇博客提到其他的发行版让我很想去尝试一下,也许能找到更适合我的。
有15位网友表示赞同!
Linux 发行版的选择确实是一个让人头疼的问题啊!这篇博文列举了不少,但感觉有些描述过于简化了。不同的发行版在功能、稳定性和性能上都有各自的特点,需要更详细的对比才能做出更好的选择。
有13位网友表示赞同!
Fedora 还是不错的,它一直在 forefront,很多东西都在 Fedora 首次尝试。我主要是喜欢它的社区和开源精神。这篇博客让我对其他的Linux发行版有了更多了解。
有8位网友表示赞同!
对于 Linux 新手来说,这篇博文非常有用!介绍的很通俗易懂,帮我理清楚了不同发行版的区别。以后可以参考这篇文章来选择合适的版本了。
有17位网友表示赞同!
有些发行版的名字我都没听说过!这篇博客让我了解到了很多新的 Linux 发行版,感觉这些发行版有自己独特的魅力。
有9位网友表示赞同!
我觉得文章漏掉了很多优秀的 Linux 发行版啊!比如 Arch Linux 和 Gentoo 就都是非常强大的发行版,可以满足更专业用户的需求。希望作者未来能更新博客内容,包含更多不同的发行版。
有8位网友表示赞同!
作为一名 Linux 发行版的爱好者,我很喜欢这篇文章的思路和介绍方式。不过对于一些技术细节,例如内核版本、桌面环境等,可以做更深入的分析和比较,这样对读者更有帮助。
有20位网友表示赞同!
总来说这篇博文很不错!感谢作者分享这么多Linux发行版的知识,帮助我更好地了解 Linux 世界。以后可能会多关注一下这些发行版的最新动态了
有8位网友表示赞同!
虽然博文中介绍了很多很棒的发行版,但是对于新手用户来说,可能还是需要更多的指导和推荐,比如哪些发行版适合初学者,或者如何安装和配置。
有19位网友表示赞同!
我觉得对于每一个发行版,最好都加上一个具体的场景用途,这样更容易让读者理解他们的特点和适用范围。例如,Ubuntu 适合日常使用,而Arch Linux 则更适合技术高手等。
有9位网友表示赞同!
Linux 分发版这么多,选择哪个确实是个难题。希望作者能够定期更新博客内容,并根据读者的需求进行调整,提供更加全面的信息支持。
有16位网友表示赞同!
学习 linux 发行版确实需要花些时间, 这篇文章介绍的很好! 让我更加了解了各种 linux 分发版,也让我对他们有了更深入的认识
有6位网友表示赞同!
我最近一直在尝试不同的 Linux 发行版,这篇博客帮我找到了一些新的方向。 感觉每个发行版都有自己的特色,值得我去探索和体验。
有15位网友表示赞同!
很感谢作者分享这么多实用的信息! 选择 Linux 分发版确实需要认真考虑各个方面的因素,这篇文章帮助我树立了正确的心态,让我能够更理性地进行判断。
有10位网友表示赞同!
Linux 世界真是太大了! 我以前一直只在使用 Ubuntu, 现在才知道还有那么多不同的发行版! 这篇文章让我大开眼界,也激发了我的学习兴趣!
有20位网友表示赞同!
这篇文章的观点确实很有帮助! 但是对于一些特定需求的用户来说,可能需要更加详细的分析和推荐.
有12位网友表示赞同!
Linux 分发版的选择真的很难,因为每个用户都有不同的需求和喜好。这篇博文让我了解到不同发行版的特点,帮助我缩小选择的范围,下一步就是深入研究各个版本了!
有8位网友表示赞同!