adj 2008-1-2 21:25
如何學習 Linux "一篇不錯的文章"
這篇文章粉久了...不過還是跟大家分享!^^ <BR><BR><BR>來源<A href="http://www.linux.org.tw/" target=_blank>www.linux.org.tw</A> Edited on 5/10/2002 by Kirk <BR><BR><BR><BR>看到網路上有許多新手,在使用 Linux 的過程中遇到很多問題,當然也有 <BR>不少熱心的老手很願意照顧這些新手們,只是看看新手們 po 出來的問題, <BR>有的內容很籠統,有的則是不知所云,這樣會增加許多老手在回答問題方面 <BR>的困難度,因為反覆看了半天也找不出問題的核心究竟在那裡。 <BR><BR>當然,能夠自己去找出問題的答案是很好的,只是對於非資訊科學系出身的 <BR>人來說,網路上一大堆專業文件也很難看得懂,了解 Linux 的人會覺得它 <BR>比 Windows 好,不了解的人也許連開機都成問題。 <BR><BR>在這裡有一個很重要很重要的觀念必須要強調:Linux 的核心架構完完全全 <BR>不同於 Windows,因此千萬不要抱著使用 Windows 的心態來研究 Linux, <BR>否則會遭遇到很嚴重的挫折。 <BR><BR>Linux 是一個 32 位元的多人多工的大型企業用伺服器作業系統。Windows <BR>只有 NT 的系列產品才可以勉強算是 32 位元的產品,然而一直到了 XP 的 <BR>時代,NT 系列的核心架構才算是追上了 Linux 的水準。 <BR><BR>Linux 最大的缺點就是桌面環境的整合度不像 Windows 那麼好,然而伺服 <BR>器若採用 XP 產品,其穩定性還可以,但是效率上卻不如 Linux。 <BR><BR>在以下的文章裡面,有三個重點要詳加討論一下: <BR><BR><FONT color=blue>第一,什麼是伺服器? <BR>第二,什麼是多人多工作業系統? <BR>第三,Linux 的核心架構究竟跟 Windows 有什麼不同的地方? <BR></FONT><BR>以上三個重點談完了,最後就以各發行版的比較及常見問題做結束。 <BR><BR>首先來談談伺服器。在一般人的觀念裡,伺服器很可能只是拿來架網路的,但 <BR>事實上,古早的伺服器是一種“性能和價格都比一般終端機更可怕的電腦”, <BR>而且這樣的概念一直到今天也還是一樣。 <BR><BR>伺服器的特點就是多個 CPU 同時進行資料處理以及運算的工作,而且體積龐 <BR>大,發出的熱量也高,因此一套大型企業用伺服器必須要花上不少成本去運作 <BR>,去維護。也正因為大型的企業用伺服器價格昂貴,所以古早時期的企業,有 <BR>一套這樣的機房設備就很了不起了。像這樣的設備當然是要給全公司的人使用 <BR>的,因此企業內部的區域網路概念就這樣成形了。 <BR><BR>想使用這套大型伺服系統的人,只要在自己的辦公室裡,透過“終端機”這樣 <BR>的設備,就可以使用伺服器的儲存設備,以及處理器的運算資源。終端機的原 <BR>始概念並不是一台電腦,只是一個螢幕,它的目的是要讓使用者透過網路接收 <BR>來自伺服器的訊息。也許它有中央處理器,但是功能也很簡單,只是單純地處 <BR>理 I/O 等資料輸出入的工作而已。而且重點是,它很便宜。 <BR><BR>自從終端機有了中央處理器,也就是 CPU 之後,終端機才搖身一變而成為個人 <BR>電腦,也就是 PC (Personal Computer)。當時個人電腦的代名詞就是 Apple, <BR>也就是現今的 Mac。 <BR><BR>當年的 Apple 剛推出的時候,只有單色螢幕,而且價格昂貴。所使用的儲存 <BR>設備是磁帶機,而不是磁碟機。伺服器系統所使用的儲存設備也是磁帶機, <BR>Linux 有一個指令:tar,就是將資料打包之後,存進磁帶機用的指令。 <BR><BR>當時的大型企業用伺服器,所使用的作業系統,是由 AT&T 的貝爾實驗室所 <BR>研發的 UNIX,是一套售價極為昂貴的作業系統。後來為了教學用途,AT&T <BR>提供了 UNIX 的“部份”原始碼給柏克萊大學,也就是 BSD (Berkley <BR>Software Distribution),現今所謂的 Free BSD,絕對不是免費的意思! <BR>而是指“開放原始碼”的意思。 <BR><BR>UNIX 當年是一套需要收費的大型伺服器作業系統,Sun Microsystem 的創 <BR>辦人裡面,有一位 Bill Joy 就是柏克萊大學的研究生。微軟的掘起是在個 <BR>人電腦的領域方面,當時的個人電腦尚無法運作 UNIX 這樣的大型電腦作業 <BR>系統,因為當時的個人電腦只有 8 位元。而微軟的 DOS 產品,嚴格來說也 <BR>不算是作業系統,而是一套“磁碟操作系統”,因此 DOS 的主要功能是在於 <BR>資料的 I/O 上頭,這也是為什麼採用 DOS 作業系統的個人電腦大多被拿來 <BR>用作文書處理的緣故。 <BR><BR>令人訝異的是,個人電腦在很短的時間內急速發展,功能也有著突飛猛進的 <BR>發展,使得微軟作業系統橫掃全世界的個人電腦市場,甚至威脅到了 <BR>Sun Microsystem 的伺服器市場,這也是為什麼 Sun 一直視微軟為最大競 <BR>爭對手的緣故。 <BR><BR>既然當年的 UNIX 是要錢的,那麼免費的 Linux 是怎麼來的?原來柏克萊大 <BR>學的教授將學術研究用的部份 UNIX 原始碼以自由的形式公開,這使得擁有 <BR>版權的 AT&T 很不高興,控告了柏克萊大學,但因為 AT&T 後來因為獨佔的 <BR>罪名被法院拆解成七家子公司,最後賣給了 Novell,因此這場官司最後也就 <BR>不了了之。 <BR><BR>UNIX 的原始碼後來被一名麻省理工學院的人工智慧實驗室教授 <BR>Richard M. Stallman 所發展的 GNU 計畫給散播到了全世界。這位教授希 <BR>望讓全世界的人都來使用這有史以來最棒的作業系統,所謂的 GNU 就是一套 <BR>全新的大眾化 UNIX 作業系統,跟原先的 UNIX 已經不一樣了,因此由他所 <BR>創辦的自由軟體基金會有一個很有名的宣言: GNU is Not Unix。 <BR><BR>原本的 UNIX 核心 (kernel),並不適合一般的個人電腦使用,它是一個像恐 <BR>龍一樣龐大而又笨重的傢伙,因此有了微核心的概念,接著又有了 Minix, <BR>這是 Andrew Tanenbaum 教授為教學目的撰寫的作業系統。在教育界可算是一 <BR>套學習 UNIX 基礎的好範本。 <BR><BR>然而採用微核心的 UNIX,其實只是功能嚴重縮水的 UNIX,不但沒有原本 <BR>UNIX 的特點,甚至還更糟糕。當年已經是 386 個人電腦的時代,正是微軟 <BR>DOS 作業系統橫行無阻的年代, UNIX 可以說是幾乎快要被淘汰了。然而, <BR>這時卻有一位芬蘭赫爾辛基大學資訊系二年級的學生 Linus Benedict Torvalds <BR>,因為瘋狂愛上 UNIX 這套作業系統,但是卻不滿意自己的 386 執行 Minix <BR>有許多差勁的地方,因此他興起了一個念頭:重做一個核心吧! <BR><BR>他花了很多時間做出了一個核心,並且發表在網路上,當時他貼出了一份如下 <BR>的公告: <BR><BR>Hello everybody out there using minix: <BR><BR>I'm doing a (free) operation system.....(以下的內容省略) <BR><BR>他所發展出來的核心,初期並沒有引起很大的轟動,直到人們發覺它是一套 <BR>可以在 386 個人電腦上運作的 UNIX,並且可以輕易地將個人電腦變成伺服 <BR>器,很快地 Linux 就席捲了整個自由軟體的世界。後來並且有了 X 視窗操 <BR>作介面,以及 Gnome 、 KDE 等桌面操作環境,以及 XFree 這樣的設備驅 <BR>動函式庫,Linux 才得以擁有漂亮的圖形操作介面。 <BR><BR>關於這部份的介紹,就在這裡打住,想要詳細的全文,請到這個網址: <BR><BR><A href="http://www.europa.idv.tw/UNIX/AKFdoc/UNIX-history/UNIX_History.html" target=_blank><FONT color=#006699>http://www.europa.idv.tw/UNIX/AKFdoc/UNIX-history/UNIX_History.html</FONT></A> <BR><BR>當讀者有了大型伺服器的概念之後,討論第二個重點:什麼是多人多工,才是 <BR>比較有意義的事情。 <BR><BR>多人多工並不是在一個桌面上開啟多個視窗,就叫做多工。 <BR><BR>微軟的 Windows 在這方面的技術還比不上 Linux。所謂的多人多工,真正的 <BR>意義是:讓不同的使用者,在同一時間內,使用同一部伺服器的資源。 <BR><BR>比方說,有一個使用者想連上這伺服器聽 mp3,另外一個使用者也想連上伺服 <BR>器玩 game,作業系統可以分配資源給連接到伺服器的電腦,同時進行兩種完 <BR>全不同的工作,這就是資源共享。想要順利達成這樣的工作,伺服器又不能出 <BR>現錯誤,而且也不能有安全上的漏洞,可想而知這技術有多麼難以達成。 <BR><BR>那麼有人會覺得說,我的電腦又不用來當做伺服器,為什麼要用 Linux?當然 <BR>以 Linux 做為工作站,也可以享有穩定多工的環境,但最垂要的是,現今的 <BR>寬頻愈來愈普及,個人電腦的運算能力也愈來愈強,未來的網際網路就不再是 <BR>伺服器對工作站的架構 ( server-client ),而是伺服器對伺服器了。 <BR>(server-server) <BR><BR>最後一點,Linux 的核心架核究竟跟微軟的 Windows 有什麼不一樣的地方? <BR>首先來看看它的檔案系統,為了符合大型電腦的需求,Linux 將所有的儲存 <BR>裝置都視為一個目錄,這是達成無限的擴充需求。例如說,可以將多個硬碟 <BR>合成一個目錄,就像是 RAID 架構,也可以一個磁碟掛載成不同的目錄,每 <BR>個目錄都有各自的功能。 <BR><BR>因此“掛載”是 Linux 一個非常重要的概念。理論上,Linux 可以將任何儲 <BR>存媒體,不論是什麼樣的檔案系統,掛載成目錄的形式來使用。 <BR><BR>目錄在 Linux 的概念上並不是資料夾,這是 Windows 裡的概念。有一 <BR>個地方可以用來說明這個不同點。對Windows 來說,根目錄就是安裝 <BR>Windows 的磁區,比方說 C:。但是 Linux的根目錄就不一定是一個主磁區, <BR>很可能是大量儲存媒體的集合體。 <BR><BR>也可以說,一部大型電腦伺服器,若有需要加裝更多的記憶體,更多的硬碟, <BR>更多的 CPU,Linux 都可以輕易接受。甚至 Linux 的核心或是開機檔案都可 <BR>以放在不同的目錄、不同的儲存裝置,不同的磁區,照樣能夠運作正常。 <BR><BR>但是 Windows 就不行,甚至硬碟的分割都必須合乎微軟的標準。這是相當白 <BR>癡的做法,只要一個檔案不見了,Windows 就無法開機,甚至造成嚴重損毀。 <BR>企業可能會因為一次當機造成無可彌補的損失。 <BR><BR>微軟的 Windows 只適合個人電腦的單 CPU、單硬碟。Windows 沒辦法從“任 <BR>意一個磁區”來啟動,硬碟的分割,也只能符合主開機區加上延伸磁區的概 <BR>念,甚至主開機磁區也有磁柱、數量的限制。 <BR><BR>不僅如此,Linux 的核心能夠接受套件來加強功能。有一個概念必須要弄清楚 <BR>,套件其實並不完全是應用程式。凡是跟核心有關的套件一但安裝了,它就跟 <BR>Linux 的核心融為一體,功能變得更加強大,但是微軟的 Windows 核心是 <BR>“釘死的”,它沒有辦法增加功能,因此每年都要換新一次微軟的產品。微軟 <BR>每年都要將他們的作業系統大幅度地改版一次,因此投下了大量的研發經費, <BR>然而 Linux 只要安裝更新套件就行了。 <BR><BR>這種概念就像是做了一個機器人,你可以任意加強它的功能,裝上手臂就可以 <BR>舉重物,裝了雙腳它就可以走路,裝上翅膀甚至可以飛上天! <BR><BR>究竟 Linux 跟 Windows 的核心那裡不一樣?簡單地說就是: <BR><BR>Linux 的核心具有無限擴充的可能性,Windows 卻是釘死的。 <BR><BR>在可預見的未來,微軟每年投下的作業系統研發經費會呈現等比級數的成長, <BR>並且推出的產品限制會愈來愈多。也許微軟會加進很多新功能,但也就是這麼 <BR>多而已,使用者也許可以藉由應用程式來增加功能,但是舊有的應用程式並無 <BR>法用在微軟的新作業系統上面。 <BR><BR>從很多方面來分析,Linux 不但功能強大,而且擁有無限的發展潛力。但是它 <BR>並沒有辦法以“商業利益”來推動它的發展。事實上,Linux 的發展主要是靠 <BR>著“虛擬團隊”,也就是網際網路上的高手來發展,這也是為什麼,Linux 一 <BR>直到了網際網路發達的今天,才有突破性發展的緣故。 <BR><BR>然而“無限”是一個很籠統的概念,因此 Linux 才會冒出一大堆不同的發行 <BR>版。以現今市場占有率最大的 Red Hat 以及 Mandrake 來說,Mandrake 的硬 <BR>體相容性比較好,安裝時比較不會遇到困難,然而在函式庫方面,Mandrake <BR>時常出現連結錯誤的現象,因此比較不穩定,也較容易當機。新推出的 9.0 <BR>版本在穩定性方面提昇不少,值得嘉獎。 <BR><BR>Red Hat 就比較專業,這也是長期耕耘專業伺服器的成果,用來開發程式很 <BR>不錯。然而在安裝方面較為不易,除非將整個硬體環境配置成為接近伺服器的 <BR>環境。最近推出的 8.0 版本已經將 Mandrake 的親和力以及硬體相容性放進 <BR>去,未來鹿死誰手還很難說。 <BR><BR>微軟的產品,最大的優勢在兩個方面:一是因為封閉原始碼帶來的巨額商業利 <BR>益,一是利用廣大的市場佔有率制定各種不同的標準。尤其是後者,因為版權 <BR>的問題,Linux 無法使用微軟的 DirectX 函式庫,因此硬體的相容性比較差。 <BR><BR>早年微軟制定出 DirectX 的時候,並不是一個繪圖函式庫,而是一個 API, <BR>也就是應用程式介面。當一個程式設計師所設計出來的應用程式,呼叫 <BR>DirectX 函式庫,只要電腦的硬體設備符合 DirectX 標準,那麼這個應用 <BR>程式就可以運作正常。 <BR><BR>早在 DOS 時代,沒有 DirectX 函式庫,程式設計師必須要親自撰寫裝置的 <BR>驅動程式。然而有了 DirectX,裝置的驅動交由它來負責就行了,程式設計 <BR>師只要負責核心程式碼的部份就好了,大大減少開發程式的困難度。 <BR><BR>然而這卻無法彌補微軟 Windows 本身的缺陷,因此當應用程式出錯的時候, <BR>程式設計師要花更多的時間去找出錯誤,有許多作業系統本身的錯誤並無法 <BR>被程式設計師修正,因此也只能期待微軟推出修補程式。然而微軟每修補一個 <BR>漏洞,就產生更多的漏洞,直到最後不得不重新推出一個作業系統。 <BR><BR>目前硬體部份是由 XFree 團隊來負責的。所謂 XFree 的意思是,讓所有的硬 <BR>體都能在 X Window 環境下順利運作,而且不需要使用者親自撰寫驅動程式。 <BR>因此使用者在購買硬體時,最好能夠考慮 XFree 的相容性。在 Red Hat 或是 <BR>Mandrake 的官方網站都可以看到完整的硬體相容性列表。 <BR><BR>以我的經驗,購買主機板最好能選擇有生產伺服器專用主機板的廠商,這樣在 <BR>Linux 下也能運作無誤。我的主機板採用艾崴的產品,就很穩定,不論是 98 <BR>或是 Linux。 <BR><BR>由於市面上大部份的顯示卡都是 DirectX 標準,只有 NVIDIA 的顯示卡有專屬 <BR>的驅動程式。另外由於創巨公司的音效卡是專為 DirectX 量身訂做的,因此在 <BR>Linux 的環境下只有兩聲道。 <BR><BR>以我的經驗,台灣自製的產品大多會考慮到 Linux 的相容性,尤其是驊訊公司 <BR>的音效處理晶片 C-Media 8738 有專屬的 Linux 驅動程式,大多的主機板都有 <BR>內建。 <BR><BR>購買硬體,有一件事很重要,就是客戶服務。其他的公司怎麼樣我不知道,但 <BR>是華碩就很糟糕,寫去的 e-mail 從沒有回過。但是艾崴就很好,有專門的工 <BR>程師回答你的問題。安裝 Linux 碰到問題,有時候寫信去問公司的工程師會 <BR>比較好。 <BR><BR>另外在磁區的分割方面,安裝 Linux 的人常犯的錯誤就是將 Linux 安裝在 <BR>Windows 分割出來的磁區裡面。Linux 無法開機大多是這個原因,例如,將 <BR>Linux 安裝在 Windows 的延伸磁區裡面。這樣做當然可以,但是多重開機 <BR>程式的運作會出現問題,倘若使用者堅持這樣做,就準備一張 Linux 開機用 <BR>的磁片吧。 <BR><BR>最好的方法是,在硬碟裡割出一塊主開機區,不要把硬碟所有的空間都分配 <BR>進去。安裝好 Windows 之後,再用 Linux 開機光碟開機,並且割出 Linux <BR>專屬的磁區。Windows 看不到 Linux 的磁區,但 Linux 卻可以將 Windows <BR>的磁區掛載上去,因此使用上並不會發生衝突。 <BR><BR>XP 的磁區一樣可以看到,使用者在安裝時設定一個掛載點給它就好了,只 <BR>是多重開機程式的設定值必須要修改一下。 <BR><BR>由於 X Window 只是一個圖形操作介面,它並沒有像 Windows 一樣用桌面環 <BR>境取代了主控台,因此任何對 X Window 的操作,都會轉成相對應的 Linux <BR>指令。因此,一本詳盡的指令手冊也是必須的,可以從網路上下載,也可以 <BR>到書店去購買。甚至有許多設定值,必須親自動手去修改,不能經由 <BR>X Window 去設定。 <BR><BR>然而這一點在 KDE 環境已經改善很多了,總有一天 Linux 會變得像 Windows <BR>一樣好用,期待這一天趕緊到來。 <BR><BR>最後一點,安裝時最好能設定一個一般用戶帳號,因為使用 root 帳號登入 <BR>系統,一旦把系統搞壞就弄不回來了。即使一般帳戶把桌面弄得亂七八糟, <BR>砍掉後再重設,一切又回復原樣了。
szen 2009-6-13 14:37
此文章看起來只是在介紹Linux作業系統,比較不偏向「如何學習」
標題應該是介紹何謂Linux比較恰當
didimaster 2009-6-22 23:03
感覺沒學到 還是買一本書來研究
shared 2009-7-12 18:26
对于了解Linux来说这是篇不错的文章,最近正在学习Ubuntu。谢谢楼主了
shared 2009-7-12 18:27
对于了解Linux来说这是篇不错的文章,最近正在学习Ubuntu。谢谢楼主了
shared 2009-7-12 18:27
对于了解Linux来说这是篇不错的文章,最近正在学习Ubuntu。谢谢楼主了
wild 2009-12-16 07:03
謝謝大大的分享,最近剛開始在學Linux...雖然覺得起步有點晚,但是這一切是值得的
wild 2009-12-16 07:03
謝謝大大的分享,最近剛開始在學Linux...雖然覺得起步有點晚,但是這一切是值得的
wild 2009-12-16 07:04
謝謝大大的分享,最近剛開始在學Linux...雖然覺得起步有點晚,但是這一切是值得的
shin211183 2010-2-4 01:54
謝謝分享,最近有想學linux,可是不知道他是什麼
janet6232003 2010-2-26 00:59
GOOD!!HIGH!!:(
janet6232003 2010-2-26 00:59
VERY GOOD!:kiss: YES