日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux 发展历程

發布時間:2023/12/3 linux 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux 发展历程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文主要內容來自鳥哥網站,做了排版、轉化為中文簡體并加了一些筆記,僅供學習之用。

Linux 是由 Torvalds 這個芬蘭人所發明的 。 那么為何托瓦茲可以發明 Linux 呢? 憑空想像而來的?還是有什么淵源?這裡我們就來談一談囉!

1 與 Minix 之間

Linus Torvalds( 托瓦茲 , 1969 年出生) 的外祖父是赫爾辛基大學的統計學家, 他的外祖父為了讓自己的小孫子能夠學點東西,所以從小就將托瓦茲帶到身邊來管理一些微電腦 。 在這個時期,托瓦茲接觸了組合語言 (Assembly Language) ,那是一種直接與晶片對談的程式語言,也就是所謂的低階語言 。 必須要很瞭解硬體的架構,否則很難以組合語言撰寫程式的 。

在 1988 年間,托瓦茲順利的進入了赫爾辛基大學,并選讀了電腦科學系 。 在就學期間,因為學業的需要與自己的興趣, 托瓦茲接觸到了 Unix 這個作業系統 。 當時整個赫爾辛基只有一部最新的 Unix 系統,同時僅提供 16 個終端機 (terminal)。 早期的電腦僅有主機具有運算功能, terminal 僅負責提供 Input/Output 而已 。 在這種情況下, 實在很難滿足托瓦茲的需求,因為 … 光是等待使用 Unix 的時間,就很耗時~為此,他不禁想到: 『 我何不自己搞一部 Unix 來玩? 』 不過,就如同 Stallman 當初的 GNU 計畫一樣,要寫核心程式,談何容易~

不過,幸運之神并未背離托瓦茲,因為不久之后,他就知道有一個類似 Unix 的系統, 并且與 Unix 完全相容,還可以在 Intel 386 機器上面跑的作業系統, 那就是我們上一節提過的,譚寧邦教授為了教育需要而撰寫的 Minix 系統! 他在購買了最新的 Intel 386 的個人電腦后,就立即安裝了 Minix 這個作業系統 。 另外,上個小節當中也談到, Minix 這個作業系統是有附上原始碼的, 所以托瓦茲也經由這個原始碼學習到了很多的核心程式設計的設計概念喔!

2 對 386 硬體的多工測試

事實上,托瓦茲對于個人電腦的 CPU 其實并不滿意,因為他之前碰的電腦都是工作站型的電腦, 這類電腦的 CPU 特色就是可以進行 『 多工處理 』 的能力 。 什么是多工呢?理論上, 一個 CPU 在一個時間內僅能進行一個程式, 那如果有兩個以上的程式同時出現到系統中呢?舉例來說, 你可以在現今的電腦中同時開啟兩個以上的辦公軟體,例如電子試算表與文書處理軟體 。 這個同時開啟的動作代表著這兩個程式同時要交給 CPU 來處理~

啊! CPU 一個時間點內僅能處理一個程式,那怎么辦?沒關係,這個時候如果具有多工能力的 CPU 就會在不同的程式間切換~ 假設 CPU 時脈為 1GHz 的話,那表示 CPU 一秒鐘可以進行 10 的 9 次方 次工作 。 假設 CPU 對每個程式都只進行 1000 次運作週期,然后就得要切換到下個程式的話,那么 CPU 一秒鐘就能夠切換 10 的 6 次方 次呢! ( 當然啦,切換工作這件事情也會花去一些 CPU 時間,不過這裡暫不討論 ) 。 這么快的處理速度下,你會發現, 兩個程式感覺上幾乎是同步在進行啦!

