進度條

Linux發行版(Distribution)與Linux核心(Kernel)是什麼?淺談Linux發行版之間的關係

Ubuntu與Debian? 那CentOS與Red Hat又是怎麼回事?

作者: Vincent Ke 更新日期:

相信大家對Linux核心為基礎的Android系列一定毫不陌生,但你可能不知道,Linux發展迄今,在開源運動與自由軟體的發展歷史中,扮演著功不可沒的地位,也就是說,只要你遵循 GNU 的通用公共許可證GPL,不管是個人名義或是機構代表,都可以可以自由地使用 Linux 的所有底層原始碼,也可以自由地修改並再次發布。

 

也就是說你可以發佈你自己的Linux而非一定要用Ubuntu或是CentOS,你甚至可以收費喔!

 

 

GPL相關文章:
是佛心還是惡霸條例,了解GPL開源許可證的風險與感染性
避免無謂的商業授權費,搞懂LGPL與GPL的不同

 

 

android-blur-blurred-background-1092644.jpg

 

 

不過大部分人所使用的Linux,已經不像過去的眾多雄心壯志開發者們,從底層和組件自行組裝;反而是使用已經打包好上手,也就是所謂的Linux發行版,例如Debian(還有其衍生版本Ubuntu、Linux Mint)、Fedora(以及其他相關版本CentOS、Red Hat Enterprise Linux)和openSUSE等,這些發行版本的之間的錯綜複雜,其實也是跟開源運動有很大的關係。

 

 

如果大家對Linux的歷史背景有興趣,可以參考

另一篇文章:Linux是什麼?從網站開發到物聯網無所不在的OS作業系統介紹。


 

在當時的背景下,Linus Torvalds開發Linux的原因只是因為自己爽而已,Linux的原意為「Linus 的 MINIX」系統。

維基百科:MINIX系統

 

 

不過整套Linux系統並不是完全從頭開發,而是移植了GNU上的一些程式與參考了MINIX系統與其他系統的架構,最後成功開發了Linux 0.2。後來憑藉著開源吸引了眾多開發者投入,所以正確而言,Linux應該是一個類Unix的作業系統,此外Linux也用了很多的GNU相關軟體,所以也有人稱Linux的全名為GNU/Linux

 

 

blur-board-capacitors-1432675.jpg

 

 

拜開源所賜,為了驅使更多人投入Linux的開發,所以Torvalds將Linux核心(Linux Kernel)開源,間接埋下了各種Linux發行版本的開端。

 

1994年,Torvalds釋出Linux的1.0版本,也就是「Linux核心 + GNU上的各種軟體」,在同一年,因為開源與自由軟體運動的關係,Red Hat公司和SUSE也發行他們各自的Linux 1.0分發版本。而這也是開源運動開花結果的一大佐證,也是為什麼會有這麼多Linux版本的開端。

 

 

backlit-clouds-dawn-1066176.jpg

 

 

「 從Linux到Linux distribution」

 

 

為了讓更多使用者能夠接觸到Linux,很多的商業公司或非營利團體, 就將Linux 核心、工具和可運行的軟體做整合,加上自己具有創意的工具程式,做出完整的安裝程序, 讓使用者可以利用光碟或網路來安裝Linux系統。 這完整的Linux Solution,也就是現在所謂的Linux distribution,或稱Linux發行版。而這也就是上述提到的Debian、Red Hat ...等。

 

而各個發行版中的核心,還是使用當初Torvalds 所開發的Linux核心,而所謂的Linux版號,也就是指Linux核心的版號喔。所以千萬可別把Linux 核心(kernel)與Linux 發行版(distribution) 搞混了。

 

 

Linux Kernel 官方下載頁面,但是對一般使用者來說只有Kernel是不夠的。

 

 

adult-casual-checking-1851467.jpg

 

 

