本節書摘來自異步社群《unix/linux 系統管理技術手冊(第四版)》一書中的第1章,第1.3節,作者:【美】evi nemeth , garth snyder , trent r.hein , ben whaley著,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視
unix/linux 系統管理技術手冊(第四版)
因為unix和linux系統頗為相似,是以本書會同時講解這兩種系統的管理。遺憾的是,在一句話裡同時用unix和linux這兩個稱謂,就仿佛一腳踏入了政治漩渦,或許也像是陷入了一大片泥潭。不過,既然unix和linux之間的關系似乎呈現出某些混淆和沖突,是以要避開不談我們的立場也比較困難。下面是我們的觀點,還有我們對事實的簡要說明。有關unix和linux曆史的更多資料,可參考本書後面的介紹。
linux重新實作并優化了unix核心。linux遵循posix标準,能夠在幾種硬體平台上運作,相容現有的大多數unix軟體。它同大多數(但不是全部)别的unix變體不一樣,差別之處在于,它是自由的,開放源代碼的,而且是由成百上千不同的個人群組織無私奉獻協同開發出來的。與此同時,傳統的unix廠商則繼續改善自己的系統,是以肯定存在一些領域,在這些領域内,商業unix系統比linux強。
無論兩種系統有什麼相對而言的優缺點,linux從法律上、從開發上以及從曆史上看,都和unix有着明顯的差別,是以不能把linux稱為unix,或者unix的一種版本。這樣做會忽視linux社群所做的工作和創新。同時,堅持認為linux不是unix的話,又會有點兒誤導性。如果做出來的東西走路像鴨子,叫起來像鴨子,那或許可以說,造的就是鴨子![譯者注:源自一句西方諺語。if it looks like a duck, walks like a duck, and quacks like a duck, it must be a duck!看起來像鴨子,走起路來像鴨子,叫起來也像鴨子,那一定是鴨子!這裡的意思是,不能因為linux像unix,就把linux當成unix。]
即便在linux陣營裡也存在分歧。有人舉證說,把linux發行版本簡稱為“linux”,那麼開發人員在核心之外運作的那些軟體(在一般系統上實際是很大一部分軟體)上投入的工作,就沒有得到承認。偏偏不巧,最常推薦的替代稱謂“gnu/linux”也有其自己的政治包袱,是以隻有debian這個發行版本才正式采用它。維基百科上有關“gnu/linux命名争議”的條目列舉出了争執雙方的論點1。有意思的是,現如今,甚至在大多數unix系統上,也是開源軟體的使用占據主導,但還沒有人提gnu/unix這樣的說法2。
linux軟體就是unix軟體。多虧有了gnu計劃,使unix系統更富價值的重要軟體大多都以某種開放源代碼的形式被開發出來3。在linux和非linux系統上運作的代碼是相同的。比如說,web伺服器apache全然不在意它是在linux上還是在hp-ux上運作。從應用軟體的角度來看,linux隻不過是得到最好支援的unix變體之一罷了。
另外還值得一提的是,linux不是現今世界唯一的自由unix版本。opensolaris系統也是自由和開源的,雖然在某些講求純開源的人眼裡來看,它的許可證條款存有疑點。freebsd、netbsd和openbsd——都是從uc berkeley(加州大學伯克利分校)的bsd(伯克利軟體釋出,即berkeley software distribution)發展而來的分支——都有其各自的熱誠追随者。雖然這些作業系統從第三方軟體廠商得到的支援有點兒少,但它們在功能和可靠性上卻往往可以同linux相媲美。
unix和linux系統用于生産環境已經有許多年了,而且它們都表現不錯4。現在要在它們之間做出選擇,更多考慮的是軟體打包機制、能獲得的支援以及使用習慣的惰性,而不是品質或者成熟度實際有什麼樣的差别。
本書裡對“linux”的評論一般也都适用于各種linux發行版本,但不适用于傳統的unix變體。“unix”的含義稍有點兒多變,因為我們偶爾也會用在包括linux在内的所有unix變體所共有的屬性上(例如,“unix檔案權限”)。為了避免混淆,在想表達二者都有的情況下,我們通常說“unix和linux”。