為什么有時我同時開兩個檔桉 ( 假設為 A, B 檔桉 ) 所花的時間, 要比開完 A 再去開 B 檔桉的時間還要多?現在是否稍微可以理解? 因為如果同時開啟的話, CPU 就必須要在兩個工作之間不停的切換~ 而切換的動作還是會耗去一些 CPU 時間的!所以囉,同時啟用兩個以上的工作在一個 CPU 上, 要比一個一個的執行還要耗時一點 。 這也是為何現在 CPU 開發商要整合多個 CPU 于一個晶片中! 也是為何在運作情況比較複雜的伺服器上,需要比較多的 CPU 負責的原因!

早期 Intel x86 架構電腦不是很受重視的原因,就是因為 x86 的晶片對于多工的處理不佳, CPU 在不同的工作之間切換不是很順暢 。 但是這個情況在 386 電腦推出后,有很大的改善 。 托瓦茲在得知新的 386 晶片的相關資訊后,他認為,以性能價格比的觀點來看, Intel 的 386 相當的便宜,所以在性能上也就稍微可以將就將就 ^ _ ^ 。 最終他就貸款去買了一部 Intel 的 386 來玩 。

早期的電腦效能沒有現在這么好,所以壓榨電腦效能就成了工程師的一項癖好! 托瓦茲本人早期是玩組合語言的,組合語言對于硬體有很密切的關係,托瓦茲自己也說: 『 我始終是個性能癖 』 ^ _ ^ 。 為了徹底發揮 386 的效能,于是托瓦茲花了不少時間在測試 386 機器上! 他的重要測試就是在測試 386 的多功性能 。 首先,他寫了三個小程式,一個程式會持續輸出 A、 一個會持續輸出 B , 最后一個會將兩個程式進行切換 。 他將三個程式同時執行,結果,他看到螢幕上很順利的一直出現 ABABAB… 他知道,他成功了! ^ _ ^

要達到多工 (multitasking) 的環境,除了硬體 ( 主要是 CPU) 需要能夠具有多工的特性外,作業系統也需要支援這個功能喔! 一些不具有多工特性的作業系統,想要同時執行兩個程式是不可能的 。 除非先被執行的程式執行完畢,否則, 后面的程式不可能被主動執行 。

至于多工的作業系統中,每個程式被執行時,都會有一個最大 CPU 使用時間,若該工作運作的時間超過這個 CPU 使用時間時, 該工作就會先被丟出 CPU 的運作中,而再度的進入核心工作排程中等待下一次被 CPU 取用來運作 。

這有點像在開記者會啦,主持人 (CPU) 會問 『 誰要發問 』 ?一群記者 ( 工作程式 ) 就會舉手 ( 看誰的工作重要! ) ,先舉手的自然就被允許發問,問完之后, 主持人又會問一次誰要發問,當然,所有人 ( 包括剛剛那個記者 ) 都可以舉手! 如此一次一次的將工作給他完成啊! ^ _ ^ 多工的環境對于複雜的工作情況,幫助很大喔!

3 初次釋出 Linux 0.02

探索完 386 的硬體性能之后,終于拿到 Minix 并且安裝在托瓦茲的 386 電腦上之后,托瓦茲跟 BBS 上面一堆工程師一樣, 他發現 Minix 雖然真的很棒,但是譚寧邦教授就是不愿意進行功能的加強,導致一堆工程師在作業系統功能上面的欲求不滿! 這個時候年輕的托瓦茲就想: 『 既然如此,那我何不自己來改寫一個我想要的作業系統? 』 于是他就開始了核心程式的撰寫了 。

撰寫程式需要什么呢?首先需要的是能夠進行工作的環境,再來則是可以將原始碼編譯成為可執行檔的編譯器 。 好在有 GNU 計畫提供的 bash 工作環境軟體以及 gcc 編譯器等自由軟體, 讓托瓦茲得以順利的撰寫核心程式 。 他參考 Minix 的設計理念與書上的程式碼,然后仔細研究出 386 個人電腦的效能最佳化, 然后使用 GNU 的自由軟體將核心程式碼與 386 緊緊的結合在一起,最終寫出他所需要的核心程式 。 而這個小玩意竟然真的可以在 386 上面順利的跑起來~還可以讀取 Minix 的檔桉系統 。 真是太好了!不過還不夠,他希望這個程式可以獲得大家的一些修改建議, 于是他便將這個核心放置在網路上提供大家下載,同時在 BBS 上面貼了一則消息:

