鸟哥的Linux私房菜(基础篇)-第一章、Linux是什么(一.2. Torvalds的Linux发展)
最近更新日期:2009/08/05
2. Torvalds的Linux發(fā)展
2.1 與Minix之間
2.2 對386硬件的多任務(wù)測試
2.3 初次釋出Linux 0.02
2.4 Linux的發(fā)展:虛擬團隊的產(chǎn)生
2.5 Linux 的核心版本
2.6 Linux distributions
Torvalds的Linux發(fā)展
我們前面一節(jié)當中,提到了Unix的歷史,也提到了Linux是由Torvalds這個芬蘭人所發(fā)明的。那么為何托瓦茲可以發(fā)明Linux呢? 憑空想象而來的?還是有什么淵源?這里我們就來談一談啰!
與Minix之間
Linus Torvalds(托瓦茲, 1969年出生)的外祖父是赫爾辛基大學(xué)的統(tǒng)計學(xué)家, 他的外祖父為了讓自己的小孫子能夠?qū)W點東西,所以從小就將托瓦茲帶到身邊來管理一些微計算機。 在這個時期,托瓦茲接觸了匯編語言(Assembly Language),那是一種直接與芯片對談的程序語言,也就是所謂的低級語言。 必須要很了解硬件的架構(gòu),否則很難以匯編語言撰寫程序的。
在1988年間,托瓦茲順利的進入了赫爾辛基大學(xué),并選讀了計算機科學(xué)系。在就學(xué)期間,因為學(xué)業(yè)的需要與自己的興趣, 托瓦茲接觸到了Unix這個操作系統(tǒng)。當時整個赫爾辛基只有一部最新的Unix系統(tǒng),同時僅提供16個終端機(terminal)。 還記得我們上一節(jié)剛剛提過的,早期的計算機僅有主機具有運算功能,terminal僅負責提供Input/Output而已。在這種情況下, 實在很難滿足托瓦茲的需求,因為.....光是等待使用Unix的時間,就很耗時~為此,他不禁想到: 『我何不自己搞一部Unix來玩?』不過,就如同Stallman當初的GNU計劃一樣,要寫核心程序,談何容易~
不過,幸運之神并未背離托瓦茲,因為不久之后,他就知道有一個類似Unix的系統(tǒng), 并且與Unix完全兼容,還可以在Intel 386機器上面跑的操作系統(tǒng), 那就是我們上一節(jié)提過的,譚寧邦教授為了教育需要而撰寫的Minix系統(tǒng)! 他在購買了最新的Intel 386的個人計算機后,就立即安裝了Minix這個操作系統(tǒng)。 另外,上個小節(jié)當中也談到,Minix這個操作系統(tǒng)是有附上原始碼的, 所以托瓦茲也經(jīng)由這個原始碼學(xué)習(xí)到了很多的核心程序設(shè)計的設(shè)計概念喔!
對386硬件的多任務(wù)測試
事實上,托瓦茲對于個人計算機的CPU其實并不滿意,因為他之前碰的計算機都是工作站型的計算機, 這類計算機的CPU特色就是可以進行『多任務(wù)處理』的能力。什么是多任務(wù)呢?理論上, 一個CPU在一個時間內(nèi)僅能進行一個程序, 那如果有兩個以上的程序同時出現(xiàn)到系統(tǒng)中呢?舉例來說, 你可以在現(xiàn)今的計算機中同時開啟兩個以上的辦公軟件,例如電子電子表格與文字處理軟件。 這個同時開啟的動作代表著這兩個程序同時要交給CPU來處理~
啊!CPU一個時間點內(nèi)僅能處理一個程序,那怎么辦?沒關(guān)系,這個時候如果具有多任務(wù)能力的CPU就會在不同的程序間切換~ 還記得前一章談到的CPU頻率吧?假設(shè)CPU頻率為1GHz的話,那表示CPU一秒鐘可以進行109次工作。 假設(shè)CPU對每個程序都只進行1000次運作周期,然后就得要切換到下個程序的話,那么CPU一秒鐘就能夠切換106次呢! (當然啦,切換工作這件事情也會花去一些CPU時間,不過這里暫不討論)。這么快的處理速度下,你會發(fā)現(xiàn), 兩個程序感覺上幾乎是同步在進行啦!
| Tips: 為什么有的時候我同時開兩個檔案(假設(shè)為A, B檔案)所花的時間, 要比開完A再去開B檔案的時間還要多?現(xiàn)在是否稍微可以理解? 因為如果同時開啟的話,CPU就必須要在兩個工作之間不停的切換~ 而切換的動作還是會耗去一些CPU時間的!所以啰,同時啟用兩個以上的工作在一個CPU上, 要比一個一個的執(zhí)行還要耗時一點。這也是為何現(xiàn)在CPU開發(fā)商要整合兩個CPU于一個芯片中! 也是為何在運作情況比較復(fù)雜的服務(wù)器上,需要比較多的CPU負責的原因! |
早期Intel x86架構(gòu)計算機不是很受重視的原因,就是因為x86的芯片對于多任務(wù)的處理不佳, CPU在不同的工作之間切換不是很順暢。但是這個情況在386計算機推出后,有很大的改善。 托瓦茲在得知新的386芯片的相關(guān)信息后,他認為,以性能價格比的觀點來看, Intel的386相當?shù)谋阋?#xff0c;所以在性能上也就稍微可以將就將就 ^_^。最終他就貸款去買了一部Intel的386來玩。
早期的計算機效能沒有現(xiàn)在這么好,所以壓榨計算機效能就成了工程師的一項癖好! 托瓦茲本人早期是玩匯編語言的,匯編語言對于硬件有很密切的關(guān)系,托瓦茲自己也說:『我始終是個性能癖』^_^。 為了徹底發(fā)揮386的效能,于是托瓦茲花了不少時間在測試386機器上! 他的重要測試就是在測試386的多功效能。首先,他寫了三個小程序,一個程序會持續(xù)輸出A、一個會持續(xù)輸出B, 最后一個會將兩個程序進行切換。他將三個程序同時執(zhí)行,結(jié)果,他看到屏幕上很順利的一直出現(xiàn)ABABAB...... 他知道,他成功了! ^_^
圖2.2.1、386計算機的多任務(wù)測試
| Tips: 要達到多任務(wù)(multitasking)的環(huán)境,除了硬件(主要是CPU)需要能夠具有多任務(wù)的特性外,操作系統(tǒng)也需要支持這個功能喔! 一些不具有多任務(wù)特性的操作系統(tǒng),想要同時執(zhí)行兩個程序是不可能的。除非先被執(zhí)行的程序執(zhí)行完畢,否則, 后面的程序不可能被主動執(zhí)行。 至于多任務(wù)的操作系統(tǒng)中,每個程序被執(zhí)行時,都會有一個最大CPU使用時間,若該工作運作的時間超過這個CPU使用時間時, 該工作就會先被丟出CPU的運作中,而再度的進入核心工作排程中等待下一次被CPU取用來運作。 這有點像在開記者會啦,主持人(CPU)會問『誰要發(fā)問』?一群記者(工作程序) 就會舉手(看誰的工作重要!),先舉手的自然就被允許發(fā)問,問完之后, 主持人又會問一次誰要發(fā)問,當然,所有人(包括剛剛那個記者)都可以舉手! 如此一次一次的將工作給他完成啊! ^_^ 多任務(wù)的環(huán)境對于復(fù)雜的工作情況,幫助很大喔! |
初次釋出Linux 0.02
探索完了386的硬件之后,終于拿到Minix并且安裝在托瓦茲的386計算機上之后,托瓦茲跟BBS上面一堆工程師一樣, 他發(fā)現(xiàn)Minix雖然真的很棒,但是譚寧邦教授就是不愿意進行功能的加強,導(dǎo)致一堆工程師在操作系統(tǒng)功能上面的欲求不滿! 這個時候年輕的托瓦茲就想:『既然如此,那我何不自己來改寫一個我想要的操作系統(tǒng)?』 于是他就開始了核心程序的撰寫了。
撰寫程序需要什么呢?首先需要的是能夠進行工作的環(huán)境,再來則是可以將原始碼編譯成為可執(zhí)行文件的編譯程序。 好在有GNU計劃提供的bash工作環(huán)境軟件以及gcc編譯程序等自由軟件, 讓托瓦茲得以順利的撰寫核心程序。他參考Minix的設(shè)計理念與書上的程序代碼,然后仔細研究出386個人計算機的效能優(yōu)化, 然后使用GNU的自由軟件將核心程序代碼與386緊緊的結(jié)合在一起,最終寫出他所需要的核心程序。 而這個小玩意竟然真的可以在386上面順利的跑起來~還可以讀取Minix的文件系統(tǒng)。 真是太好了!不過還不夠,他希望這個程序可以獲得大家的一些修改建議, 于是他便將這個核心放置在網(wǎng)絡(luò)上提供大家下載,同時在BBS上面貼了一則消息:
| Hello everybody out there using minix- I'm doing a (free) operation system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. I've currently ported bash (1.08) and gcc (1.40), and things seem to work. This implies that i'll get something practical within a few months, and I'd like to know what features most people want. Any suggestions are welcome, but I won't promise I'll implement them :-) |
他說,他完成了一個小小的操作系統(tǒng),這個核心是用在386機器上的, 同時,他真的僅是好玩,并不是想要做一個跟GNU一樣大的計劃! 另外,他希望能夠得到更多人的建議與回饋來發(fā)展這個操作系統(tǒng)!這個概念跟Minix剛好背道而馳呢! 這則新聞引起很多人的注意,他們也去托瓦茲提供的網(wǎng)站上下載了這個核心來安裝。 有趣的是,因為托瓦茲放置核心的那個FTP網(wǎng)站的目錄為:Linux, 從此,大家便稱這個核心為Linux了。(請注意,此時的Linux就是那個kernel喔! 另外,托瓦茲所丟到該目錄下的第一個核心版本為0.02呢!)
同時,為了讓自己的Linux能夠兼容于Unix系統(tǒng),于是托瓦茲開始將一些能夠在Unix上面運作的軟件拿來在Linux上面跑。 不過,他發(fā)現(xiàn)到有很多的軟件無法在Linux這個核心上運作。這個時候他有兩種作法, 一種是修改軟件,讓該軟件可以在Linux上跑, 另一種則是修改Linux,讓Linux符合軟件能夠運作的規(guī)范! 由于Linux希望能夠兼容于Unix,于是托瓦茲選擇了第二個作法『修改Linux』! 為了讓所有的軟件都可以在Linux上執(zhí)行,于是托瓦茲開始參考標準的POSIX規(guī)范。
| Tips: POSIX是可攜式操作系統(tǒng)接口(Portable Operating System Interface)的縮寫,重點在規(guī)范核心與應(yīng)用程序之間的接口, 這是由美國電器與電子工程師學(xué)會(IEEE)所發(fā)布的一項標準喔! |
這個正確的決定讓Linux在起步的時候體質(zhì)就比別人優(yōu)良~因為POSIX標準主要是針對Unix與一些軟件運行時候的標準規(guī)范, 只要依據(jù)這些標準規(guī)范來設(shè)計的核心與軟件,理論上,就可以搭配在一起執(zhí)行了。 而Linux的發(fā)展就是依據(jù)這個POSIX的標準規(guī)范,Unix上面的軟件也是遵循這個規(guī)范來設(shè)計的, 如此一來,讓Linux很容易就與Unix兼容共享互有的軟件了!同時,因為Linux直接放置在網(wǎng)絡(luò)下,提供大家下載, 所以在流通的速度上相當?shù)目?#xff01;導(dǎo)致Linux的使用率大增!這些都是造成Linux大受歡迎的幾個重要因素呢!
Linux 的發(fā)展:虛擬團隊的產(chǎn)生
Linux能夠成功除了托瓦茲個人的理念與力量之外,其實還有個最重要的團隊!
- 單一個人維護階段
Linux雖然是托瓦茲發(fā)明的,而且內(nèi)容還絕不會涉及專利軟件的版權(quán)問題。 不過,如果單靠托瓦茲自己一個人的話,那么Linux要茁壯實在很困難~ 因為一個人的力量是很有限的。好在托瓦茲選擇Linux的開發(fā)方式相當?shù)膭?wù)實! 首先,他將釋出的Linux核心放置在FTP上面,并請告知大家新的版本信息, 等到使用者下載了這個核心并且安裝之后,如果發(fā)生問題, 或者是由于特殊需求亟需某些硬件的驅(qū)動程序,那么這些使用者就會主動回報給托瓦茲。 在托瓦茲能夠解決的問題范圍內(nèi),他都能很快速的進行Linux核心的更新與除錯。
- 廣大黑客志工加入階段
不過,托瓦茲總是有些硬件無法取得的啊,那么他當然無法幫助進行驅(qū)動程序的撰寫與相關(guān)軟件的改良。 這個時候,就會有些志工跳出來說:『這個硬件我有,我來幫忙寫相關(guān)的驅(qū)動程序。』 因為Linux的核心是Open Source的,黑客志工們很容易就能夠跟隨Linux的原本設(shè)計架構(gòu), 并且寫出兼容的驅(qū)動程序或者軟件。志工們寫完的驅(qū)動程序與軟件托瓦茲是如何看待的呢? 首先,他將該驅(qū)動程序/軟件帶入核心中,并且加以測試。 只要測試可以運行,并且沒有什么主要的大問題,那么他就會很樂意的將志工們寫的程序代碼加入核心中!
總之,托瓦茲是個很務(wù)實的人,對于Linux核心所欠缺的項目,他總是『先求有且能跑, 再求進一步改良』的心態(tài)!這讓Linux使用者與志工得到相當大的鼓勵! 因為Linux的進步太快了!用戶要求虛擬內(nèi)存,結(jié)果不到一個星期推出的新版Linux就有了! 這不得不讓人佩服啊!
另外,為因應(yīng)這種隨時都有程序代碼加入的狀況,于是Linux便逐漸發(fā)展成具有模塊的功能! 亦即是將某些功能獨立出于核心外,在需要的時候才加載到核心中。如此一來, 如果有新的硬件驅(qū)動程序或者其他協(xié)議的程序代碼進來時,就可以模塊化, 大大的增加了Linux核心的可維護能力!
| Tips: 核心是一組程序,如果這組程序每次加入新的功能都得要重新編譯與改版的話會變成如何? 想象一下,如果你只是換了顯示適配器就得要重新安裝新的Windows操作系統(tǒng),會不會傻眼? 模塊化之后,原本的核心程序不需要更動,你可以直接將他想成是『驅(qū)動程序』即可! ^_^ |
- 核心功能細部分工發(fā)展階段
后來,因為Linux核心加入了太多的功能,光靠托瓦茲一個人進行核心的實際測試并加入核心原始程序?qū)嵲谔M力~ 結(jié)果,就有很多的朋友跳出來幫忙這個前置作業(yè)!例如考克斯(Alan Cox)、與崔迪(Stephen Tweedie)等等, 這些重要的副手會先將來自志工們的修補程序或者新功能的程序代碼進行測試, 并且結(jié)果上傳給托瓦茲看,讓托瓦茲作最后核心加入的原始碼的選擇與整并! 這個分層負責的結(jié)果,讓Linux的發(fā)展更加的容易!
特別值得注意的是,這些托瓦茲的Linux發(fā)展副手,以及自愿傳送修補程序的黑客志工, 其實都沒有見過面,而且彼此在地球的各個角落,大家群策群力的共同發(fā)展出現(xiàn)今的Linux, 我們稱這群人為虛擬團隊!而為了虛擬團隊數(shù)據(jù)的傳輸,于是Linux便成立的核心網(wǎng)站: http://www.kernel.org!
而這群素未謀面的虛擬團隊們,在1994年終于完成的Linux的核心正式版!version 1.0。 這一版同時還加入了X Window System的支持呢!更于1996年完成了2.0版。此外,托瓦茲指明了企鵝為Linux的吉祥物。
| Tips: 奇怪的是,托瓦茲是因為小時候去動物園被企鵝咬了一口念念不忘, 而正式的2.0推出時,大家要他想一個吉祥物。他在想也想不到什么動物的情況下, 就將這個念念不忘的企鵝當成了Linux的吉祥物了...... |
Linux由于托瓦茲是針對386寫的,跟386硬件的相關(guān)性很強,所以, 早期的Linux確實是不具有移植性的。不過,大家知道Open source的好處就是, 可以修改程序代碼去適合作業(yè)的環(huán)境。因此,在1994年以后,Linux便被開發(fā)到很多的硬件上面去了! 目前除了x86之外,IBM、HP、Sun等等公司出的硬件也都有被Linux所支持呢!
Linux的核心版本
Linux的核心版本編號有點類似如下的樣子:
| 2.6.18-92.el5 主版本.次版本.釋出版本-修改版本 |
如前所述,因為對于Linux核心的開發(fā)者太多了,以致于造成Linux核心經(jīng)常性的變動。 但對于一般家庭計算機或企業(yè)關(guān)鍵應(yīng)用的話,常變動的核心并不適合的。因此托瓦茲便將核心的發(fā)展趨勢分為兩股, 并根據(jù)這兩股核心的發(fā)展分別給予不同的核心編號,那就是:
- 主、次版本為奇數(shù):發(fā)展中版本(development)
如2.5.xx,這種核心版本主要用在測試與發(fā)展新功能,所以通常這種版本僅有核心開發(fā)工程師會使用。 如果有新增的核心程序代碼,會加到這種版本當中,等到眾多工程師測試沒問題后,才加入下一版的穩(wěn)定核心中;
- 主、次版本為偶數(shù):穩(wěn)定版本(stable)
如2.6.xx,等到核心功能發(fā)展成熟后會加到這類的版本中,主要用在一般家庭計算機以及企業(yè)版本中。 重點在于提供使用者一個相對穩(wěn)定的Linux作業(yè)環(huán)境平臺。
至于釋出版本則是在主、次版本架構(gòu)不變的情況下,新增的功能累積到一定的程度后所新釋出的核心版本。 而由于Linux核心是使用GPL的授權(quán),因此大家都能夠進行核心程序代碼的修改。因此,如果你有針對某個版本的核心修改過部分的程序代碼, 那么那個被修改過的新的核心版本就可以加上所謂的修改版本了。
Linux核心版本與distribution (下個小節(jié)會談到) 的版本并不相同,很多朋友常常上網(wǎng)問到:『我的Linux是9.x版,請問....』之類的留言, 這是不對的提問方式,因為所謂的Linux版本指的應(yīng)該是核心版本, 而目前最新的核心版本應(yīng)該是2.6.30(2009/08) 才對,并不會有9.x的版本出現(xiàn)的。
妳常用的Linux系統(tǒng)則應(yīng)該說明為distribution才對!因此,如果以CentOS這個distribution來說, 妳應(yīng)該說:『我用的Linux是CentOS這個 distribution,版本為5.x 版,請問....』才對喔!
| Tips: 當妳有任何問題想要在Linux論壇發(fā)言時,請務(wù)必仔細的說明妳的distribution版本, 因為雖然各家distributions使用的都是Linux核心,不過每家distributions所選用的軟件以及他們自己發(fā)展的工具并不相同, 多少還是有點差異,所以留言時得要先聲明distribution的版本才行喔! ^_^ |
Linux distributions
好了,經(jīng)過上面的說明,我們知道了Linux其實就是一個操作系統(tǒng)最底層的核心及其提供的核心工具。 他是GNU GPL授權(quán)模式,所以,任何人均可取得原始碼與可執(zhí)行這個核心程序,并且可以修改。 此外,因為Linux參考POSIX設(shè)計規(guī)范,于是兼容于Unix操作系統(tǒng),故亦可稱之為Unix Like的一種。
| Tips: 鳥哥曾在上課的時候問過同學(xué):『什么是Unix Like啊』?可愛的同學(xué)們回答的答案是:『就是很喜歡(like)Unix啦!』 囧rz...那個like是『很像』啦!所以Unix like是『很像Unix的操作系統(tǒng)』哩! |
- 可完全安裝的Linux發(fā)布套件
Linux的出現(xiàn)讓GNU計劃放下了心里的一塊大石頭,因為GNU一直以來就是缺乏了核心程序, 導(dǎo)致他們的GNU自由軟件只能在其他的Unix上面跑。既然目前有Linux出現(xiàn)了,且 Linux也用了很多的GNU相關(guān)軟件,所以Stallman認為Linux的全名應(yīng)該稱之為GNU/Linux呢! 不管怎么說,Linux實在很不錯,讓GNU軟件大多以Linux為主要操作系統(tǒng)來進行開發(fā), 此外,很多其他的自由軟件團隊,例如sendmail, wu-ftp, apache等等也都有以Linux 為開發(fā)測試平臺的計劃出現(xiàn)!如此一來,Linux除了主要的核心程序外,可以在Linux 上面運行的軟件也越來越多,如果有心,就能夠?qū)⒁粋€完整的Linux操作系統(tǒng)搞定了!
雖然由Torvalds負責開發(fā)的Linux僅具有Kernel與Kernel提供的工具, 不過,如上所述,很多的軟件已經(jīng)可以在Linux上面運作了,因此, 『Linux + 各種軟件』就可以完成一個相當完整的操作系統(tǒng)了。 不過,要完成這樣的操作系統(tǒng)......還真難~ 因為Linux早期都是由黑客工程師所開發(fā)維護的,他們并沒有考慮到一般使用者的能力......
為了讓使用者能夠接觸到Linux,于是很多的商業(yè)公司或非營利團體, 就將Linux Kernel(含tools)與可運行的軟件整合起來,加上自己具有創(chuàng)意的工具程序, 這個工具程序可以讓用戶以光盤/DVD或者透過網(wǎng)絡(luò)直接安裝/管理Linux系統(tǒng)。 這個『Kernel + Softwares + Tools的可完全安裝』的咚咚,我們稱之為Linux distribution, 一般中文翻譯成可完全安裝套件,或者Linux發(fā)布商套件等。
圖2.5.1、Linux可完全安裝發(fā)布套件
| Tips: 由于Linux核心是由黑客工程師寫的,要由原始碼安裝到x86計算機上面成為可以執(zhí)行的binary檔案, 這個過程可不是人人都會的~所以早期確實只有工程師對Linux有興趣。 一直到一些社群與商業(yè)公司將Linux核心配合自由軟件,并提供完整的安裝程序, 且制成光盤/DVD后,對于一般使用者來說,Linux才越來越具有吸引力! 因為只要一直『下一步』就可以將Linux安裝完成啊! ^_^ |
由于GNU的GPL授權(quán)并非不能從事商業(yè)行為,于是很多商業(yè)公司便成立來販賣Linux distribution。 而由于Linux的GPL版權(quán)宣告,因此,商業(yè)公司所販賣的Linux distributions通常也都可以從Internet上面來下載的! 此外,如果你想要其他商業(yè)公司的服務(wù),那么直接向該公司購買光盤來安裝,也是一個很不錯的方式的!
- 各大Linux Distributions的主要異同:支持標準!
不過,由于發(fā)展Linux distributions的社群與公司實在太多了,例如在臺灣有名的Red Hat, SuSE, Ubuntu, Fedora, Debian等等,所以很多人都很擔心,如此一來每個distribution是否都不相同呢? 這就不需要擔心了,因為每個Linux distributions使用的kernel都是http://www.kernel.org所釋出的,而他們所選擇的軟件,幾乎都是目前很知名的軟件,重復(fù)性相當?shù)母?#xff0c; 例如網(wǎng)頁服務(wù)器的Apache,電子郵件服務(wù)器的Postfix/sendmail,文件服務(wù)器的Samba等等。
此外,為了讓所有的Linux distributions開發(fā)不致于差異太大,且讓這些開發(fā)商在開發(fā)的時候有所依據(jù),還有Linux Standard Base (LSB)等標準來規(guī)范開發(fā)者,以及目錄架構(gòu)的File system Hierarchy Standard (FHS)標準規(guī)范! 唯一差別的,可能就是該開發(fā)者自家所開發(fā)出來的管理工具,以及套件管理的模式吧! 所以說,基本上,每個Linux distributions除了架構(gòu)的嚴謹度與選擇的套件內(nèi)容外, 其實差異并不太大啦! ^_^ 。大家可以選擇自己喜好的distribution來安裝即可!
- FHS: http://www.pathname.com/fhs/
- LSB: http://www.linuxbase.org/
| Tips: 事實上鳥哥認為distributions主要分為兩大系統(tǒng),一種是使用RPM方式安裝軟件的系統(tǒng),包括Red Hat, Fedora, SuSE等都是這類; 一種則是使用Debian的dpkg方式安裝軟件的系統(tǒng),包括Debian, Ubuntu, B2D等等。 |
底下列出幾個主要的Linux distributions發(fā)行者網(wǎng)址:
- Red Hat: http://www.redhat.com
- Fedora: http://fedoraproject.org/
- Mandriva: http://www.mandriva.com
- Novell SuSE: http://www.novell.com/linux/
- Debian: http://www.debian.org/
- Slackware: http://www.slackware.com/
- Gentoo: http://www.gentoo.org/
- Ubuntu: http://www.ubuntu.com/
- CentOS: http://www.centos.org/
| Tips: 到底是要買商業(yè)版還是社群版的Linux distribution呢?如果是要裝在個人計算機上面做為桌面計算機用的,建議使用社群版, 包括Fedora, Ubuntu, OpenSuSE等等。如果是用在服務(wù)器上面的,建議使用商業(yè)版本,包括Red Hat, SuSE等。 這是因為社群版通常開發(fā)者會加入最新的軟件,這些軟件可能會有一些bug存在。至于商業(yè)版則是經(jīng)過一段時間的磨合后, 才將穩(wěn)定的軟件放進去。 舉例來說,Fedora出來的軟件套件經(jīng)過一段時間的維護后,等到該軟件穩(wěn)定到不容易發(fā)生錯誤后, Red Hat才將該軟件放到他們最新的釋出版本中。所以,Fedora的軟件比較經(jīng)常改版,Red Hat的軟件就較少更版。 |
- Linux在臺灣
當然發(fā)行套件者不僅于此。但是值得大書特書的,是中文Linux的延伸計劃:CLE這個套件! 早期的Linux因為是工程師發(fā)展的,而這些工程師大多以英文語系的國家為主, 所以Linux對于國人的學(xué)習(xí)是比較困擾一點。后來由國人發(fā)起的CLE計劃: http://cle.linux.org.tw/ 開發(fā)很多的中文套件及翻譯了很多的英文文件,使得我們目前得以使用中文的Linux呢! 另外,目前正在開發(fā)中的還有臺南縣臥龍小三等老師們發(fā)起的眾多自由軟件計劃, 真是造福很多的朋友啊!
- 自由軟件技術(shù)交流網(wǎng): http://freesf.tnc.edu.tw/index.php
- B2D: http://b2d.tnc.edu.tw/
- http://www.knoppix.net/
- 中文 KNOPPIX: http://knoppix.tnc.edu.tw/
| Tips: 對于沒有額外的硬盤或者是沒有額外的主機的朋友來說,KNOPPIX這個可以利用光盤開機而進入Linux操作系統(tǒng)的Live CD 真的是一個不錯的選擇!你只要下載了KNOPPIX的映象檔,然后將他刻錄成為CD, 放入你主機的光驅(qū),并在BIOS內(nèi)設(shè)定光盤為第一個開機選項,就可以使用Linux系統(tǒng)了呢! |
- http://distrowatch.com/
- 選擇適合你的Linux distribution
那我到底應(yīng)該要選擇哪一個distributions?就如同我們上面提到的,其實每個distributions差異性并不大! 不過,由于套件管理的方式主要分為Debian的dpkg及Red Hat系統(tǒng)的RPM方式, 目前鳥哥的建議是,先學(xué)習(xí)以RPM套件管理為主的RHEL/Fedora/SuSE/CentOS等臺灣使用者較多的版本, 這樣一來,發(fā)生問題時,可以提供解決的管道比較多。如果你已經(jīng)接觸過Linux了, 還想要探討更嚴謹?shù)腖inux版本,那可以考慮使用Debian,如果你是以效能至上來考慮, 那么或許Gentoo是不錯的建議!
總之,版本很多,但是各版本差異其實不大,建議你一定要先選定一個版本后, 先徹頭徹尾的了解他,那再繼續(xù)玩其他的版本時,就可以很快的進入狀況。 鳥哥的網(wǎng)站僅提供一個版本,不過是以比較基礎(chǔ)的方式來介紹的, 因此,如果能夠熟練俺這個網(wǎng)站的話,呵呵!哪一個distributions對你來說,都不成問題啦!
不過,如果依據(jù)計算機主機的用途來分的話,在臺灣鳥哥會這樣建議:
- 用于企業(yè)環(huán)境:建議使用商業(yè)版本,例如Red Hat的RHEL或者是Novell的SuSE都是很不錯的選擇! 畢竟企業(yè)的環(huán)境強調(diào)的是永續(xù)的經(jīng)營,你可不希望網(wǎng)管人員走了之后整個機房的主機都沒有人管理吧! 由于商業(yè)版本都會提供客戶服務(wù),所以可以降低企業(yè)的風(fēng)險喔!
- 用于個人或教學(xué)的服務(wù)器環(huán)境:要是你的服務(wù)器所在環(huán)境如果當機還不會造成太大的問題的話, 加上你的環(huán)境是在教學(xué)的場合當中時(就是說,唔!經(jīng)費不足的環(huán)境啦!)那么可以使用『號稱』完全兼容商業(yè)版RHEL的CentOS。 因為CentOS是抓RHEL的原始碼來重新兜起來的一個Linux distribution,所以號稱兼容于RHEL。 這一版的軟件完全與RHEL相同,在改版的幅度較小,適合于服務(wù)器系統(tǒng)的環(huán)境;
- 用于個人的桌面計算機:想要嘗鮮嗎?建議使用很炫的Fedora/Ubuntu等Desktop(桌面環(huán)境)使用的版本! 如果不想要安裝Linux的話,那么Fedora或CentOS也有推出Live CD了!也很容易學(xué)習(xí)喔!
出處:http://vbird.dic.ksu.edu.tw/linux_basic/0110whatislinux_2.php
總結(jié)
以上是生活随笔為你收集整理的鸟哥的Linux私房菜(基础篇)-第一章、Linux是什么(一.2. Torvalds的Linux发展)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 鸟哥的Linux私房菜(基础篇)-第一章
- 下一篇: 鸟哥的Linux私房菜(基础篇)-第一章