了解Linux的版本,选择合适的

  • 2018-03-12
  • 174
  • 0
  • 0

Linux的核心版本

Linux的内核版本编号类似如下的样子:

3.10.0-123.el7.x86_64
主版本.次版本.釋出版本-修改版本

虽然编号就是如上的方式来编的,不过依据Linux 内核的发展期程,内核版本的定义有点不太相同喔!

  • 奇數、偶數版本分類

在 2.6.x 版本以前,托瓦茲將核心的發展趨勢分為兩股,並根據這兩股核心的發展分別給予不同的核心編號,那就是:

主、次版本為奇數:發展中版本(development)如2.5.xx,這種核心版本主要用在測試與發展新功能,所以通常這種版本僅有核心開發工程師會使用。 如果有新增的核心程式碼,會加到這種版本當中,等到眾多工程師測試沒問題後,才加入下一版的穩定核心中;

 

主、次版本為偶數:穩定版本(stable)
如2.6.xx,等到核心功能發展成熟後會加到這類的版本中,主要用在一般家用電腦以及企業版本中。 重點在於提供使用者一個相對穩定的Linux作業環境平台。

至於釋出版本則是在主、次版本架構不變的情況下,新增的功能累積到一定的程度後所新釋出的核心版本。 而由於Linux核心是使用GPL的授權,因此大家都能夠進行核心程式碼的修改。因此,如果你有針對某個版本的核心修改過部分的程式碼, 那麼那個被修改過的新的核心版本就可以加上所謂的修改版本了。

  • 主線版本、長期維護版本(longterm version)

不過,這種奇數、偶數的編號格式在 3.0 推出之後就失效了。從 3.0 版開始,核心主要依據主線版本 (MainLine) 來開發,開發完畢後會往下一個主線版本進行。 例如 3.10 就是在 3.9 的架構下繼續開發出來的新的主線版本。通常新一版的主線版本大約在 2~3 個月會被提出喔! 之所以會有新的主線版本,是因為有加入新功能之故。現在 (2015/04) 最新的主線版本已經來到 4.0 版了喔!好快!

而舊的版本在新的主線版本出現之後,會有兩種機制來處理,一種機制為結束開發 (End of Live, EOL),亦即該程式碼已經結束,不會有繼續維護的狀態。 另外一種機制為保持該版本的持續維護,亦即為長期維護版本 (Longterm)!例如 3.10 即為一個長期維護版本,這個版本的程式碼會被持續維護,若程式碼有 bug 或其他問題, 核心維護者會持續進行程式碼的更新維護喔!

所以囉,如果你想要使用 Linux 核心來開發你的系統,那麼當然要選擇長期支援的版本才行!要判斷你的 Linux 核心是否為長期支援的版本, 可以使用『 uname -r 』來查閱核心版本,然後對照下列連結來了解其對應值喔!

我的版本就是长期稳定版,嘿嘿:

[root@iZufzjhnxq ~]# uname -r
3.10.0-693.2.2.el7.x86_64
  • Linux 核心版本與 Linux 發佈商版本

Linux核心版本與distribution (下個小節會談到) 的版本並不相同,很多朋友常常上網問到:『我的Linux是7.x版,請問….』之類的留言, 這是不對的提問方式,因為所謂的Linux版本指的應該是核心版本, 而目前最新的核心版本應該是4.0.0(2015/04) 才對,並不會有7.x的版本出現的。

妳常用的Linux系統則應該說明為distribution才對!因此,如果以CentOS這個distribution來說, 妳應該說:『我用的Linux是CentOS這個 distribution,版本為7.x 版,請問….』才對喔!

當妳有任何問題想要在Linux論壇發言時,請務必仔細的說明妳的distribution版本, 因為雖然各家distributions使用的都是Linux核心,不過每家distributions所選用的軟體以及他們自己發展的工具並不相同, 多少還是有點差異,所以留言時得要先聲明distribution的版本才行喔! ^_^

Linux distributions

好了,經過上面的說明,我們知道了Linux其實就是一個作業系統最底層的核心及其提供的核心工具。 他是GNU GPL授權模式,所以,任何人均可取得原始碼與可執行這個核心程式,並且可以修改。 此外,因為Linux參考POSIX設計規範,於是相容於Unix作業系統,故亦可稱之為Unix Like的一種。

鳥哥曾在上課的時候問過同學:『什麼是Unix Like啊』?可愛的同學們回答的答案是:『就是很喜歡(like)Unix啦!』 囧rz…那個like是『很像』啦!所以Unix like是『很像Unix的作業系統』哩!

  • 可完整安裝的Linux發佈套件

