Next Previous Contents

1. Linux 的簡介

Linux 是 POSIX 規格的完整重新實作,有著 SYSV 及 BSD 擴充,(這表示它看起來及運作上就像 Unix,但不包含相同的基礎原始程式碼),可以原始程式碼及二進位執行檔兩種形式取得。 它的版權屬於 Linus Torvalds < torvalds@transmeta.com>,以及其它的貢獻者,在 GNU General Public License (GPL) 下可自由的散佈。 GPL 的一份拷貝包含在 Linux 原始程式碼裡,你也可以自 ftp://prep.ai.mit.edu/pub/gnu/COPYING 取得一份拷貝。

Linux, 本質上來說,只是作業系統的核心,就是控制硬體,管理檔案,行程等等。 有數種將 Linux 及工具程式和應用程式集組合成的一個完整作業系統。如此的組合叫做 Linux 的一個 發行套件(distribution). Linux 這個字,雖然就嚴格的意義來說是指系統的核心,但這字也廣泛而正確地用來指明利用 Linux 核心建構的整個作業系統。 關於不同發行套件的列表及簡短描述可見 http://sunsite.unc.edu/LDP/HOWTO/Distribution-HOWTO.html. 沒有一種套件可以叫做是``正式的 Linux''.

Linux 不是公益軟體,它也不是共享軟體(shareware)。 它是`免費'軟體,通常叫做 freeware,或是開放性原始碼(Open Source Software)[tm], 參見 http://www.opensource.org), 而你可以送人或販買拷貝,但你必須包含原始程式碼,或是讓程式碼可由你送出或販買執行檔相同的方式取得。 如果你散佈任何的修改,你必須散佈這些修改的程式碼。詳情請見 GNU General Public License。

Linux 在 2.0 版仍然是免費的,而且仍會一直是免費的。由於 Linux 遵循 GPL 的關係,讓它變成非免費是不合法的。 特別注意: `免費'的部份是指不需用金錢來獲得原始程式碼; 散佈 Linux 而收取費用是完全合法的,即使你連同原始程式一起散佈。 這是廣義的推論; 如果你想知道細節,請閱讀 GPL。

Linux 可在具 ISA, EISA, PCI 及 VLB 匯流排的 386/486/Pentium 機器上執行。 MCA (IBM 專利的匯流排)在 2.0.x 及更早的版本上還未完全支援,但目前發展中的核心 2.1.x 已經加入支援了。 如果你有興趣,請看 http://glycerine.itsmm.uni.edu/mca

有一個移植到多重 Motorola 680x0 平台(目前在一些 Amigas, Ataris, 及 VME 機器上執行)的版本,運作得相當良好。 它需要具 MMU 的 68020, 68030, 68040, 或是一 68060, 而且也需要一個 FPU. 網路及 X 視窗目前都可運作。請見 news:comp.os.linux.m68k

Linux 在 DEC's Alpha CPU 上執行得很好,目前支援 "Jensen", "NoName", "Cabriolet", "Universal Desktop Box" (以 Multia 較知名),及許多其它的平台。 想了解更多資訊,參見 http://www.azstarnet.com/~axplinux/FAQ.html

Linux 也在 Sun SPARCs 上執行得很好; 許多 sun4c, sun4m 及 sun4u 機器現在執行 Linux,而 sun4 的支援正在發展中。 Red Hat Linux 是(在本文寫作時)是唯一可在 SPARCs 上執行的 Linux 套件; 參見 http://www.redhat.com/support/docs/rhl-sparc/

Linux 正被移植到 PowerPC 架構上,包括 PowerMac (Nubus 及 PCI), Motorola, IBM 及 Be 機器。 參見 http://www.cs.nmt.edu/~linuxppc/ 以及 http://www.linuxppc.org/

移植到其它的機器,包括 MIPS (參見 http://linus.linux.sgi.com/http://lena.fnet.fr/) 及 ARM, 正在計畫中而且已有許多的進展。 別期望太高,但如果你有興趣而且想盡一份力,你將會發現其它的發展者願意與你共同工作。

Linux 自 1994 年三月十四號發表第一版以來已不再認為是在 beta 測試階段。 系統中仍有錯誤,而且新的錯誤將持續出現,並且隨著時間的進行而被修正。 因為 Linux 遵循了``開放發展模型(open development model)'',所有新的版本都將被公開發表,不論它們是否被認為具有``產品品質''。 然而,為了幫助人們分辨他們是否取得一穩定的版本,如下的方案被採用: 版本 n.x.y, 其中 x 是一偶數,是穩定的版本,而且當 y 增加時只有錯誤修正會加進去。 因此從 1.2.2 到 1.2.3, 其中只有錯誤修正,而沒有新的特性。 版本 n.x.y, 其中 x 是奇數,是給發展者 beta 性質的發表,可能不穩定而且可能當掉,還有隨時可能有新的特性加入。 隨著時間進展,目前發展的核心逐漸穩定,它將被凍結為新的``穩定''核心,而發展將會在一新版本的核心繼續下去。 注意大部份發表出來的 Linux 核心,不論是否為 beta 版本,都是相當強固的(robust); ``穩定(stable)''在本文中除了``強固(robust)''之意外,還有``改變得很慢''的意思。

目前穩定的核心是 2.0.35 (當新的驅動程式及錯誤修正加入時這會繼續改變),而實驗的 2.1.x 核心也已經開始發展。 Linux 核心的原始程式碼中也包含了一個檔案, Documentation/Changes, 解釋你整某一核心更新到另一核心時應注意的改變。 然而,大部份的 Linux 使用者只是偶爾簡單地升級他們的套件就可以得到一新版本的核心。

大部份的 Linux 版本,不論是否為 beta 版,都相當的穩定,而且如果它能符合你的需要你仍可繼續使用下去而不必感到難過(? on the bleeding edge)。 有一個站台執行 0.97p1 (從 1992 年夏天起)超過 136 天而沒有一樣錯誤或當掉。(它還可持續更久如果不是因為助理操作員操作電源失當...) 其它人還報告過超過一年的開機時間的。最近一項報告有一個站台執行 Linux 0.99p15s 超過 600 天的。

有一件值得注意的事是 Linux 是以開放且分散模式發展的,而非像許多其它的軟體的封閉且集中模式。 這表示目前發展的版本總是公開的(最多有一星期到兩星期的延遲)因此任何人皆可使用。 這結果是每當一具有新功能的版本發表時,它幾乎總是包含有錯誤的,但它也導致一非常快速的發展因而錯誤很快地被發現且修正,通常在數小時內,因為許多入努力去修正它們。

相對地,封閉而集中的模式意指只有一個人或一團隊為此計畫工作,而它們只發表他們認為運作得很好的軟體。 通常這會導致較長的發展週期,較長等待的錯誤修正,還有較慢的發展。 如此軟體最後公開發表的版本有時會有更好的品質,但發展的速度一般來說是慢許多的。

關於這兩種模式的討論,請見 Eric Raymond 的 ``教堂與市集的發展模式(The Cathedral and the Bazaar, http://sagan.earthspace.net/~esr/writings/cathedral-bazaar/)'' 一文。

在 1998 九月一號為止,目前 Linux 的穩定版本是 2.0.35, 而最新發展中的版本是 2.1.119.


Next Previous Contents