Linux发行版

Linux 发行版（Linux distribution或distro，也被叫做GNU/Linux 发行版），为一般使用者预先整合好的Linux操作系统及各种应用软件。一般使用者不需要重新编译，在直接安装之后，只需要小幅度更改设定就可以使用，通常以软件包管理系统来进行应用软件的管理。Linux发行版通常包含了桌面环境、办公套件、媒体播放器、数据库等应用软件。这些操作系统通常由Linux内核、以及来自GNU计划的大量的函式库，和基于X Window或者Wayland的图形界面。有些发行版考虑到容量大小而没有预装 X Window，而使用更加轻量级的软件，如：BusyBox、musl或uClibc-ng。现在有超过300个Linux发行版（Linux发行版列表）。大部分都正处于活跃的开发中，不断地改进。

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

这些发行版可以分为商业发行版，比如Ubuntu（科能）、Red Hat Enterprise Linux、SUSE Linux Enterpise；和社区发行版，它们由自由软件社区提供支持，如Debian、Fedora、Arch、openSUSE和Gentoo。

## 历史

<image>

早期的Linux发行版包括：

- H J Lu的 "Boot-root"，2个磁盘搭配一个内核以及极少的工具。
- MCC Interim Linux，它在1992年2月通过英国曼彻斯特大学的FTP服务器向公众提供下载。
- TAMU, 几乎同时由Texas A&M University的个人创造出来的
- SLS（Softlanding Linux System）。
- Yggdrasil Linux/GNU/X，这是第一个基于CD-ROM的Linux发行版。

SLS并没有得到很好的维护，所以Patrick Volkerding在1993年7月16日发布了一个基于SLS的发行版，叫做Slackware。这是到现在仍然在发展的最老的发行版。

用户开始被从DOS和Microsoft Windows，苹果机上的Mac OS和专有的Unix版本吸引到自由的Linux。最早的使用者来自熟悉Unix的公司和学校，它们喜欢Linux的自由、低价、以及开放的源代码。

最初的发行版只是为了方便，但是现在即使Unix和Linux的专家也在使用Linux发行版。现在，Linux在服务器市场比桌面市场更流行的多，主要用于网络和数据库服务器 (参见 LAMP)。

## 组成

一个典型的Linux桌面发行版包括一个Linux 内核，来自GNU的工具和库，和附加的软件、文档，还有一个窗口系统，窗口管理器，和一个桌面环境。大部分包括的软件是自由软件/开源软件，它们同时以二进制可执行文件和源代码形式发布，只要用户愿意，还允许修改和重新编译源代码。还有一些可能是专有软件而不提供源代码。

许多发行版像其他现代操作系统一样提供了一个安装系统定制的发行版像Gentoo Linux、T2 SDE和Linux From Scratch提供所有软件的源代码以及最基本的内核、编译器、定制工具、安装工具等的可执行文件。安装程序针对使用者不同的CPU编译成不同的文件。

### 软件包管理系统

发行版通常被分割成软件包。每个软件包都包含了一个特定的软件或服务。比如说处理PNG图像格式的库，一套字体，或者一个浏览器。

软件包通常是已编译的机器码，并且由软件包管理器安装和卸载。每一个软件包都包含为包管理器提供的元数据，比如描述和版本，以及"依赖"。包管理器能够使用这些元数据提供搜索功能、将软件包自动更新到最新版本，以及自动解决依赖。

虽然Linux发行版通常提供比其他专有操作系统多得多的软件包，但为了满足自己的特殊需求，管理员经常想要安装发行版中没有的软件。比如一个比发行版中更新版本的软件，或者其他作为发行版中提供的软件的替代品（例如想要用KDE替换GNOME）。如果软件包只提供源代码，那么就需要在本地进行编译，这就需要安装有编译器。但是如果软件是在本地安装的，本地系统的状态可能将会于软件包管理器数据库中的不一致，如果这样的话，软件包管理器将不能对这个软件包自动更新而需要由管理员手工操作。

发行版都会默认安装一些软件包，比如操作系统内核和系统的重要组成部分。有些发行版甚至能在安装时选择预装的软件包。这将使安装变得更复杂，特别是对于新手而言。对于特殊需求，软件包都要通过仔细地配置。为了使软件包之间的合作，或者为了安全，管理员经常会重新配置软件包。

最常见的软件包格式包括：Debian的DEB，以及Fedora（Red Hat）的RPM等。

## 类型和发展趋势

