鳥哥的第一本書籍的主要內容,內容稍微與書籍不太一樣了!
鳥哥的第一本書大約是在 2002 年的年底左右出版的,內容幾乎都是 Linux 基礎學習,一點也沒有談到伺服器的部份!這也是後來的雛型! 不過內容錯誤的地方很多,導致在 2003 年的年底推出了『基礎學習篇增訂版』的內容,大致上就是處理掉一些比較有嚴重錯誤的部份。 不過,因為 Linux 的版本變化非常快速,因此,寫完了這些文件之後,鳥哥還是持續在網站上更新文件內容,導致原本書籍內容的資料與網站資料差異太大! 這個問題直到鳥哥在 2008 年左右才發現!糟糕了!舊版的文件資料已經遺失~覺得相當扼腕~
因此,在底下的文件內容與當初的書籍內容雖然大同小異,不過章節的編排卻是有所不同!再花時間去一個一個處理,似乎也不太符合成本效益! 鳥哥僅是想要將自己以前的文件記錄下來而已,同時將過時的 big5 編碼改回 utf8 編碼,再加上可以支援 RWD 的樣式而已啦! 內容已經不多做編排~因此,如果內容文件你看不懂,那也是應該的! ^_^
建議您前往本站查詢最新版本的 Linux distribution 文章來閱讀,比較不會浪費時間。最新文章請前往鳥站首頁查閱囉!
要瞭解 Linux 之前,就不能不知道什麼是作業系統 ( Operation System, OS ),所以,首先我們來簡單的說一說什麼是作業系統吧!先來想一想,當我們使用電腦時,螢幕上面顯示的咚咚是由哪裡來的?嗯!是由顯示卡與螢幕顯像的;那麼你現在可以藉由網路看到這篇文章,則是藉由 Internet 、網路卡、網路線以及所有相關的電子器材與網路器材所完成的一項任務!如果你要看 VCD 呢?那麼就需要光碟機、光碟、音效卡的發聲等等的支援。這麼說來的話,所以在『工作』的東西都是『硬體』的工作呀!對了!就是這些電腦硬體在工作的。那麼硬體怎麼工作呢?那就是藉由『作業系統』來達成的囉!這個作業系統就是在溝通你這個使用者跟硬體之間的訊息傳遞啦!也就是說,沒有作業系統,那麼你的電腦硬體就只是一堆廢鐵,什麼工作都不能做的!
那麼作業系統裡面含有什麼東西呢?簡單的來說,作業系統主要分為兩個東西,一個是『核心』、一個是『一堆核心提供的工具』我們以使用者常使用的 Windows 電腦來做一個簡單的說明好了。大家應該都使用過 Windows 電腦裡面的檔案總管吧?那麼當你開啟檔案總管的時候,他是否會顯示你硬碟當中的資料?這個顯示硬碟裡面的資料,就是『核心』幫你做的,但是,你要核心去顯示硬碟哪一個目錄下的資料,則是由『檔案總管』這個『工具』幫你達成的!這樣可以理解嗎?再來,如果您曾經使用過 Windows 2000 或 Windows XP 的話,那就更好了!你就應該聽過有所謂的『FAT32 與 NTFS 檔案格式』吧?在 Windows 98 這個早期的 Windows 版本中,他並無法讀取或者是找到 Windows XP 的 NTFS 檔案格式的硬碟,為什麼呢?因為他的『核心』本來就不認識 NTFS 啊!所以,即使你有檔案總管,但是由於核心根本不認識 NTFS ,所以,檔案總管也是沒有能力幫你達到你想要做的事情!這樣應該就更清楚了吧?沒錯!你的整個硬體是由核心來管理的,而如果核心不認識你的硬體,那麼你將無法使用該硬體設備,例如上面提到的 NTFS 檔案格式的硬碟!核心就是『 Kernel 』,他是一個作業系統的最底層的東西,由他來掌管整個硬體資源的工作狀態,而 Linux 有 Linux 自己的核心, Windows 也有他自己的核心。所以說,當有新的硬體加入到你的系統中的時候,那麼若你的『 Kernel 』並沒有支援他的時候,呵呵,這個新的硬體就肯定無法工作的,因為控制他的 Kernel 並不認識他呀!這樣瞭解了嗎?!先有個概略性的瞭解,後面我們提到『核心編譯』的時候會在更詳細的談到他!一般來說,Kernel 管理的事項有:
所以啦!所有硬體的資源都是他來管理的!至於我們要達成一些工作時,除了藉由核心本身提供的功能 ( 例如上面提到的檔案總管 ) 之外,還可以藉由其他的應用軟體來達成喔!舉個例子來說,你要看 VCD 影片是吧!那麼除了 Windows 提供的媒體播放程式之外,你也可以自行安裝 VCD 播放程式來播放 VCD 囉!這個播放程式就是應用軟體囉,而這個應用軟體可以幫你去控制核心來工作 ( 就是放映影片囉 ) ,因此,我們可以這樣說,核心是控制整個硬體支援的咚咚,也是一個作業系統的最底層,然而要讓整個作業系統更完備的話,那還需要含有相當豐富的核心提供的工具,以及核心相關的應用軟體來支援!System call interface :一些服務與 kernel 溝通之後,將硬體的資源進一步的利用; Process control :系統程序控制中心,所以核心編的越小越好; Memory management :控制整個系統的記憶體管理; File system management :檔案系統的管理,例如 I/O 等等的工作啦!還有不同檔案格式的支援啦等等,如果你的核心不認識某個檔案系統,那麼您將無法使用該檔案格式的檔案囉!例如上面提到的 Windows 98 不認識 NTFS 檔案格式的硬碟; Device drivers :就如同上面提到的,硬體的管理是 Kernel 的主要工作之一,當然囉,裝置的驅動程式就是核心需要做的事情啦!好在目前都有所謂的『可載入模組』功能,可以將驅動程式編輯成模組,就不需要重新的編譯核心啦!這個也會在後續的核心編譯當中提到的!
OK!提到這裡那麼您知道 Linux 是什麼了嗎?呵呵!對啦!其實 Linux 就是一個作業系統,這個作業系統裡頭含有最主要的 kernel 以及 kernel 提供的工具啦!他提供了一個完整的作業系統當中最底層的硬體控制與資源管理的完整架構,這個架構是沿襲 Unix 良好的傳統來的,所以相當的穩定而功能強大!此外,由於這個優良的架構可以在目前的個人電腦 ( X86 系統 ) 上面跑,所以很多的軟體開發者將他們的工作心血移轉到這個架構上面,那就是很多的應用軟體啦!雖然 Linux 僅是其核心與核心提供的工具,不過,由於核心、核心工具與這些軟體開發者提供的軟體的整合,使得 Linux 成為一個更完整的、功能強大的作業系統囉!我們可以將 Linux 的系統與使用者的相關性看成底下的圖示:
約略瞭解 Linux 是何物之後,接下來,我們要談一談,『為什麼說 Linux 是很穩定的作業系統呢?他是如何來的?』
好了,經由上面的說明,我們知道 Linux 是個『作業系統』,而且他是 GNU 的授權模式,並且有個老大哥是 Unix 。不過,畢竟由 Torvalds 先生負責維護的 Linux 提供的僅是『核心』與『核心工具』的集合,對於需要更完整功能的作業系統來說,畢竟還不夠完備,例如如果你要桌面程式,還得要加入 X-Window 系統對吧!?如果你要架設 WWW 還得加入伺服器軟體對吧?所以,雖然 Linux 的核心已經提供了相當多的支援與工具程式,但畢竟還不足以構成一個很完整的作業系統。
好在,由於 Linux 的穩定性良好,並且可以在便宜的 x86 架構下的電腦平台運作,所以吸引了很多的套件商與自由軟體的開發團隊在這個 Linux 的核心上面開發相關的軟體,例如有名的 sendmail, wu-ftp, apache 等等。此外,亦有一些商業公司發現這個商機,因此,這些商業公司或者是非營利性的工作團隊,便將 Linux 核心、核心工具與相關的軟體集合起來,並加入自己公司或團隊的創意的系統管理模組與工具,而釋出一套可以完整安裝的作業系統,這個完整的 Linux 作業系統,我們就稱呼他為 distribution,或者是中文所謂的『安裝套件』囉!當然囉,由於是基於 GNU 的架構下,因此各家公司所發行的光碟套件是可以在網路上面自由下載的。不過,如果想要有較佳的服務,那麼購買該公司發行的光碟也是不錯的!
不過,由於發展的 Linux 公司實在太多了,例如有名的 Red Hat, OpenLinux, Mandrake, Debian, SuSE 等等,所以很多人都很擔心,如此一來每個 distribution 是否都不相同呢?這就不需要擔心了,由於各個 distribution 都是架構在 Linux Kernel 下來發展屬於自己公司風格的 distribution,因此大家都遵守 Linux Standard Base ( LSB ) 的規範,也就是說,各個 distribution 其實都是差不多的!反正用到的都是 Linux Kernel 啊!只是各個 distribution 裡面所使用的各套件可能並不完全相同而已。所以囉,大家可以按照自己的喜好來選擇 Linux 的 distribution 光碟囉!底下列出幾個主要的 Linux 發行者網址:
當然發行套件者不僅於此,您可以查閱其他的 Linux 新聞來發現喔!而其中中文化較為有名的就屬 CLE 這個套件發行者了!另外,台灣還有另一家 Linux 開發商,稱為 Linpus (百資),有興趣的話也可以到底下的網頁上看看! 好了,那麼哪一個安裝套件比較好呢?!就如同 VBird 前面提到的,每一個發行者所使用的 Linux 核心其實是一樣的,都是由 www.kernel.org 開發出來的核心呀!所以其架構,甚至包括其檔案放置的目錄,都是大同小異的,基本上除了某些內容套件不太一樣之外 ( 例如有人使用 wu-ftpd 有人使用 proftpd 等等 ) ,其他的檔案架構與指令系統其實幾乎都是相同的,因此我們不去探討哪一個套件比較棒!而是要來介紹如何學習與使用一個套件!至於下載的地點,網友提供了一個相當棒的多種 Linux distributions 的下載網站: 同時底下的網站還有各個著名的 Linux distribution 的比較!包括使用的熱門情況、市場佔有率、以及套件的相依程度等等:http://www.distrowatch.com/
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. |
允許每個人複製和發佈這一許可證原始文件的副本,但絕對不允許對它進行任何修改。聲明
This is an unofficial translation of the GNU General Public License into Chinese. It was not published by the Free Software Foundation, and does not legally state the distribution terms for software that uses the GNU GPL-- only the original English text of the GNU GPL does that. However, we hope that this translation will help Chinese speakers understand the GNU GPL better.序言
這是一份 GNU 通用公共許可證非正式的中文翻譯。它不是自由軟體基金會所發布,並且不能適用於使用 GNU GPL 的軟體 ── 只有 GNU GPL 英文原文的版本才行。然而,我們希望這份翻譯能幫助中文的使用者更了解 GNU GPL。
大多數軟體許可證的用意在於剝奪您共享和修改軟體的自由。相反的,GNU 通用公共許可證力圖保證您共享和修改自由軟體的自由 ── 保證自由軟體對所有使用者都是自由的。GNU GPL 適用於大多數自由軟體基金會的軟體,以及任何因信任而採用 GNU GPL 的作者所開發的軟體。(有些自由軟體基金會軟體受 GNU 函式庫通用許可證的保護)。您也可以將它用到您的程式中。GNU 通用公共許可證 有關複製,發佈和修改的條款和條件
當我們談到自由軟體 ( free software ) 時,我們指的是自由而不是價格。我們把 GNU 通用公共許可證設計成您的 保障,讓您保有發佈自由軟體的自由 ( 您可以自由決定是否要對此項服務收取費用 );確保您能收到程式原始碼或者在您需要時能得到它;確保您能修改軟體或將它的一部分用於新的自由軟體;而且還確保您知道您擁有這些權利。
為了保護您的權利,我們需要作出規定:禁止任何人剝奪您的權利,或者要求您放棄這些權利。如果您修改了自由軟體或者發佈了軟體的副本,這些規定就轉化為您的責任。
例如,如果您發佈這樣一個程式的副本,不管是免費的還是收費的,您必須將您具有的一切權利給予您的接受者;您必須確認他們能收到或得到原始程式碼;並且將這些條款給他們看,使他們知道他們有這樣的權利。
我們採取兩項措施來保護您的權利:1.用版權來保護軟體。同樣,為了保護每個作者和我們自己,我們需要清楚地讓每個人明白,自由軟體沒有擔保 ( no warranty )。如果由於某人修改了軟體,並繼續加以傳播,我們需要它的接受者明白:他們所得到的並不是原來的自由軟體。由其他人引入的任何問題,不應損害原作者的聲譽。
2.提供您許可證,賦予您複製,發佈和修改這些軟體的法律許可。
最後,由於任何自由軟體不斷受到軟體專利的威脅,故我們希望避免這樣的風險。如果自由軟體的再發佈者以個人名義獲得專利許可證,也就等同將軟體變為私有。為防止這一點,我們必須明確聲明:任何專利必須以允許每個人自由使用為前提,否則就不准許有專利。
下面是有關複製、發佈和修改的確切的條款和條件。
凡是版權所有者在其程式和作品中聲明其程式和作品可以在 GNU GPL 條款的約束下發佈,這樣的程式或作品都受到本許可證約束。下面提到的 "程式" 指的是任何這樣的程式或作品。而 "程式的衍生作品" 指的是這樣的程式或者版權法認定下的衍生作品,也就是說包含此程式或程式的一部分的套件,可以是原封不動的,或經過修改的,和/或翻譯成其他語言的 ( 程式 )。( 在下文中,"修改" 一詞的涵義一律包含翻譯作品。) 每個許可證接受人 ( license ) 用 "您" 來稱呼。條款結束
本許可證條款不適用於複製,發佈和修改以外的行為。這些行為超出這些條款的範圍。執行本程式的行為不受條款的限制。而程式的輸出只有在其內容構成本程式的衍生作品 ( 並非只是因為該輸出由本程式所產生 ) 時,這一條款才適用。至於程式的輸出內容是否構成本程式的衍生作品,則取決於程式具體的用途。
- 只要您在每一程式副本上明顯和恰當地宣告版權聲明和不承擔擔保的聲明,並原封不動保持此許可證的聲明和沒有擔保的聲明,並將此許可證連同程式一起給其他每位程式接受者,您就可以用任何媒體複製和發佈您收到的程式的原始碼。
您可以為轉讓副本的實際行動收取一定費用。您也可以自由決定是否以提供擔保來換取一定的費用。
- 您可以修改程式的一個或幾個副本或程式的任何部分,以此形成基於這些程式的衍生作品。只要您同時滿足下面的所有條件,您就可以按前面第一款的要求複製和發佈這一經過修改的程式或作品。
- 您必須在修改過的檔案中附有明顯的說明:您修改了此一檔案及任何修改的日期。
- 您必須讓您發佈或出版的作品,包括本程式的全部或一部分,或內含本程式的全部或部分所衍生的作品,允許第三方在此許可證條款下使用,並且不得因為此項授權行為而收費。
- 如果修改的程式在執行時以交談方式讀取命令,您必須使它在開始進入一般的交談使用方式時列印或顯示聲明:包括適當的版權聲明和沒有擔保的聲明 ( 或者您提供擔保的聲明 );使用者可以按此許可證條款重新發佈程式的聲明;並告訴使用者如何看到這一許可證的副本。 ( 例外的情況:如果原始程式以交談方式工作,但它通常並不列印這樣的聲明,那麼您基於此程式的作品也就不用列印聲明 )。
這些要求適用於整個修改過的作品。如果能夠確定作品的一部分並非本程式的衍生產品,且可以合理地單獨考慮並將它與原作品分開的話,則當您將它作為獨立的作品發佈時,它不受此許可證和其條款的約束。但是當您將這部分與基於本程式的作品一同發佈時,則整個套件將受到本許可證條款約束,因為本許可證對於其他許可證持有人的授權擴大到整個產品,也就是套件的每個部分,不管它是誰寫的。
因此,本條款的意圖不在於剝奪您對完全由您自身完成作品的權利,而是履行權利來控制基於本程式的集體作品或衍生作品的發佈。
此外,將與本程式無關的作品和本程式 ( 或本程式的衍生作品 ) 一起放在貯存媒體或發佈媒體的同一卷上,並不導致將其他作品置於此許可證的約束範圍之 內。
- 您可以以目標碼或可執行形式複製或發佈程式 ( 或符合第 2 款,本程式的衍生作品 ),只要您遵守前面的第 1、2 款,並同時滿足下列三條中的任一條。
- 在通常用作軟體交換的媒體上,和目標碼一起附有機器可讀的完整的本程式原始碼。這些原始碼的發佈應符合上面第 1,2 款的要求。或者
- 在通常用作軟體交換的媒體上,和目標碼一起,附上書面報價,提供替第三方複製原始碼的服務。該書面報價有效期不得少於 3 年,費用不得超過完成原程式發佈的實際成本,原始碼的發佈應符合上面的第 1,2 款的要求。或者
- 和目標碼一起,附有您收到的發佈原碼的報價信息。 ( 這一條款只適用於非商業性發佈,而且您只收到程式的目標碼或可執行碼,和按 b 款要求提供的報價 )
作品的原始碼指的是對作品進行修改最優先擇取的形式。對可執行的作品而言,完整的原始碼套件包括:所有模組的所有原始程式,加上有關的介面的定義,加上控制可執行作品的安裝和編譯的 script。至於那些通常伴隨著執行本程式所需的作業系統元件 ( 如編譯器、核心等 ) 而發佈的軟體 ( 不論是原始碼或可執行碼 ),則不在本許可證要求以程式原始碼形式伴隨發佈之列,除非它是本程式的一部分。
如果可執行碼或目標碼是以指定複製地點的方式來發佈,那麼在同一地點提供等價的原始碼複製服務也可以算作原始碼的發佈,然而第三方並不需因此而負有必與目標碼一起複製原始碼的義務。
- 除了本許可證明白聲明的方式之外, 您不能複製,修改,轉發許可證和發佈程式。任何試圖用其他方式複製,修改,轉發許可證和發佈程式是無效的,而且將自動結束許可證賦予您的權利。然而,對那些從您那裡按許可證條款得到副本和權利的人們,只要他們繼續全面履行條款,許可證賦予他們的權利仍然有效。
- 您沒有在許可證上簽字,因而您沒有必要一定接受此一許可證。然而,沒有任何其他東西賦予您修改和發佈程式及其衍生作品的權利。如果您不接受許可證,這些行為是法律禁止的。因此,如果您修改或發佈程式 ( 或本程式的衍生作品 ) ,您就表明您接受這一許可證以及它的所有有關複製、發佈和修改程式或基於程式的作品的條款和條件。
- 每當您重新發佈程式 ( 或任何程式的衍生作品 ) 時,接受者自動從原始許可證頒發者那裡接到受這些條款和條件支配的複製、發佈或修改本程式的許可。您不可以增加任何條款來進一步限制本許可證賦予他們的權利。您也沒有強求第三方履行許可證條款的義務。
- 如果由於法院判決或違反專利的指控或任何其他原因 ( 不限於專利問題 ) 的結果,使得強加於您的條件 ( 不管是法院判決,協議或其他 ) 和許可證的條件有衝突時,他們也不能令您背離許可證的條款。在您不能同時滿足本許可證規定的義務及其他相關的義務來發佈程式時,則結果您只能夠根本不發佈程式。例如,如果某一專利許可證不允許所有直接或間接從您那裡接受副本的人們,在不付專利費的情況下重新發佈程式,唯一能同時滿足兩方面要求的辦法是停止發佈程式。
如果本條款的任何部分在特定的環境下無效或無法實施,就使用條款的其餘部分,並將這部分條款作為整體用於其他環境。
本條款的目的不在於引誘您侵犯專利或其他財產權的要求,或爭論這種要求的有效性。本條款的主要目的在於保護自由軟體發佈系統的完整性。它是通過公共許可證的應用來實現的。許多人已依賴同是出自此系統的應用程式,經由此系統發佈大量自由軟體而做出慷慨的供獻。作者 / 捐獻者有權決定他/她是否通過任何其他系統發佈軟體,許可證接受者不能強迫作者 / 捐獻者做某種特定的選擇。
我們相信許可證其他部分已涵蓋本節所述狀況,本節目的只在更明確說明許可證其餘部分可能產生的結果。
- 如果由於專利或者由於有版權的介面問題使程式在某些國家的發佈和使用受到限制,則以本許可證發佈程式的原始作者可以增加發佈地區的限制條款,將這些國家明確排除在外,並在這些國家以外的地區發佈程式。在這種情況下,這些限制條款如同寫入本許可證一樣,成為許可證的條款。
- 自由軟體基金會可能隨時出版通用公共許可證的修改版或新版。新版和當前的版本在精神上保持一致,但在細節上可能有出入,以處理新的問題與狀況。
每一版本都有不同的版本號。如果程式指定可適用的許可證版本號以及 "任何更新的版本" ,您有權選擇遵循指定的版本或自由軟體基金會以後出版的新版本。如果程式未指定許可證版本,您可選擇自由軟體基金會已經出版的任何版本。
- 如果您願意將程式的一部分結合到其他自由程式中,而它們的發佈條件不同,請寫信給作者,要求準予使用。如果是自由軟體基金會加以版權保護的軟體,請寫信給自由軟體基金會,我們有時會作為例外的情況處理。我們的決定受兩個主要目標的指導,這兩個主要目標是:我們的自由軟體的衍生作品繼續保持自由狀態,以及從整體上促進軟體的共享和重複利用。
- 沒有擔保
由於程式准予免費使用,在適用法准許的範圍內,對程式沒有擔保。除非另有書面說明,版權所有者和/或其他提供程式的人們 "一樣" 不提供任何類型的擔保,不論是明確的,還是隱含的,包括但不限於可銷售和適合特定用途的隱含保證。全部的風險,如程式的質量和性能問題都由您來承擔。如果程式出現缺陷,您應當承擔所有必要的服務、修復和改正的費用。
- 除非適用法或書面協議的要求,在任何情況下,任何版權所有者或任何按許可證條款修改和發佈程式的人們都不對您的損失負有任何責任。包括由於使用或不能使用程式引起的任何一般的、特殊的、偶然發生的或重大的損失 ( 包括但不限於數據的損失,或者數據變得不精確,或者您或第三方的持續的損失,或者程式不能和其他程式協調運行等 ) 。即使版權所有者和其他人已被告知這種損失的可能性也不例外。