Linux的出現讓GNU計畫放下了心裡的一塊大石頭,因為GNU一直以來就是缺乏了核心程式, 導致他們的GNU自由軟體只能在其他的Unix上面跑。既然目前有Linux出現了,且 Linux也用了很多的GNU相關軟體,所以Stallman認為Linux的全名應該稱之為GNU/Linux呢! 不管怎麼說,Linux實在很不錯,讓GNU軟體大多以Linux為主要作業系統來進行開發, 此外,很多其他的自由軟體團隊,例如postfix, vsftpd, apache等等也都有以Linux 為開發測試平台的計畫出現!如此一來,Linux除了主要的核心程式外,可以在Linux 上面運行的軟體也越來越多,如果有心,就能夠將一個完整的Linux作業系統搞定了!

雖然由Torvalds負責開發的Linux僅具有Kernel與Kernel提供的工具, 不過,如上所述,很多的軟體已經可以在Linux上面運作了,因此, 『Linux + 各種軟體』就可以完成一個相當完整的作業系統了。 不過,要完成這樣的作業系統……還真難~ 因為Linux早期都是由駭客工程師所開發維護的,他們並沒有考慮到一般使用者的能力……

為了讓使用者能夠接觸到Linux,於是很多的商業公司或非營利團體, 就將Linux Kernel(含tools)與可運行的軟體整合起來,加上自己具有創意的工具程式, 這個工具程式可以讓使用者以光碟/DVD或者透過網路直接安裝/管理Linux系統。 這個『Kernel + Softwares + Tools + 可完整安裝程序』的咚咚,我們稱之為Linux distribution, 一般中文翻譯成可完整安裝套件,或者Linux發佈商套件等。

Linux可完整安裝發佈套件
Linux可完整安裝發佈套件
由於Linux核心是由駭客工程師寫的,要由原始碼安裝到x86電腦上面成為可以執行的binary檔案, 這個過程可不是人人都會的~所以早期確實只有工程師對Linux有興趣。 一直到一些社群與商業公司將Linux核心配合自由軟體,並提供完整的安裝程序, 且製成光碟/DVD後,對於一般使用者來說,Linux才越來越具有吸引力! 因為只要一直『下一步』就可以將Linux安裝完成啊! ^_^
由於GNU的GPL授權並非不能從事商業行為,於是很多商業公司便成立來販售Linux distribution。 而由於Linux的GPL版權宣告,因此,商業公司所販售的Linux distributions通常也都可以從Internet上面來下載的! 此外,如果你想要其他商業公司的服務,那麼直接向該公司購買光碟來安裝,也是一個很不錯的方式的!
  • 各大Linux Distributions的主要異同:支援標準!

不過,由於發展Linux distributions的社群與公司實在太多了,例如在中国有名的Red Hat, SuSE, Ubuntu, Fedora, Debian等等,所以很多人都很擔心,如此一來每個distribution是否都不相同呢? 這就不需要擔心了,因為每個Linux distributions使用的kernel都是http://www.kernel.org所釋出的,而他們所選擇的軟體,幾乎都是目前很知名的軟體,重複性相當的高, 例如網頁伺服器的Apache,電子郵件伺服器的Postfix/sendmail,檔案伺服器的Samba等等。

此外,為了讓所有的Linux distributions開發不致於差異太大,且讓這些開發商在開發的時候有所依據,還有Linux Standard Base (LSB)等標準來規範開發者,以及目錄架構的File system Hierarchy Standard (FHS)標準規範! 唯一差別的,可能就是該開發者自家所開發出來的管理工具,以及套件管理的模式吧! 所以說,基本上,每個Linux distributions除了架構的嚴謹度與選擇的套件內容外, 其實差異並不太大啦! ^_^ 。大家可以選擇自己喜好的distribution來安裝即可!

事實上鳥哥認為distributions主要分為兩大系統,一種是使用RPM方式安裝軟體的系統,包括Red Hat, Fedora, SuSE等都是這類; 一種則是使用Debian的dpkg方式安裝軟體的系統,包括Debian, Ubuntu, B2D等等。若是加上商業公司或社群單位的分類,那麼我們可以簡單的用下表來做個解釋喔!

RPM 軟體管理 DPKG 軟體管理 其他未分類
商業公司 RHEL (Red Hat 公司)
SuSE (Micro Focus)
Ubuntu (Canonical Ltd.)
社群單位 Fedora
CentOS
OpenSuSE
Debian
B2D
Gentoo

