Linux各發行版以及哲學思想
-
什么是Linux
-
為什么會有不同的Linux發行版
-
現有主流發行版,及其他們之間相互關系
-
Linux所遵循的哲學思想
什么是Linux
Linux是一種自由和開放源代碼的Unix-like操作系統,由當時就讀于芬蘭赫爾辛基大學的Linus Torvalds于1991年10月5日首次發布于互聯網。Linux遵循第二版GNU通用公共許可證(GPL)。嚴格意義上Linux只表示操作系統內核本身,但通常用Linux Kernel來表達該意思。Linux則常用來指基于Linux內核的完整操作系統,包括GUI組件和許多其他實用工具。
最早商用大型機上主要采用批處理操作系統,隨后創建了分時概念,即將大型機珍貴的時間資源適當分配到所有用戶身上,用戶有獨占整部機器的感覺。1964年由貝爾實驗室、麻省理工大學及美國通用電氣公司共同參與研發了一套分時多任務操作系統——Multics。
由于MULTICS項目進展過于緩慢,1969年貝爾實驗室退出該項目。隨后貝爾實驗室的Ken Thompson花費一個月時間研發了全新的操作系統UNICS具有多任務、多用戶的特征,運行于由DEC公司生產的迷你小型機PDP-7,后改名為Unix。第一版的Unix基于在開發Multic時期Thompson創造的Bon語言,由于B語言在進行系統編程時不夠強大,Thompson與Dennis Ritchie對其進行了改造,于1971年共同發明了著名的C語言。1973年Thompson和Ritchie用C語言重寫了Unix,安裝于PDP-11的機器之上。
貝爾實驗室隸屬美國AT&T公司,因此Unix版權歸AT&T。根據AT&T于1958年與美國司法部簽署的和解協議,AT&T同意不進入計算機業,同時也不銷售任何與計算機有關的產品,以避免司法部起訴其違反《反壟斷法》。但同時,任何機構要求得到Unix源代碼,AT&T必須無償提供。
加州大學伯克利分校的到Unix源代碼后,將其安裝在PDP-11機器上,用作擴展研究。期間,伯克利的研究生Bill Joy以及伯克利系統研究小組(BSRG)為Unix添加了許多功能。1977年,Bill Joy將程序整理都磁帶上,作為firt Berkeley Software Distribution(1BSD)發行。
1982年AT&T再次進入計算機業,并于次年發布了自己的付費Unix操作系統System V,并且要求用戶不得隨意傳播其代碼。BSD雖然本身免費,但其中包含一部分AT&T代碼。為了減少糾紛,伯克利只能將BSD提供給持有AT&T源碼許可的公司,并且立即著手將AT&T專有代碼逐漸除去。由于源碼許可但是非常昂貴,幾個其他組織對單獨的網絡代碼感興趣,完全獨立于AT&T,這樣就可不受許可證限制。因此,1989年6月Networking Release 1(Net/1)誕生,沒有AT&T也能使用,可遵照BSD許可進行再發布。18個月后,所有AT&T的工具都被替換,只剩下留在內核的一些AT&T文件。殘余文件被剔除后,1991年6月,Net/2一個全新的操作系統誕生,可以自由發布。
Net/2成為Intel 80386構架上兩種移植的主要組成,包括由William Jolitz負責,自由的386BSD;以及專屬的BSD/OS,由Berkeley Software Design(BSDi)負責。386BSD本身雖然短命,但在不久之后成為了NetBSD和FreeBSD原始代碼的基礎。
BSDi很快就與AT&T的UNIX Systems Laboratories(USL)附屬公司產生了法律糾紛,后者將擁有System V版權,以及Unix商標。1992年,USL正式對BSDi提起訴訟,這導致Net/2發布被中止,直到其源碼能夠被鑒定為符合USL的版權。由于最后判決懸而未決,這樁法律訴訟將BSD后裔的開發,特別是自由軟件,延遲了兩年,這導致沒有法律問題的Linux內核獲得了極大的支持。
Linux跟386BSD的開發幾乎同時起步,Linux內核最早是有芬蘭黑客Linus Torvalds為嘗試在自己的英特爾x86架構計算機上提供自由免費的Unix-like而開發的。該計劃始于1911年,Linus Torvalds當時在Usenet新聞組comp.os.minix登載帖子,這份注明的帖子標識著Linux內核計劃的正式開始。單獨來看,從技術上說Linux只是一個內核,是一個提供硬件抽象層、磁盤及文件系統控制、多任務功能的系統軟件。
為什么會有不同發行版的Linux
因為一個問題:先有蛋還是先有雞? GNU組織對外發布的只是程序及Linux內核的源代碼,而這些程序及Linux內核要運行在硬件上需要編譯成二進制的機器語言。但編譯器又需要運行在操作系統上。因此從源碼編譯并拼裝一個具有主要功能的Linux操作系統需要的技術過于困難。 因為上述問題,有一些商業或者非商業組織或者公司,根據Linux內核源碼和GNU組織對外發布的程序源碼編譯并拼裝一套操作系統對外發售或置于互聯網供使用者免費下載。由于不同組織對操作系統的理解或或者想要面對的受眾不同,因此在拼裝后所具備的特點也不一而同。這樣就有了各式各樣上百種Linux發行版。
現有主流發行版
現有比較主流的發行版分支有:Debian、Slackware、RedHat等。
-
Debian: Debian在發展過程中,各種功能的限制相對其他版本較小。但同時帶來的操作使用難度也隨之升高,需要使用者有較強的使用能力?;贒ebian的二次發行版還有比較流行的Ubuntu,以及knopix
-
Slackware:該分支中的S.u.S.E比較著名,其面對企業級的發行版SLES在歐洲地區使用較多。
-
RedHat:RedHat在北美市場以及大陸較為流行,基于其的二次發行版有CentOS、Fedora Core,RHEL是發行的企業級發行版。值得注意的是CentOS,基本取用了RedHat的所有特點,只是修改了RedHat公司的商標等,又因為其免費的特點被一寫具有獨立維護能力的公司廣泛使用。
其他的目前比較著名的還有Gentoo、ArchLinux、Kali等。Kali也是被認為超越《權利的游戲》的另一神劇的《黑客軍團》中男主角使用的系統,其中包含了大量的滲透性測試工具。
Linux所遵循的哲學思想
-
一切皆文件,把幾乎所有資源統統抽象為文件形式:包括硬件設備,甚至通信結構等。這樣訪問任何文件都可以用統一的訪問接口來實現;
-
由眾多功能單一的程序組成。系統中每一個程序通常只做一個一件事,并且做好。這樣通過組合小程序就可以更加自由豐富地完成復雜任務,同時也有利于編程方式實現自動化任務。
-
盡量避免與用戶交互。這樣也是為了易于以編程方式實現自動化任務。
-
使用文本文件保存配置信息。這樣可以通過簡單的文本文件的修改就可以實現軟件的不同配置,更為簡潔靈活。
原創文章,作者:N24_fynl,如若轉載,請注明出處:http://www.www58058.com/55587
總結的不錯,希望能熟知Linux的哲學思想,加油!