他說,他完成了一個小小的作業系統,這個核心是用在 386 機器上的, 同時,他真的僅是好玩,并不是想要做一個跟 GNU 一樣大的計畫! 另外,他希望能夠得到更多人的建議與回饋來發展這個作業系統!這個概念跟 Minix 剛好背道而馳呢! 這則新聞引起很多人的注意,他們也去托瓦茲提供的網站上下載了這個核心來安裝 。 有趣的是,因為托瓦茲放置核心的那個 FTP 網站的目錄為: Linux , 從此,大家便稱這個核心為 Linux 了 。( 請注意,此時的 Linux 就是那個 kernel 喔! 另外,托瓦茲所丟到該目錄下的第一個核心版本為 0.02 呢! )

同時,為了讓自己的 Linux 能夠相容于 Unix 系統,于是托瓦茲開始將一些能夠在 Unix 上面運作的軟體拿來在 Linux 上面跑 。 不過,他發現到有很多的軟體無法在 Linux 這個核心上運作 。 這個時候他有兩種作法, 一種是修改軟體,讓該軟體可以在 Linux 上跑, 另一種則是修改 Linux ,讓 Linux 符合軟體能夠運作的規范! 由于 Linux 希望能夠相容于 Unix ,于是托瓦茲選擇了第二個作法 『 修改 Linux』 ! 為了讓所有的軟體都可以在 Linux 上執行,于是托瓦茲開始參考標準的 POSIX 規范 。

POSIX 是可攜式作業系統介面 (Portable Operating System Interface) 的縮寫,重點在規范核心與應用程式之間的介面, 這是由美國電器與電子工程師學會 (IEEE) 所發佈的一項標準喔!

這個正確的決定讓 Linux 在起步時體質就比別人優良~因為 POSIX 標準主要是針對 Unix 與一些軟體運行時候的標準規范, 只要依據這些標準規范來設計的核心與軟體,理論上,就可以搭配在一起執行了 。 而 Linux 的發展就是依據這個 POSIX 的標準規范, Unix 上面的軟體也是遵循這個規范來設計的, 如此一來,讓 Linux 很容易就與 Unix 相容共享互有的軟體了!同時,因為 Linux 直接放置在網路下,提供大家下載, 所以在流通的速度上相當的快!導致 Linux 的使用率大增!這些都是造成 Linux 大受歡迎的幾個重要因素呢!

其實托瓦茲有意無意之間常常會透露他自己是個只喜歡玩 (Just for Fun) 的怪人! Linux 一開始也只是托瓦茲的一個作業發展出來的玩具而已 。 他也說,如果 Minix 或 hurd 這兩個中的任何一個系統可以提早開發出他想要的功能與環境,也許他根本不會想要自己開發一個 Linux 哩! 哇!人類智慧真是沒有極限!各位啊: 1) 要先有基礎知識與技能 、2) 有了第一點后,要勇于挑戰權威 、3) 把你們的玩具發揚光大吧! ^ _ ^

4 Linux 的發展:虛擬團隊的產生

Linux 能夠成功除了托瓦茲個人的理念與力量之外,其實還有個最重要的團隊!

4.1 單一個人維護階段

Linux 雖然是托瓦茲發明的,而且內容還絕不會涉及專利軟體的版權問題 。 不過,如果單靠托瓦茲自己一個人的話,那么 Linux 要茁壯實在很困難~ 因為一個人的力量是很有限的 。 好在托瓦茲選擇 Linux 的開發方式相當的務實!首先,他將釋出的 Linux 核心放置在 FTP 上面,并請告知大家新的版本資訊, 等到使用者下載了這個核心并且安裝之后,如果發生問題,或者是由于特殊需求亟需某些硬體的驅動程式,那么這些使用者就會主動回報給托瓦茲 。 在托瓦茲能夠解決的問題范圍內,他都能很快速的進行 Linux 核心的更新與除錯 。

