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