第 1 章 認識 Linux
本章重點 1-1 Linux 的起源 1-2 各式各樣的 Linux 發行版 1-3 為何要用 Linux
前言 當 Windows 作業系統在個人電腦領域中, 擁有大多數的佔有率時, 另一股新興的勢力, 卻如芒刺在背般地讓微軟公司坐立難安, 那就是 Linux 作業系統。Linux 究竟為何有此能耐呢?
前言 其實您平時使用的文書編輯、影像處理、辦公室軟體、程式開發工具、光碟燒錄、網路即時傳訊, 甚至架設伺服器等等的軟體, 在 Linux 上都已有功能相當的軟體可以使用, 並且大部份皆可免費取得。 而最重要的一點在於, Linux 講求的是『 自由』 (free) 與『 開放』 (open) 的觀念, 讓眾人得以分享成果, 因此各種軟體發展與改進的速度更快。您可以好好想想看, 還有沒有必要花費數千元購買一套 Windows 系統, 然後再花數萬元購買各種應用軟體, 接著卻還得處處受限於軟體廠商的各種限制呢!
前言 近年來, Linux 對於包括中文在內的各國語言支援日益完善, 不僅使用者大增, 連 Oracle、IBM、HP、Sun 等許多軟硬體大廠, 也都紛紛投入這個領域。從這樣的趨勢來看, 我們相信 Linux 的前途是不可限量的。
什麼是作業系統? 作業系統是電腦硬體與使用者/應用程式之間的媒介。使用者透過應用程式或作業系統來操控電腦硬體, 作業系統再將執行的結果回應給使用者或應用程式。 作業系統主要的功能有以下 3 項: 管理電腦的各項資源, 如 CPU、 記憶體的使用、檔案管理、輸入 及輸出設備等。 提供使用者操作介面。 提供應用程式執行的環境及系統 呼叫服務。
1-1 Linux 的起源 在個人電腦剛出現的年代裡, 不同規格、等級及功能的電腦硬體及作業系統種類繁多, 可謂百家爭鳴。其中, 最早由 AT&T 貝爾實驗室發展出來的 Unix 系統, 是當時功能強大, 且廣受歡迎與推崇的作業系統, 但缺點是只能在價格昂貴的工作站等級電腦上運行。 為了讓更多人可以體驗這套優秀的作業系統, 許多人開始發展在個人電腦上也可以使用的 Unix 系統。由 Andrew (Andy) Tanenbaum 為教學目的所發展的 Minix 系統即為其中之一。
Linux 的起源 當時, 從小愛電腦成癡的 Linus Torvalds 還是芬蘭 Helsinki 大學的學生。當他興沖沖的在自己剛買來的個人電腦上安裝完 Minix 作業系統, 想要開啟一個虛擬終端機連線上學校的 Unix 主機時, 卻發現沒有辦法做到。 因此激起他自己寫一個虛擬終端機的想法, 結果這個計畫越作越大, 最後竟發展出一套全新的作業系統。
Linux 的起源 最初, Linus 在開發這套作業系統時, 將存放此系統的分割區命名為 Linux。後來, 支持此系統的網友們, 便將此系統稱為 Linux, 意思便是 Linus 發展的作業系統 (當時作業系統的名稱常以 x 結尾)。 Minix 是一種小型的 Unix 相容系統, 有興趣者可自行參閱 http://www.minix3.org 或 http://www.minix.org。
Linux 的起源 Linus 於 1991 年 8 月 25 日, 在 USENET 新聞群組 comp.os.minix 上面, 發表了第一篇關於 Linux 的文章:
Linux 的起源
Linux 的起源 這篇歷史性的文章正式宣告了一個新作業系統的誕生, 也由此開啟了資訊業一場意外的革命。隨後 10 月 5 日, Linus 公開宣佈了 Linux 第一個『 正式』版本:0.0.2。 當時, Linux 是屬於駭客 (hacker) 的系統, 功能仍相當不完善。但在世界各地的網友共同參與研究與開發之後, 逐漸發展成為今日功能強大的作業系統。
Linux 的起源 Linux 該如何發音呢?由於 Linux 並不是一個原有的英文字, 因此在字典中並無法查到其 "正確" 的音標標示。但根據 Linus 本人唸 Linux 的錄音 , Linux 的 "u" 應該發成 K.K.音標中的 " ^ "。
駭客與怪客 駭客在今日來說似乎是個負面的象徵, 其實駭客本來是指那些專精於某方面技術的人物;對電腦而言, 駭客就是精通系統、周邊、以及各種軟硬體技術的人, 他們擁有專業技術得以自行解決許多問題, 並且沉浸在該領域之中, 對於各種報酬並不感興趣。 有些駭客逾越了尺度, 運用自己的知識去做出有損他人權益的事情, 我們稱這種人為怪客 (cracker, 破壞者), 而非駭客。
1-2 各式各樣的 Linux 發行版 由於 Linux 標榜自由與開放, 因此衍生出許多不同的版本, 常見的有本書將介紹的 Fedora, 以及 Ubuntu、Debian GNU/Linux、openSUSE、CentOS、Linux Mint... 等。這些版本之間到底有什麼不同?為什麼都稱為 Linux 呢?
Linux 的核心與發行版 其實這眾多的版本都是所謂的 Linux 作業系統, 使用的都是由 Linus 所維護的 Linux 系統核心 (kernel)。 所謂核心, 其實就是一個作業系統最重要的心臟部位, 它負責所有讓系統得以正確、有效運行相關的工作, 包括控制電腦的硬體、管理所使用的檔案系統、掌握系統運作過程中的所有程式排程... 等。
Linux 的核心與發行版 Linux 核心版本的編號, 通常以小數點後第一位為偶數表示穩定的版本, 而以奇數表示測試版本。例如 2.4.x、2.6.x 版為穩定的版本, 而 2.3.x、2.5.x 為測試版本。您可以到 http://www.kernel.org 網站, 查詢核心的最新版本及相關的訊息。隨著 Linux 愈來愈受歡迎, Linux 核心的更新速度也加快, 目前大約每 2 ~ 3 個月就會有新版的核心推出。所以自 2.6 版以後, Linux 的核心已取消使用小數點後第一位數來區分穩定版或測試版的機制。所以您在 http://www.kernel.org 上會看到像是 3.3.8 版的核心被列為穩定版的情形。
Linux 的核心與發行版 雖然核心是作業系統最重要的部分, 但是一個作業系統光是有核心還是不夠的, 仍然需要友善的使用者介面、應用程式, 才能有效的幫助使用者完成工作。 由於能在 Linux 上運行的軟體眾多, 但遍佈各處, 使用者經常需要自行尋找、收集, 然後下載、安裝, 十分不便。
Linux 的核心與發行版 因此為了安裝上的方便, 有些組織或廠商將多種軟體組合起來, 與 Linux 系統核心一併包裝、發行或販賣, 成為現在為數眾多的各種 Linux 發行版 (distribution)。 因此, 無論 Fedora、Ubuntu、SUSE Linux、Mandriva Linux、Slackware Linux、Debian GNU/Linux、... 等, 都是使用 Linux 系統核心, 包裝不同應用程式的 Linux 發行版:
Linux 的核心與發行版
Linux 的核心與發行版 Fedora 是由 Fedora Project 開發的 Linux 發行版。 由於 Linux 是以開放原始碼的觀念為訴求, 並採用 GPL (General Public License) 通用公共授權為規範, 任何程式設計者在取得原始碼之後, 都可以自由修改, 而成為另外一套軟體 (例如 Ubuntu 源自於 Debian GNU/Linux)。 而依照 GPL 的規定, 任何軟體只要使用了採用 GPL 授權的程式碼, 也必須沿用同樣的 GPL 授權, 讓原始程式碼得以開放給其他的程式設計者, 如此才能讓各種軟體的發展綿延不絕地傳承下去。
自由不等同於免費 GPL 通用公共授權為開放原始碼運動的先驅 Richard Stallman 所倡導, 採用這項授權 (或是其他類似授權) 的軟體被稱為 Free Software。 此處 『Free』 的意義絕非一般人誤解的『 免費』, 而是代表『 自由』 , 提倡使用者對軟體有研究、使用、散佈與修改的自由, 要求任何人在散佈軟體時必須隨附原始碼, 這樣做的目的是為了促進軟體的快速發展。
自由不等同於免費 而也因為使用者可以自由散佈, 所以自由軟體廠商的營利方式通常由賣軟體轉為賣服務為主, 導致自由軟體的售價大多較為低廉甚至免費。 如果我們以因果關係來看, 自由為起因, 從而產生了許多結果, 免費僅是其中的一個, 只要遵守 GPL 的規範, 自由軟體還是可以向使用者收費, 所以我們不應該直接就認定自由軟體為免費軟體。
常見的 Linux 發行版 目前常見的 Linux 發行版有以下幾種: Fedora:此 Linux 發行版繼承自 Linux 界的龍頭 Red Hat Linux (此原為 Red Hat 公司的免費版本, 但自 2003 年 11 月後便不再更新, 改由其贊助的 Fedora Project 釋出, 原名為 Fedora Core, 從第 7 版起改名為 Fedora), 是使用者最多的發行版。
常見的 Linux 發行版 Debian GNU/Linux:Debian Project 組織所發行的版本, 雖然使用難度較高, 但是擁有完善的套件管理方式及線上更新的功能, 因此頗受進階使用者的歡迎。
常見的 Linux 發行版 Ubuntu:此發行版是從 Debian GNU/Linux 改良而來 (此即為 GPL 授權應用的實例), 沿襲了其嚴謹的架構, 目前由 Ubuntu 基金會負責發展與維護。Ubuntu 訴求的重點 - 簡單好用的人性化 Linux (Linux for Human Beings), 更讓其大受讚賞, 從 2004 年 10 月發行第一個版本至今, 已成為國外各大網站調查中最受歡迎的發行版。
常見的 Linux 發行版 openSUSE:openSUSE 為由 Novell 公司 (Novell 現為 Attachmate 所併購) 所贊助的社群版本。當在 openSUSE 裡的功能穩定後, 會加入商業版本的 SUSE。openSUSE 與 Fedora、Red Hat 一樣, 都是使用 RPM 為基礎的套件管理系統。
常見的 Linux 發行版 CentOS:CentOS 是由社群所維護的發行版, 它號稱與 Fedora 的商業版本 Red Hat 完全相容。所以很適合需要等同商業網站穩定度, 但不購買商業版本的人使用。主要是因為 Red Hat 的所有套件都有釋出原始碼, 因此就有人成立社群將這些原始碼重新編譯並做成發行版。CentOS 與 Red Hat 的差別為 CentOS 沒有提供商業的技術支援與硬體的認證, 所以使用者若遇到問題就須自行解決。
常見的 Linux 發行版 Linux Mint:近幾年人氣很高的 Linux 發行版, 它是由 Ubuntu 修改、精簡而來。強調好的使用體驗, 內建許多瀏覽器的附加元件、播放影片所須的編解碼器 (codec)。同時它可以使用 Ubuntu 的套件庫, 因此所受到的關注甚至超越了 Ubuntu, 可說是青出於藍而勝於藍。
常見的 Linux 發行版 http://distrowatch.com 提供了目前所有 Linux 發行版的清單, 並且有相當詳細的介紹與比較。
1-3 為何要用 Linux 如果只是單純的『價廉』, 當然不足以讓我們採用 Linux, 『物美』 更是決定的因素。Linux 從最基本的指令操作到友善的視窗介面, 以及排版作業、文書處理、程式設計、網路連線與管理等功能樣樣俱全, 這才是我們選擇它的主要原因。
圖形整合介面 很多人以為只有微軟的 Windows 系列才擁有圖形的視窗介面, 這實在是個謬誤。其實現在想找到『 完全沒有圖形使用者介面』 的作業系統還真是困難, 舉凡 MacOS、Solaris、AIX、BeOS 等, 每一種都擁有各自的圖形使用者介面, 完全不讓 Windows 專美於前。 Linux 的圖形介面稱為 X Window System , 在此環境中提供了多種的視窗管理程式 (Window Manager), 搭配桌面環境 (Desktop Environment), 讓使用者能以更靈活的方式來管理視窗和使用軟體:
圖形整合介面
多重開機管理 當我們想在一台電腦中安裝一套以上的作業系統時, 便需要安裝多重開機管理程式, 例如 PowerQuest 的 BootMagic、V Communications 的 System Commander、國人自製的 SPFDisk 等等;而 Linux 也具有 GRUB 和 LILO 兩種多重開機管理程式, 如此您便可以將多種作業系統安裝在同一部電腦上, 並可輕易決定由哪個作業系統開機:
多重開機管理
安全性高, 遠離病毒的危害 Linux 系統的原始碼是公開的, 任何有興趣的人都可以取得原始碼來研究。有人認為這樣也許會讓有心人士找出系統的缺失, 而危害到系統的安全。 但是事實上也正因為原始碼是公開的, 一發現問題時, 很短的時間內就會有人提出修補的方法, 不必再等待軟體公司推出更新檔, 使得 Linux 成為世界上修補漏洞, 減少臭蟲 (bug) 最快的作業系統, 不論是核心或是發行版的改版都相當迅速。
安全性高, 遠離病毒的危害 此外由於 Linux 本身具備嚴謹的權限與系統設定, 目前活躍的 Linux 病毒可說是幾乎沒有, 所以不須安裝防毒軟體, 只要使用線上更新功能確實更新軟體套件, 便可以將危害降到最低。
多人多工系統 Linux 是可供多人使用的先佔式多工 (preemptive multitasking) 作業系統, 具有優異的記憶體和多工管理能力, 不僅可讓使用者同時執行數個應用程式, 還能允許遠端使用者連線登入執行程式。 既然是多人多工的系統, 對於使用者帳號的管理自然不在話下, 包括權限、硬碟空間限制等等, 都有完善的工具可以使用。
網路能力 Linux 沿襲 Unix 系統使用 TCP/IP (Transmission Control Protocol/Internet Protocol) 為主要的網路通訊協定, 內建 FTP (File Transfer Protocol)、 E-mail 與 telnet ...等功能。再加上穩定性高, 因此許多 ISP (Internet Service Providers) 也採用 Linux 來架設郵件、WWW 與 FTP 等伺服器。 對大多數個人用戶而言, 能否順利上網是更令人關心的問題。Linux 支援了以數據機、ADSL、網路卡...等方式連接網路, 讓一般使用者也能輕鬆悠遊於 Internet。
程式開發工具 程式設計師最關心的無非是如何在 Linux 中開發軟體。由於 Linux 非常穩定, 使得它成為優良的開發設計平台, 在軟體套件中包括了多種程式語言與開發工具, 例如 gcc、cc、 Eclipse、C++、Tcl/Tk、 PHP、Perl、Fortran-77、 Ruby 及 Python 等。
1-4 Linux 的中文化 大部分的作業系統都以英文為本家, 中文的支援一直是個問題, 而支援程度的好壞也與該作業系統在國內的佔有率息息相關。 Linux 本身也是一套以英文為主的作業系統, 但是由於許多人士的努力, 目前已擁有許多中文套件, 可讓使用者在 Linux 的文字模式和 X Window 圖形模式下顯示與輸入中文。
Linux 的中文化
Linux 的中文化 目前已整合繁體中文的 Linux 發行版, 除了 Fedora 之外, 主要還有 Ubuntu、Linux Mint、SUSE Linux...等。 至於大陸地區所使用的簡體中文版 Linux, 也有 TurboLinux、紅旗...等多種發行版。 使用書附光碟安裝好系統之後, 即可在大部分的程式正常輸入及顯示中文。目前我們得以享用這些中文化的成果, 大多是經過早期國內熱心的使用者與 CLE 團隊的貢獻所致。
Linux 的中文化 CLE 最早的維護者是鄭原忠先生 (外號 "小蟲"), 他將一些中文相關軟體以 RPM 檔的格式包裝起來, 於 1998 年 6 月 20 日在網路上公開 CLE v0.3。 其目的在於讓所有 Linux 的中文使用者都能輕鬆擁有中文化的環境, 而不需要自己去一一下載中文程式、字型、修補檔 (Patch), 再歷經安裝、設定...等繁複的步驟。這對於需要使用中文的人來說, 是相當重要的進展。
Linux 的中文化 除了包裝 CLE 套件外, CLE 團隊也將他們所做的修改, 一一反應給程式作者與 Linux 發行廠商, 如此等到下次發行新版時, 這些程式不需修改便能具備處理中文的能力。也因此在 Linux 中文環境逐漸完善後, CLE 已經慢慢地退居幕後了, 但是 CLE 在歷史上的地位將是永遠令人敬佩的。
1-5 Linux 資訊何處尋 Linux 的更新相當迅速, 當您在閱讀此書的時候, 新的版本可能就已經出現了, 因此建議您最好經常連上 Internet, 到 Linux 相關的新聞群組或是網站中逛逛, 隨時了解新的訊息並吸收新的知識。
1-5-1 新聞群組與 BBS 網站 以下列出幾個與 Linux 相關的新聞群組及 BBS 網站, 您可以在裡面詢問問題, 或是回答他人的問題: tw.bbs.comp.linux 這是台灣學術網路的新聞群組, 可以使用中文。但因為這裡並沒有依照主題來區分不同的討論區, 所有的內容都混雜在一起, 因此顯得有點凌亂。不過使用自己的母語是最方便的, 而且裡面也有一些高手可以請教。
新聞群組與 BBS 網站 comp.os.linux.xxx 這是英文新聞群組, 包括了一整群的新聞群組, 例如 comp.os.linux.answers、comp.os.linux.development、comp.os.linux.hardware、comp.os.linux.networking、 comp.os.linux.setup 等等, 針對每種主題各有一個相關的新聞群組;您若要在此處發言, 請使用英文, 否則將造成別人的困擾 (中文字會變成一堆亂碼)。
新聞群組與 BBS 網站 bbs.sayya.org 這是一個專門交換 Linux 相關訊息及知識的 BBS 站, 其中有許多 Linux 相關議題的討論與文章整理。
1-5-2 全球資訊網 將 Internet 全面帶上高峰的, 就是全球資訊網 (World Wide Web), 當中很多站台都擁有豐富且生動的資訊, 我們應該善加利用, 從中取得和 Linux 有關的資料與訊息。下面是幾個可以查閱資料的網站:
中文網站 Linux 台灣 - http://www.linux.org.tw/ 此為台灣的 Linux 入口站, 提供許多台灣的 Linux 相關新聞與資源。 CLDP -- Linux 中文文件計劃 - http://www.linux.org.tw/CLDP/ 此為屬於 TLUG 之下的一個中文文件計劃, 擁有大量已經翻譯成中文的 LinuxHOWTO 文件, 感謝這些熱心的人士。 自由軟體技術交流網 - http://free.tnc.edu.tw/ 提供自由軟體的介紹、教學及使用者討論區。
中文網站 Fedora Taiwan User Group [FTUG] - http://fedora.tw/ 台灣 Fedora 使用者網站, 有許多 Fedora 的新聞與訊息, 並且提供討論區可以讓 Fedora 使用者詢問與討論問題。 OSSF 自由軟體鑄造場 - http://www.openfoundry.org/ 提供自由軟體作者一個管理與儲存原始碼的系統, 並且定期發行電子報, 介紹許多 Linux 與開放原始碼的相關文件及議題。
中文網站 鳥哥的私房菜 - http://linux.vbird.org 此網站亦提供許多 Linux 及 ADSL 相關的文件, 從基本的安裝、指令, 到伺服器的架設及系統安全管理都有介紹。 酷學園 (Study Area) - http://www.study-area.org 提供非常詳細的 Linux 教學文件, 從 X Window、編譯核心, 到安裝各種伺服器, 都有介紹。 洪朝貴教授的首頁 - http://people.ofset.org/~ckhung/ 洪朝貴教授的首頁, 這裡有許多關於 Linux 及探討自由軟體的文章。
英文網站 Linux Online!- http://www.linux.org。 Linux.com - http://www.linux.com 。 Just Linux - http://www.justlinux.com。 DistroWatch - http://www.distrowatch.com。 Linux Central - http://www.linuxcentral.com。
主要發行版的網站 Fedora - http://fedoraproject.org。 Ubuntu - http://www.ubuntu.com。 Red Hat Enterprise Linux - http://www.redhat.com。 SUSE Linux - http://www.suse.com。 Debian GNU/Linux - http://www.debian.org。 Linux Mint - http://linuxmint.com。 CentOS - http://www.centos.org。 openSUSE - http://www.opensuse.org。
1-5-3 雜誌與新聞 以下幾個是 Linux 相關雜誌與新聞的網站: Linux Journal - http://www.linuxjournal.com 此為英文的 Linux 月刊。 Linux Format - http://www.linuxformat.co.uk 這也是英文的 Linux 月刊。 LinuxToday - http://linuxtoday.com 在這個網站上, 您可以得到和 Linux 有關的頭條新聞及其詳細內容。 Slashdot - http://linux.slashdot.org 這裡也有很多 Linux 的新聞資訊與相關討論。
1-5-4 實用的搜尋技巧 在操作 Linux 的過程中, 若是遇到書中找不到解答, 問旁人也沒有人懂的疑難問題時, 網路上的文件可能便是您的救星。但是要怎麼從數以千萬計的文件中, 快速找到自己想要的文件呢?這時您可以利用 Google (www.google.com.tw) 所提供的網路全文搜尋, 將操作時所得到的錯誤訊息輸入為關鍵字, 就有機會找到與問題相關的文件或解答:
實用的搜尋技巧
實用的搜尋技巧
實務經驗談 當您在 Google 網站搜尋時, 若直接輸入關鍵字, 而沒有用 " 符號括住, 那麼所有內含關鍵字的網頁, 不論順序與完整性如何, 都將符合此搜尋條件。 例如搜尋『 flag company』時, 只要內容有 flag 與 company 這兩個字的網頁都會顯示出來, 所以會找到內容含有『flag company is great』 與 『flag publishing company』 的網頁。故此方法適用於較大範圍的搜尋。
實務經驗談 反之, 將關鍵字以 " 符號括住, 則表示要以片語的方式搜尋。如搜尋『 "flag company"』時, 只會找到內容含有 『flag company is great』 的網頁, 而內容為 『flag publishing company』 的網頁則不會顯示出來。所以若您已經確定關鍵字為一個片語, 便可以使用 " 符號進行較精確的搜尋。
實用的搜尋技巧 另外在 SayYA Linux's BBS 站 (bbs.sayya.org) 中也有相當多的 Linux 文件可供查閱。如果努力搜尋後仍然找不到資料的話, 還可以在上面發文詢問, 只要將問題敘述詳盡, 相信 Linux 社群中會有熱心的朋友為您指引方向。 看完了本章, 相信您對於 Linux 已經有了基本的認識, 接下來我們要從 Linux 的安裝、操作, 到系統管理及伺服器架設等主題, 一一地詳細介紹。