Linux發行版Ubuntu與Debian之間有哪些不同之處
Ubuntu和Debian是有史以來最具有影響力的兩個Linux發行版。在大約285個活躍發行版當中,有132個源自Debian(也包括Ubuntu本身),另有67個直接源自Ubuntu。不過使用這兩個發行版的體驗幾乎在每個方面都不一樣。因而,在Ubuntu和Debian之間作一個選擇並非易事。
如果要求你解釋一下Ubuntu和Debian之間的區別,大多數會這樣回答:Ubuntu是面向新手的發行版,而Debian是面向專家的發行版。這樣的描述部分正確,但同時誇大其辭。Debian的聲譽建立在10多年前的狀態;如今,允許每個使用者可以選擇眾多的實際控制特性。
同樣,從設計概念來看,Ubuntu非常易於使用。如果你的工作習慣與這些概念不一致,可能會強烈反對Ubuntu易於使用這一觀點。
然而,雖然Ubuntu源自Debian,但兩者的區別還是很明顯。從安裝和桌面,到程式包管理及社群,大家認為自己對於Ubuntu和Debian瞭解的情況可能是錯誤的,或者至少需要作一些嚴格限制――這一切使選擇哪個發行版適合貴公司的業務戰略顯得非常困難。
安裝方面的區別
眼下,你可以使用哪個發行版取決於擁有的硬體。Debian目前面向大約13種硬體架構:從標準的32位和64位英特爾架構到ARM和PowerPC架構,還支援另外兩種正在開發的架構。相比之下,Ubuntu支援32位和64位版本這兩大不同的計算機桌面環境,現正在為移動裝置開發Ubuntu ARM版本。
要考慮的另一個方面是面向每個發行版的安裝程式。Ubuntu的標準安裝程式被設計成主要為了要求儘量少的使用者輸入,以便確保安裝簡單、速度儘可能快。要是你遇到任何問題,可以試試專家模式安裝程式,這是Debian安裝程式稍稍改頭換面的版本。
Debian安裝程式顯然有其他優先事項。比如說,其圖形化版本是GUI,這有別於主要在工具包中的基於文字的安裝程式:除了讓害怕使用命令列的那些使用者感到安心外,沒有任何優勢可言。
相比之下,Debian之前的聲譽是,只要按照線上操作說明,此外每個階段接受預設設定,通常就可以安裝Debian。然而,如果你決定親自選擇,可以在安裝過程的每一步選擇每個設定,這大大增加了安裝所需的時間。Debian安裝程式並不是迎合沒有經驗的使用者,而是兼顧所有不同水平的使用者。它不是很漂亮,但是不用編譯自己的程式包,所以你不可能找到更靈活的安裝程式。
管理和程式包管理方面的區別
Debian和Ubuntu都鼓勵使用根帳戶用於管理,使用受限制帳戶用於日常計算,這一點不足為奇。然而,選擇的安全模式不一樣。
在Debian中,使用者通常通過直接登入進入到根帳戶來執行管理任務,然後儘快再次登出,以便縮短安全隱患期。不過,Ubuntu隱藏了根密碼;不是使用sudo,而是允許至少1個使用者輸入自己的密碼,以便下達管理命令。
Debian的程式包主要分為三大類:測試版、穩定版和不穩定版。新的程式包進入穩定版,然後在經過除錯後轉變成測試版。官方版本準備好後,處於測試版的現有程式包接受進一步的檢查,最後成為新的穩定版。
近些年來,官方、甚至非官方增添了另外一些程式包,比如Backports、Experimental、Security、Old Stable和Update。然而,使用者需要把注意力主要放在三大類軟體庫上。
Debian系統具有的優點之一是,你可以在下面這兩個極端之間作一選擇:極其穩定,但缺點是版本較老;或者非常先進,但缺點是軟體不大穩定,技術出現的重大變化可能讓不知情使用者的系統崩潰。這裡的選擇取決於你是升級核心元件(比如Linux核心),還是升級災難發生時不影響其他東西的自帶程式碼庫的獨立式實用工具。
恰恰相反,Ubuntu的程式包來自Debian測試版或不穩定版。Ubuntu的軟體庫按照其他標準來加以組織,而不是由測試狀態來加以組織。Main含有Canonical支援的軟體,以及Ubuntu社群支援的Universe軟體。Restricted含有專有驅動程式,其中Multiverse存放有版權或其他法律限制的軟體。
另一個主要的區別在於,Debian更致力於提倡軟體自由。它在預設情況下只安裝免費軟體,安裝程式甚至提供沒有專有韌體的核心。如果你需要非免費軟體,就需要為每個軟體庫新增Nonfree和Contrib這兩個部分。
正好相反,免費與專有之間的區別在Ubuntu當中不是那麼清楚。這邊廂,Debian不鼓勵使用專有軟體,不過允許使用者做出自己的選擇;那邊廂,Ubuntu鼓勵使用者安裝專有軟體,獲得與其他商業作業系統上的計算體驗相媲美的計算體驗。萬一你願意試一下,可以在Debian上獲得同樣的體驗,但是Debian更清楚地表明:你這麼做的同時犧牲了軟體自由。
桌面方面的區別
Ubuntu和Debian預設情況下使用不同的桌面環境。Ubuntu預設情況下使用Unit;近幾年來,背後大力支援Ubuntu的企業Canonical一直在開發這個桌面。如果Canonical在營銷移動裝置方面取得成功,那麼在未來你就能夠在所有硬體上使用同一個桌面了。
然而,那些預設桌面意味著除了方便外沒多大意義。Debian和Ubuntu都支援多個桌面。在Ubuntu中,桌面是半獨立的發行版,包括Xubuntu for Xfce和Kubuntu for KDE。那些變種與標準的Ubuntu採用了同樣的底層GNOME技術,能不能與官方版本同步不好說,時間相差不到幾周。
在Debian中,桌面方面的選擇大致一樣,不過開發桌面的團隊與開發標準Debian的團隊關係比較緊密。那些版本的時間表有變化,所以總是預計要花點時間在網上搜尋,查一查開發結果可能讓你有興趣的團隊的近況。
除了Unity外,為Ubuntu編寫的大多數軟體也有面向Debian的版本。為Debian編寫的軟體幾乎總是有面向Ubuntu的版本,因為Ubuntu的程式包來自Debian的軟體庫。由於Debian的釋出週期慢得要命,Ubuntu的軟體還通常比Debian的軟體來得更新穎。不過其優點是,Debian往往更穩定,經過更全面的測試。
提醒一句:別想當然地以為共同的起源讓兩者程式包可以相互相容;因為雖然許多程式包可以同時安裝到Ubuntu和Debian上,但大約20%的Ubuntu程式包與Debian不相容的可能性相當大,那是由於名稱和檔案位置不一樣。
社群方面的區別
對於從事開發工作的使用者來說,Ubuntu社群和Debian社群也是他在選擇時需要考慮的一個因素。眾所周知,Debian常常事無鉅細地討論一切,尤其是有爭議的話題,甚至會進入集體表決的地步。
近些年來,Debian似乎很成熟老練,但是討論仍有時變成一場混戰。過去,Debian被被描述成是一種對女性不友好的環境;而近來,將init換成systemd方面的爭論變得非常激烈,結果好幾個資深開發人員選擇走人,而不是忍受虐待。
與此同時,Debian奉行精英民主,所有官方維護人員投票表決Debian領導者及其他所有議題。雖然被任命的崗位有時是權力來源,但是Debian工作人員普遍推行的領導方式還是提建議和實行民主,而不是直接發號施令。
Ubuntu有別於Debian的地方在於,Ubuntu為社群活動制定了行為規範。時至今日,Ubuntu的社群管理員是Jono Bacon,他寫過一本書,介紹《社群之道》,還投入了大量的精力來消除衝突。此外,每年都會選擇技術委員會(Technical Board)和社群理事會(Community Council)的部分成員。
然而,這種表面上的民主與實際的民主不太一樣。Ubuntu的創始人Mark Shuttleworth在管理委員會中佔有永久性席位,還擁有決定權。Mark及其Canonical代表對於社群通常擁有否決權,這在過去好幾次引起了使用者反抗。
為貴公司的業務戰略做出最佳選擇
是專家還是新手?要免費還是專有?要易用性還是控制性?需要平臺支援嗎?要先進性還是要穩定性?要Unity還是要GNOME?要有節制、有禮貌,還是暢所欲言但民主作風?
你也注意到了,選擇Ubuntu還是選擇Debian常常歸結為哪個方面對你及貴公司來說更為重要。
在你選擇其中一個發行版之前,我強烈建議弄清楚你在所有這些兩選一方面處於什麼樣的情況。你可能更看重某個方面。
然而,不管你做出怎樣的決定,幾乎不會選錯。儘管我們上面提到了種種區別,但是Ubuntu和Debian並不是偶然成為免費軟體領域的兩大領先發行版。Ubuntu和Debian的共同霸主地位表明,任何一個都是合理的選擇,只要你明白自己的優先事項就行。
原文標題:How Ubuntu is different from Debian,作者:M.el Khamlichi 翻譯:51CTO
相關文章
- Python和Java之間有什麼不同之處?PythonJava
- Linux和Unix有什麼不同之處?Linux
- Python和Java之間有什麼不同之處?總結!PythonJava
- C++有什麼與眾不同之處?C++
- 小程式直播,影片號直播兩者有哪些不同之處
- 在Linux中,Linux發行版有哪些?Linux
- Debian與Ubuntu到底有什麼不同,應該如何選擇?Ubuntu
- 嵌入式Linux是什麼?它與普通Linux有什麼不同之處?Linux
- Kotlin 與 JAVA 不同之處KotlinJava
- GNU是什麼?與Linux的不同之處在哪?Linux
- Linux系統與Windows系統的不同之處LinuxWindows
- 有線網路卡與無線網路卡有什麼不同之處?
- Linux 發行版簡介系列:DebianLinux
- Elasticsearch 之 Filter 與 Query 有啥不同?ElasticsearchFilter
- Debian和Ubuntu有什麼不同嗎?該如何選擇?Ubuntu
- 美顏sdk為什麼有多種不同的價格?版本之間有哪些差異?
- 執行緒與程式之間有什麼關係?Linux執行緒與程式有什麼區別?執行緒Linux
- MyBatis 與 Hibernate 有哪些不同?MyBatis
- 小程式定製開發和APP開發相比較有何不同之處APP
- Flink不同併發之間如何通訊
- 談Ubuntu與FOSS之間的關係(轉)Ubuntu
- 美顏SDK與直播、短影片平臺有哪些關聯之處?
- Python和R之間的優勢有何不同?Python
- 人工智慧與機器學習有哪些不同人工智慧機器學習
- Linux發行版本分為幾類?各版本之間有什麼區別?Linux
- Linux系統發行版本有哪些?Linux
- 幽默系列:程式設計師與眾不同之處程式設計師
- 新手須知:HTTP 與 HTTPS 的不同之處HTTP
- QT之不同主機之間TCP通訊QTTCP
- SAP Business Suite 舊程式碼行與 SAP S/4HANA 新程式碼行之間有哪些根本區別?UI
- Linux中awk和sed分別指什麼?兩者之間有什麼不同?Linux
- [提問交流]onethink_v1.0正式版和onethink_v1.1開發版不同之處-why 開發版有兩個入口檔案
- shell與Linux命令有什麼區別?它們之間有聯絡嗎?Linux
- 一文解析:低程式碼與無程式碼的相同之處、不同之處以及如何選?
- 不同層之間的物件關係物件
- 開發板和 Ubuntu 之間怎麼傳檔案Ubuntu
- 結構與類的物件在引用上的不同之處物件
- 深入解析delete和truncate不同之處:delete