底下列出幾個主要的Linux distributions發行者網址:

到底是要買商業版還是社群版的Linux distribution呢?如果是要裝在個人電腦上面做為桌上型電腦用的,建議使用社群版, 包括Fedora, Ubuntu, OpenSuSE等等。如果是用在伺服器上面的,建議使用商業版本,包括Red Hat, SuSE等。 這是因為社群版通常開發者會加入最新的軟體,這些軟體可能會有一些bug存在。至於商業版則是經過一段時間的磨合後, 才將穩定的軟體放進去。

舉例來說,Fedora兜出來的軟體套件經過一段時間的維護後,等到該軟體穩定到不容易發生錯誤後, Red Hat才將該軟體放到他們最新的釋出版本中。所以,Fedora的軟體比較經常改版,Red Hat的軟體就較少更版。

  • Linux在台灣

當然發行套件者不僅於此。但是值得大書特書的,是中文Linux的延伸計畫:CLE這個套件! 早期的Linux因為是工程師發展的,而這些工程師大多以英文語系的國家為主, 所以Linux對於國人的學習是比較困擾一點。後來由國人發起的CLE計畫, 開發很多的中文套件及翻譯了很多的英文文件,使得我們目前得以使用中文的Linux呢! 另外,目前正在開發中的還有台南縣臥龍小三等老師們發起的眾多自由軟體計畫, 真是造福很多的朋友啊!

此外,如果只想看看Linux的話,還可以選擇所謂的可光碟開機進入Linux的Live CD版本, 亦即是KNOPPIX這個Linux distributions呢!台灣也有阿里巴巴兄維護的中文Live CD喔!

對於沒有額外的硬碟或者是沒有額外的主機的朋友來說,KNOPPIX這個可以利用光碟開機而進入Linux作業系統的Live CD 真的是一個不錯的選擇!你只要下載了KNOPPIX的映象檔,然後將他燒錄成為CD, 放入你主機的光碟機,並在BIOS內設定光碟為第一個開機選項,就可以使用Linux系統了呢!

如果你還想要知道更多的Linux distributions的下載與使用資訊,可以參考:

  • 選擇適合你的Linux distribution

那我到底應該要選擇哪一個distributions?就如同我們上面提到的,其實每個distributions差異性並不大! 不過,由於套件管理的方式主要分為Debian的dpkg及Red Hat系統的RPM方式, 目前鳥哥的建議是,先學習以RPM套件管理為主的RHEL/Fedora/SuSE/CentOS等台灣使用者較多的版本, 這樣一來,發生問題時,可以提供解決的管道比較多。如果你已經接觸過Linux了, 還想要探討更嚴謹的Linux版本,那可以考慮使用Debian,如果你是以效能至上來考量, 那麼或許Gentoo是不錯的建議!

總之,版本很多,但是各版本差異其實不大,建議你一定要先選定一個版本後, 先徹頭徹尾的瞭解他,那再繼續玩其他的版本時,就可以很快的進入狀況。 鳥哥的網站僅提供一個版本,不過是以比較基礎的方式來介紹的, 因此,如果能夠熟練俺這個網站的話,呵呵!哪一個distributions對你來說,都不成問題啦!

不過,如果依據電腦主機的用途來分的話,在中国鳥哥會這樣建議:

  • 用於企業環境:建議使用商業版本,例如Red Hat的RHEL或者是SuSE都是很不錯的選擇! 畢竟企業的環境強調的是永續的經營,你可不希望網管人員走了之後整個機房的主機都沒有人管理吧! 由於商業版本都會提供客戶服務,所以可以降低企業的風險喔!
  • 用於個人或教學的伺服器環境:要是你的伺服器所在環境如果當機還不會造成太大的問題的話, 加上你的環境是在教學的場合當中時(就是說,唔!經費不足的環境啦!)那麼可以使用『號稱』完全相容商業版RHEL的CentOS。 因為CentOS是抓RHEL的原始碼來重新兜起來的一個Linux distribution,所以號稱相容於RHEL。 這一版的軟體完全與RHEL相同,在改版的幅度較小,適合於伺服器系統的環境;
  • 用於個人的桌上型電腦:想要嘗鮮嗎?建議使用很炫的Fedora/Ubuntu等Desktop(桌面環境)使用的版本! 如果不想要安裝Linux的話,那麼Fedora或CentOS也有推出Live CD了!也很容易學習喔!

出处:鸟哥的私房菜

  1. 2017:  梦 到处充满危险(2)

评论

偷偷告诉你,这还毛都没有 T T

发表评论