Linux 黑話解釋:什么是 Linux 發行版?
讓我們來討論一下什么是 Linux 發行版,為什么它被稱為 發行版(distribution)(或簡稱 distro),以及,它與 Linux 內核有什么不同。你還會了解到為什么有些人堅稱 Linux 為 GNU/Linux。
什么是 Linux 發行版?
Linux 發行版是一個由 Linux 內核、 GNU 工具 、附加軟件和軟件包管理器組成的操作系統,它也可能包括 顯示服務器 和 桌面環境 ,以用作常規的桌面操作系統。
這個術語之所以是 “Linux 發行版”,是因為像 Debian、Ubuntu 這樣的機構“發行”了 Linux 內核以及所有必要的軟件及實用程序(如網絡管理器、軟件包管理器、桌面環境等),使其可以作為一個操作系統使用。
你的發行版還負責提供更新來維護其內核和其他實用程序。
所以,“Linux” 是內核,而 “Linux 發行版”是操作系統。這就是為什么它們有時也被稱為基于 Linux 的操作系統的原因。
如果不是很理解以上所有的內容,不要擔心。下面我將詳細解釋一下。
“Linux 只是一個內核,不是一個操作系統。”這是什么意思?
你可能看到到過這句話,這說的沒錯。內核是一個操作系統的核心,它接近于具體硬件。你使用應用程序和 shell 與它交互。
為了理解這一點,我就用我在《 什么是 Linux 的詳細指南 》中曾用過的那個比喻。把操作系統看成車輛,把內核看成引擎。你不能直接驅動引擎。同樣,你也不能直接使用內核。

一個 Linux 發行版可以看作是一個汽車制造商(比如豐田或福特)為你提供的現成的汽車,就像 Ubuntu 或 Fedora 發行版的發行商為你提供的一個基于 Linux 的現成操作系統一樣。
什么是 GNU/Linux?
讓我們再來看看這張圖片。1991 年的時候, Linus Torvalds 創造的只是其中的最內圈,即 Linux 內核。

要使用 Linux,即使是以最原始的形式,甚至沒有 GUI,你也需要一個 shell。最常見的是 Bash shell。
然后,你需要在 shell 中運行一些命令來完成一些工作。你能記起一些基本的 Linux 命令嗎?比如 cat、cp、mv、grep、find、diff、gzip 等等。
嚴格來說,這些所謂的“Linux 命令”并不是只屬于 Linux。它們中的很多都來源于 UNIX 操作系統。
在 Linux 誕生之前,Richard Stallman 就已經在 1983 年創建了 自由軟件項目(free software project)中的第一個項目:GNU(GNU 是“GNU is Not Unix” 的遞歸縮寫)。 GNU 項目 實現了許多流行的 Unix 實用程序,如 cat、grep、awk、shell(bash),同時還開發了自己的編譯器(GCC)和編輯器(Emacs)。
在 80 年代,UNIX 是專有軟件,而且超級昂貴。這就是為什么 Linus Torvalds 開發了一個類似 UNIX 的新內核的原因。為了與 Linux 內核進行交互,Linus Torvalds 使用了 GNU 工具,這些工具在其 GPL 開源許可證下是免費的。
有了這些 GNU 工具,它的行為也像 UNIX 一樣。這就是為什么 Linux 也被稱為類 UNIX 操作系統的原因。
你無法想象沒有 shell 和所有這些命令的 Linux。由于 Linux 與 GNU 工具集成得很深,幾乎是完全依賴于 GNU 工具,所以純粹主義者要求 GNU 應該得到應有的認可,這就是為什么他們堅稱它為 GNU Linux(寫成 GNU/Linux)。
總結
那么,該用哪個術語?Linux、GNU/Linux、Linux 發行版,基于 Linux 的操作系統還是類 UNIX 操作系統?這取決于你的上下文。我已經為你提供了足夠的細節,讓你對這些相關的術語有更好的理解。
我希望你喜歡這個 Linux 黑話解釋系列,并能學習到新的東西。