4.2 廣大駭客志工加入階段

不過,托瓦茲總是有些硬體無法取得的啊,那么他當然無法幫助進行驅動程式的撰寫與相關軟體的改良 。 這個時候,就會有些志工跳出來說: 『 這個硬體我有,我來幫忙寫相關的驅動程式 。』 因為 Linux 的核心是 Open Source 的,駭客志工們很容易就能夠跟隨 Linux 的原本設計架構, 并且寫出相容的驅動程式或者軟體 。 志工們寫完的驅動程式與軟體托瓦茲是如何看待的呢? 首先,他將該驅動程式 / 軟體帶入核心中,并且加以測試 。 只要測試可以運行,并且沒有什么主要的大問題,那么他就會很樂意的將志工們寫的程式碼加入核心中!

總之,托瓦茲是個很務實的人,對于 Linux 核心所欠缺的項目,他總是 『 先求有且能跑, 再求進一步改良 』 的心態!這讓 Linux 使用者與志工得到相當大的鼓勵! 因為 Linux 的進步太快了!使用者要求虛擬記憶體,結果不到一個星期推出的新版 Linux 就有了! 這不得不讓人佩服啊!

另外,為因應這種隨時都有程式碼加入的狀況,于是 Linux 便逐漸發展成具有模組的功能! 亦即是將某些功能獨立出于核心外,在需要時才載入到核心中 。 如此一來, 如果有新的硬體驅動程式或者其他協定的程式碼進來時,就可以模組化, 大大的增加了 Linux 核心的可維護能力!

核心是一組程式,如果這組程式每次加入新的功能都得要重新編譯與改版的話會變成如何? 想像一下,如果你只是換了顯示卡就得要重新安裝新的 Windows 作業系統,會不會傻眼? 模組化之后,原本的核心程式不需要更動,你可以直接將他想成是 『 驅動程式 』 即可! ^ _ ^

4.3 核心功能細部分工發展階段

后來,因為 Linux 核心加入了太多的功能,光靠托瓦茲一個人進行核心的實際測試并加入核心原始程式實在太費力~ 結果,就有很多的朋友跳出來幫忙這個前置作業!例如考克斯 (Alan Cox) 、 與崔迪 (Stephen Tweedie) 等等, 這些重要的副手會先將來自志工們的修補程式或者新功能的程式碼進行測試, 并且結果上傳給托瓦茲看,讓托瓦茲作最后核心加入的原始碼的選擇與整併! 這個分層負責的結果,讓 Linux 的發展更加的容易!

特別值得注意的是,這些托瓦茲的 Linux 發展副手,以及自愿傳送修補程式的駭客志工, 其實都沒有見過面,而且彼此在地球的各個角落,大家群策群力的共同發展出現今的 Linux , 我們稱這群人為虛擬團隊!而為了虛擬團隊資料的傳輸,于是 Linux 便成立的核心網站: http://www.kernel.org !

而這群素未謀面的虛擬團隊們,在 1994 年終于完成的 Linux 的核心正式版! version 1.0。 這一版同時還加入了 X Window System 的支援呢!且于 1996 年完成了 2.0 版 、2011 年釋出 3.0 版,更于 2015 年 4 月釋出了 4.0 版哩! 發展相當迅速喔!此外,托瓦茲指明了企鵝為 Linux 的吉祥物 。

奇怪的是,托瓦茲是因為小時候去動物園被企鵝咬了一口念念不忘, 而正式的 2.0 推出時,大家要他想一個吉祥物 。 他在想也想不到什么動物的情況下, 就將這個念念不忘的企鵝當成了 Linux 的吉祥物了 …