广义地说， Linux发行版可能是：

- 商业或非商业的。
- 给企业或家庭使用的。
- 服务器，台式机或嵌入式设备专用的。
- 针对普通用户或高级用户。
- 为一般用途或特殊功能的机器定制的，例如防火墙，网络路由器和计算机集群。
- 甚至是为特定的硬件和计算机架构设计的。
- 针对特定的用户群体，例如国际化和本地化，或加入许多音乐制作或科学计算软件包。
- 不同配置的安全性，可用性，便携性，或全面性
- 支持不同类型的硬件

Linux发行版的多样性是由于不同用户和厂商的技术、哲学和用途差异。在宽松的自由软件许可证下，任何有足够的知识和兴趣的用户可以自定义现有的发行版，以适应自己的需要。

### Live USB

Live USB不需要安装而直接可以从可移动介质启动，它通常被用来演示和安装Linux。现在几乎所有主流Linux发行版的安装媒介都是Live USB，还有使用光碟作为介质的Live CD和Live DVD，第一个Live CD发行版是Knoppix。

## 流行的发行版

### 基于Dpkg

商业发行版

- Ubuntu，一个非常流行的桌面发行版，由Canonical维护。
- Zorin OS，基于Ubuntu，其目的是类比Windows的操作习惯。

社群发行版

- Debian，一个强烈信奉自由软件，并由志愿者维护的系统。
- Kubuntu，使用KDE桌面的Ubuntu。
- Linux Mint，使用Cinnamon桌面系统的Ubuntu衍生版。
- Knoppix，第一个Live CD发行版，可以从可移动介质运行，Debian的衍生版。
- Elementary OS，基于Ubuntu，图形界面酷似MacOS。

### 基于RPM

商业发行版

- Red Hat Enterprise Linux，Fedora的商业版，由Red Hat维护和提供技术支持。
- SUSE Linux Enterprise，由德国SUSE公司开发。

社群发行版

- Fedora，Red Hat的社区版，会经常引入新特性进行测试。
- openSUSE，SLE的社区版，主要由SUSE赞助
- PCLinuxOS，Mandriva的衍生版本，由社区维护的流行的发行版。
- Rocky Linux，从Red Hat发展而来的发行版，由志愿者维护，旨在提供开源的，并与Red Hat 100%兼容的系统，是CentOS的继承者。
- Mageia，从Mandriva发展而来的发行版。
- Loongnix，从Fedora发展而来的发行版。

### 基于Pacman

- Arch Linux，一个基于KISS（Keep It Simple and Stupid）的滚动更新的操作发行版。
- Manjaro Linux，基于Arch Linux，使用Xfce、GNOME和KDE Plasma作为预设桌面环境。
- EndeavourOS，基于Arch Linux，采用滚动发行计划，是Antergos的继任者。

### 基于其他包格式

- Alpine Linux，是一个由社区开发的基于musl和BusyBox的发行版。
- Gentoo，一个面向高级用户的发行版，绝大部分软件的源代码需要自行编译。
- Slackware，最早的发行版之一，1993年建立，由Patrick J. Volkerding维护。

## 高关注度发行版的截图

在DistroWatch网站可以看到类Unix系统各个发行版的点击率和信息，其中关注度位居前列的Linux发行版展示如下：

<image>

- CachyOS（基于Arch）

<image>

- Linux Mint （基于Ubuntu）

<image>

- MX Linux （基于Debian）

<image>

- EndeavourOS （基于Arch）

<image>

- Debian

<image>

- Pop! OS （基于Ubuntu）

<image>

- Manjaro Linux （基于Arch）

<image>

- Ubuntu

<image>

- Fedora

<image>

- Zorin OS （基于Ubuntu）

<image>

- openSUSE

<image>

- KDE neon （基于Ubuntu）

<image>

- Nobara Linux （基于Fedora）

<image>

- antiX （基于Debian）

<image>

- elementary OS （基于Ubuntu）

<image>

- NixOS

<image>

- Garuda Linux （基于Arch）

<image>

- Kali Linux （基于Debian）

<image>

- Tuxedo OS （基于Ubuntu）

<image>

- AlmaLinux（基于Red Hat）

## 外部链接

- Distrowatch
- Distribution Reviews
- Hardware support by Linux distribution
- Linux Distribution Chooser by Zegenie Studios
- The Linux Mirror Project Download Linux Distributions over BitTorrent
- GNU/Linux distro timeline
- OSMSG