一、Linux簡介
Linux可以有狹義和廣義兩種定義。狹義來說,Linux實際上指Linux kernel (內(nèi)核)。內(nèi)核負責(zé)管理硬件,并為上層應(yīng)用提供接口。而廣義來說,是指以Linux kernel為基礎(chǔ)的,包括OS和各種應(yīng)用在內(nèi)的各個Linux版本(distribution)。盡管看起來版本眼花繚亂,但實際上,各個版本之間也只是大同小異,其差別往往體現(xiàn)在客戶群、升級維護和界面等方面。
Linus Torvalds是Linux之父。他根據(jù)Minix系統(tǒng)的代碼,參照UNIX系統(tǒng)的設(shè)計,寫出了第一給Linux內(nèi)核。Linus的創(chuàng)舉在于將Linux內(nèi)核的代碼開源。后來,Linux內(nèi)核和一套開源的應(yīng)用軟件GNU結(jié)合,共同采取開源協(xié)議,并迅速發(fā)展成熟。我們可以隨意地使用和修改開源代碼,但以此為基礎(chǔ)開發(fā)的程序也要根據(jù)開源協(xié)議公開。Linux和GNU的開源性吸引了大批優(yōu)秀的程序員參與到Linux相關(guān)的開發(fā)中。
從哲學(xué)和設(shè)計理念上,Linux與其他的UNIX版本相類似,并使用類似的接口。我們可以通過學(xué)習(xí)Linux的基本概念和機制來了解其它UNIX系統(tǒng),比如Solaris, FreeBSD,還有基于FreeBSD的蘋果公司的Mac OS。曾經(jīng)Windows的興起曾經(jīng)讓許多人認為UNIX將最終被Windows取代,但如今看到Linux和蘋果產(chǎn)品的興盛,我很感慨于UNIX體系的力量。
Linux的有如下比較重要的機制: 用于儲存數(shù)據(jù)以及管理權(quán)限的文件系統(tǒng),用于IO的文本操作API,用于管理操作的進程,用于實現(xiàn)多任務(wù)運行的多線程,以及進程間通信(我將信號和網(wǎng)絡(luò)也都歸入這一類中)。
特別推薦下面的一些文章,以便你對Linux有一個概觀:
大教堂和市集(The Cathedral and the Bazaar),作者Eric Raymond
可以說是為Linux正名的一篇文章,深入分析Linux成功的原因。你也可以通過名字來搜索中文翻譯版本。
該作者的其他文章也非常值得一讀。
二、Linux的廠商版本
在Linux內(nèi)核基礎(chǔ)上,我們還有許多廠商版本。即使有了內(nèi)核和GNU軟件,Linux的安裝和編譯并不是簡單的工作,Linux廠商就是瞄準了這個市場。這些廠商會在Linux內(nèi)核的基礎(chǔ)上,結(jié)合自己開發(fā)的軟件,幫助用戶安裝和使用Linux,并提供技術(shù)支持。由于在服務(wù)器領(lǐng)域,Linux操作系統(tǒng)遠遠領(lǐng)先于Windows系統(tǒng),而這些被政府部門、銀行或者大學(xué)擁有的服務(wù)器往往承擔(dān)很重要的信息處理和IO (input/outpt) 工作,所以盡管Linux開源,廠商還是可以根據(jù)其提供的商用軟件和技術(shù)支持獲得豐厚的利潤。
(IBM是Linux設(shè)備最大的供應(yīng)商,同時它的咨詢業(yè)務(wù)很大一部份也來源于提供Linux相關(guān)的支持。我們所熟知的Android操作系統(tǒng),也算是Google提供的一個廠商版本。)
我們這里主要介紹在PC上比較流行的Linux廠商版本:
1. 紅帽系列
Red Hat linux: 大名鼎鼎的紅帽,現(xiàn)在已經(jīng)完結(jié)。以此為基礎(chǔ)有以下分支:
Red Hat Enterprise: (www.redhat.com) 這個是企業(yè)級的linux,主要面向服務(wù)器。作為商業(yè)版,有比較好的配套軟件和技術(shù)支持。RH的教材也堪稱經(jīng)典。
Fedora: (http://fedoraproject.org) 由社區(qū)維護,去除了一些商業(yè)軟件。紅帽實際上贊助了這個項目,以便以此作為技術(shù)測試平臺。
CentOS: (www.centos.org) 這個版本不來自紅帽的公司,是收集紅帽公開的源碼組成的免費版本,由社區(qū)維護,和紅帽完全兼容。版本號升級較慢,但有持續(xù)的技術(shù)支持,所以適合于不愿意頻繁升級的情形,鳥哥中就推薦以CentOS來建站。
2. SUSE系列
SUSE Linux Enterprise: (www.suse.com) 和紅帽商業(yè)版類似,是德國公司制作的,據(jù)說在歐洲比較流行,但我歐洲的朋友表示沒怎么聽說過。SUSE系列比較有特色的是YAST2,就是用來設(shè)置Linux的界面,對初級管理員比較方便。
openSUSE: (www.opensuse.org) SUSE的免費版本。以前SUSE不是很推這個免費版本,支持不好?,F(xiàn)在似乎態(tài)度大大轉(zhuǎn)變。就我個人的使用體驗來說,還是覺得社區(qū)支持不足。
3. Debian系列
Debian: (www.debian.org) 完全免費,社區(qū)維護的Linux版本,有很大的用戶群,所以遇到問題,基本都可以找到社區(qū)用戶的支持。
Ubuntu: (www.ubuntu.com) 由一個基金提供支持的免費Linux版本。 繼承自Debian。界面很友好。發(fā)郵件過去,還會送你免費安裝CD (不知道現(xiàn)在還有沒有)?,F(xiàn)在的版本加載的東西有些多,速度有些慢。寫《大教堂和市集》的Eric Raymond說它是最好的Linux。
Mint (http://www.linuxmint.com), 基于ubuntu。它提供了更加豐富的預(yù)裝應(yīng)用,以減少用戶搜索并安裝應(yīng)用的麻煩。其使用的應(yīng)用版本比較新,可能不是很穩(wěn)定。
此外,還有如下一些版本:
Gentoo (www.gentoo.org) 基于源碼的版本,提供給用戶很大的自由度。為用戶提供大量應(yīng)用程序的源碼,可以在用戶的系統(tǒng)上重新編譯建造。需要一定的系統(tǒng)配置的知識。
ArchLinux (www.archlinux.org),推崇簡潔,避免不必要和復(fù)雜的修改,是一個輕便靈活的版本。其配置文件有良好注釋。
Mandriva (www.mandriva.com) 一個很方便用戶使用的版本,其目標是使得新用戶更容易使用linux。
Slackware (www.slackware.com) 穩(wěn)定,基本。它的只包含穩(wěn)定版本的應(yīng)用程序。對于初級用戶不是很友好。
TurboLinux (www.turbolinux.com) 在亞洲比較流行。商業(yè)版本,提供技術(shù)支持和咨詢服務(wù)。