Linux 由于托瓦茲是針對 386 寫的,跟 386 硬體的相關性很強,所以, 早期的 Linux 確實是不具有移植性的 。 不過,大家知道 Open source 的好處就是, 可以修改程式碼去適合作業的環境 。 因此,在 1994 年以后, Linux 便被開發到很多的硬體上面去了! 目前除了 x86 之外, IBM、HP 等等公司出的硬體也都有被 Linux 所支援呢!甚至于小型單板電腦 ( 樹莓派 / 香蕉派等 ) 與手持裝置 ( 智慧型手機 、 平板電腦 ) 的 ARM 架構系統,大多也是使用 Linux 核心喔!

5 Linux 的核心版本

Linux 的核心版本編號有點類似如下的樣子:

雖然編號就是如上的方式來編的,不過依據 Linux 核心的發展期程,核心版本的定義有點不太相同喔!

5.1 奇數 、 偶數版本分類

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

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

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

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

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

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

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

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

https://www.kernel.org/releases.html

5.3 Linux 核心版本與 Linux 發佈商版本

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

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

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

6 Linux distributions

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

6.1 可完整安裝的 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 核心是由駭客工程師寫的,要由原始碼安裝到 x86 電腦上面成為可以執行的 binary 檔, 這個過程可不是人人都會的~所以早期確實只有工程師對 Linux 有興趣 。 一直到一些社群與商業公司將 Linux 核心配合自由軟體,并提供完整的安裝程序, 且製成光碟 /DVD 后,對于一般使用者來說, Linux 才越來越具有吸引力! 因為只要一直 『 下一步 』 就可以將 Linux 安裝完成啊! ^ _ ^

由于 GNU 的 GPL 授權并非不能從事商業行為,于是很多商業公司便成立來販售 Linux distribution。 而由于 Linux 的 GPL 版權宣告,因此,商業公司所販售的 Linux distributions 通常也都可以從 Internet 上面來下載的! 此外,如果你想要其他商業公司的服務,那么直接向該公司購買光碟來安裝,也是一個很不錯的方式的!

6.2 各大 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 來安裝即可!

  • FHS: http://www.pathname.com/fhs/
  • LSB: http://www.linuxbase.org/

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

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

  • Red Hat: http://www.redhat.com
  • SuSE: https://www.suse.com
  • Fedora: https://getfedora.org/
  • CentOS: http://www.centos.org/
  • Debian: http://www.debian.org/
  • Ubuntu: http://www.ubuntu.com/
  • Gentoo: http://www.gentoo.org/

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

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

6.3 選擇適合你的 Linux distribution

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

總之,版本很多,但是各版本差異其實不大,建議你一定要先選定一個版本后, 先徹頭徹尾的瞭解他,那再繼續玩其他的版本時,就可以很快的進入狀況 。

不過,如果依據電腦主機的用途來分的話,建議:

  • 用于企業環境:建議使用商業版本,例如 Red Hat 的 RHEL 或者是 SuSE 都是很不錯的選擇! 畢竟企業的環境強調的是永續的經營,你可不希望網管人員走了之后整個機房的主機都沒有人管理吧! 由于商業版本都會提供客戶服務,所以可以降低企業的風險喔!

  • 用于個人或教學的伺服器環境:要是你的伺服器所在環境如果當機還不會造成太大的問題的話, 加上你的環境是在教學的場合當中時 ( 就是說,唔!經費不足的環境啦! ) 那么可以使用 『 號稱 』 完全相容商業版 RHEL 的 CentOS。 因為 CentOS 是抓 RHEL 的原始碼來重新兜起來的一個 Linux distribution ,所以號稱相容于 RHEL。 這一版的軟體完全與 RHEL 相同,在改版的幅度較小,適合于伺服器系統的環境;

  • 用于個人的桌上型電腦:想要嘗鮮嗎?建議使用很炫的 Fedora/Ubuntu 等 Desktop( 桌面環境 ) 使用的版本! 如果不想要安裝 Linux 的話,那么 Fedora 或 CentOS 也有推出 Live CD 了!也很容易學習喔!

總結

以上是生活随笔為你收集整理的Linux 发展历程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。