但這種核心+軟體的運行方式,在安裝上卻是相當頭痛,大家如果在以前有重灌過Windows,一定有類似的經驗。通常安裝OS後還需要個別依照你的電腦硬體,去安裝像是顯卡、主機板等等的驅動程式,而其中個別硬體的型號也因人而異。而Linux上也有一樣的問題,個別的軟體可能不見得對你的硬體支援。於是後來各Linux 開發商與社群也開始研究安裝Linux的懶人包-軟體包管理器。

 

 

首先,他們會先在固定的硬體平台與作業系統上,將需要安裝或升級的軟體編譯好後,通通打包成一個檔案,這個檔案還可以預先預測你的系統以及對裡面軟體的支援和相依度,若安裝符合環境需求,就會執行安裝;除了方便安裝外,更提供管理介面來讓使用者自行移除/升級裡面的軟體,來達到軟體管理的目的。

 

 

achievement-adult-battle-1080845.jpg

 

 

目前軟體包管理器主要有兩大方式:提供Debian使用的dpkg 與 Red Hat Linux使用的RPM

 

所以一個商業化的Linux distribution,除了上述的核心、軟體、軟體包管理器外,也還會有著像是多媒體播放器、圖形化桌面、資料庫..等等,整個加起來就是一個完整的OS。

 

目前總共Linux約有300多種發行版,若用食物比喻,就像日本拉麵一樣,有著像二郎系、雞白湯、橫濱家系..等等各種口味上的分支,口味和喜好就完全因人而異囉。


 

 

校正小編補充:

除了使用習慣外,其實還包含了硬體效能因素。如果是嵌入式機器或是雲端Server等固定用途的機器都有可能會有跑起來比較順暢的版本。當然預先裝載的軟體也是一個因素。像Kali linux就是預裝了很多資安用途測試的特殊用途Linux發行版。而台灣著名的開發者PCMAN - 洪任諭所主導開發的LXQT也長期作為輕量版的Ubuntu - Lubuntu所釋出的桌面系統,相當適合小型裝置。

當然,如果機器效能雖然不好,但也沒那麼差的話,還有一個著名的選擇,Android Distribution。不過這就沒有像上面面向使用者的版本來的方便,主要是面向開發者的。Google Android Git Repositories
 

 

dinner-dish-egg-54455.jpg

 

 

校正小編補充:

最後先來解說一個簡單且常見的疑問,就是幾個常用知名的發行版的關係。

Red Hat 家族 (Red Hat公司已被IBM併購)
使用RPM,主流下載方式為 yum install 

主要商業版本為 
Red Hat Enterprise Linux (wiki)
以Red Hat Enterprise Linux 改出來的社群版本即為 CentOS (wiki)

Debian 相關
使用dpkg,主流下載方式為 apt install
主要版本為社群版本為
Debian (wiki)
Canonical公司依據Debian改出來的商業免費版本即為Ubuntu (wiki)
(個人商業使用皆免費,諮詢與其他進階服務需付費)


各個版本都有他們自己的版號。目前來說使用上最適合新手的會是Ubuntu,也是全世界最多人使用的Linux發行版。


如果對此有興趣,可以參考我們的課程:
Linux雲端伺服器,用AWS暸解Apache與Nginx (以Ubuntu 18.04為上課作業系統)
 


 

接下來,小編就先為大家介紹其中兩大分支:

以RPM為主的Red Hat Linux家族

文章:你認識Linux發行版Red Hat家族嗎?簡介RHEL、CentOS、Fedora還有相關的Amazon Linux AMI

 

以及dpkg為主的Debian

文章:你認識最適合新手入門Linux發行版Ubuntu嗎?那你知道Debian為何常被一起提起?

 

 

 

最後,如果你喜歡我們的文章,別忘了到我們的FB粉絲團按讚喔!!

Medium vincent

Vincent Ke

喜歡把混亂的事情變的簡單 用嘴巴做事其實很可以 但要結合靈活的腦袋思考 就一起來拆解吧