為什么選擇 Linux?為什么選擇 Debian?
本結(jié)果來自于網(wǎng)絡(luò),旨在分享知識,原文為全英文
地址:https://people.debian.org/~srivasta/talks/why_debian/talk.html
為什么選擇 Linux?為什么選擇 Debian?
????????我可能不是談?wù)搶Σ僮飨到y(tǒng)選擇進(jìn)行冷靜比較的最佳人選,部分是因?yàn)槲也皇枪?,部分是因?yàn)槲覍θ魏尾皇俏抑饕x擇的操作系統(tǒng)的經(jīng)驗(yàn)有限。我也不是倡導(dǎo)我的選擇的主要候選人,因?yàn)槲疫x擇我喜歡的原因不太可能是普遍的,以及我最初做出決定的環(huán)境(因?yàn)橛幸稽c(diǎn)歷史慣性會保持我在哪里)不再存在。
????????然而,我試圖讓這個演講比我單獨(dú)的觀點(diǎn)有更廣泛的視角,并征求其他做出與我相同選擇的人的意見——但鑒于這個話題是多么主觀,我要發(fā)言這里主要是從我的角度,以及已經(jīng)選擇 Debian 的人的角度。
????????鑒于本次演講的主要聽眾的性質(zhì),我不會花太多時間來解釋為什么人們應(yīng)該選擇類似 UNIX 的操作系統(tǒng)而不是微軟的操作系統(tǒng)??梢哉f,以下標(biāo)準(zhǔn)明確指出我遠(yuǎn)離 Windows:安全性。靈活性。特征控制。哲學(xué)。成本。速度。效率??煽啃?。應(yīng)用軟件的可用性和選擇。對蠕蟲和病毒的易感性。已知缺陷的開放性和解決速度。聚類。多用戶操作系統(tǒng)。沒有 GUI 或 HTTP 瀏覽器作為操作系統(tǒng)的組成部分。
????????http://www.michaelhorowitz.com/Linux.vs.Windows.html?對 Linux 和 windows 進(jìn)行了比較中肯的比較,可以作為 windows 用戶對 Linux 的介紹。它確實(shí)有更多的商業(yè)傾向,而不是適合本次演講(例如,對 Linux 發(fā)行版/公司的市場成功的關(guān)注)。
????????哲學(xué)與社區(qū)
????????最終,哲學(xué)是我們正在考慮的操作系統(tǒng)之間最持久的區(qū)分標(biāo)準(zhǔn)。性能數(shù)字發(fā)生變化。軟件的易用性、可靠性、可用性——所有這些特性都會隨著時間而改變,你必須隨著時間的推移重新評估它們。
????????我必須承認(rèn),哲學(xué)和社區(qū)是我最初進(jìn)入 Linux 陣營,然后是 Debian 的原因。我認(rèn)為這些仍然是最重要的標(biāo)準(zhǔn),而且經(jīng)常被低估。
????????為什么免費(fèi)軟件是一件好事?在我參與自由軟件的近二十年里,我問過人們這個問題(而且常常對答案感到驚訝)。流行的答案似乎是因?yàn)樗芸?,或者因?yàn)樗橇愠杀?。作者的動機(jī)也各不相同,但他們獲得的報酬往往是在同行群體中的認(rèn)可、贊譽(yù)或可以在工作場所換取的經(jīng)驗(yàn)。
????????但我認(rèn)為這缺少自由軟件的關(guān)鍵存在理由——站在巨人的肩膀上?方面。我喜歡類比學(xué)術(shù)研究的方式。如果研究人員注定要重新發(fā)明輪子,并為自己發(fā)現(xiàn)超出教科書內(nèi)容的所有內(nèi)容,那么研究界的進(jìn)步就會受到阻礙。我的大多數(shù)同齡人都是通過文獻(xiàn)搜索、尋找有趣的調(diào)查以及可能關(guān)聯(lián)不相關(guān)的論文,在該領(lǐng)域其他研究人員的想法和技術(shù)的基礎(chǔ)上開始研究的。大多數(shù)實(shí)驗(yàn)室的保密研究只存在于發(fā)表的那一刻——然后人們分享他們的技術(shù)、想法和結(jié)果——事實(shí)上,可重復(fù)性是成功的主要標(biāo)準(zhǔn)。
????????與專有軟件相比,我們都是從零開始的——我相信,只要我們能夠自由地分享和建立在他人的想法和勞動之上,我們就能騰飛。這將降低創(chuàng)新的時間、精力和成本,允許最佳實(shí)踐和設(shè)計模式發(fā)展和成熟,并減少增加內(nèi)部開發(fā)解決方案障礙的繁瑣編程。
????????我們只需要確保成就的動機(jī)仍然存在(它不必是純粹的利潤動機(jī))。
????????這種信念使我選擇了 GPL 和自由軟件基金會對事物的看法,而不是 BSD 許可證,后者也是自由軟件許可證,并最終導(dǎo)致我選擇了 Debian。在我個人看來,BSD 許可證更多的是關(guān)于編寫自由軟件的個人自豪感,而不關(guān)心軟件的去向;我想要的不止這些。我希望我的工作能夠幫助建立一個協(xié)同的社區(qū);反饋到有用軟件的源泉。
????????Debian 是社區(qū)谷倉建設(shè)的練習(xí);共同努力,我們可以取得遠(yuǎn)遠(yuǎn)超過我們自己所能取得的成就。Debian 社會契約是我選擇 Debian 的一個重要因素,它融合了對自由軟件的承諾和務(wù)實(shí)的認(rèn)識,即在某些情況下可用性要求軟件不符合我們的指導(dǎo)方針。
????????社區(qū)是我選擇 Linux 而不是 BSD 的另一個原因。當(dāng)時我正在四處尋找一個免費(fèi)的類似 UNIX 的操作系統(tǒng)來安裝在我的全新大學(xué)發(fā)行的 386 上,BSD 更強(qiáng)大,性能也更好,而且我有朋友發(fā)誓要使用 BSD。讓我感到厭煩的是滲透到 BSD 社區(qū)的種姓制度。有核心開發(fā)人員在高層,而你則下降到低級的新手想成為貢獻(xiàn)者。Linux 社區(qū)雖然雜亂無章,但似乎更具包容性——你的血統(tǒng)比你編寫的代碼更重要。我可以立即為開發(fā)我將要運(yùn)行的操作系統(tǒng)做出貢獻(xiàn)。我想這是我喜歡 Debian 的另一個原因——我已經(jīng)在那里工作了足夠長的時間來指導(dǎo)它成為我認(rèn)為的布局方式的操作系統(tǒng)。
????????實(shí)用性和可用性
????????假設(shè)我沒有完全失去你們當(dāng)中的實(shí)用主義者,那么絕大多數(shù)人在選擇操作系統(tǒng)時所持有的最高標(biāo)準(zhǔn)是成本、實(shí)用性和可用性之后。當(dāng)然,實(shí)用性取決于您的目標(biāo)和要求,但我們?nèi)匀豢梢越鉀Q廣泛的領(lǐng)域。
????????操作系統(tǒng)不僅僅是一個內(nèi)核,上面有一大堆軟件——在討論系統(tǒng)的優(yōu)點(diǎn)時,系統(tǒng)集成通常是一個短暫的話題。但是一個集成良好的系統(tǒng)——每個部分都與系統(tǒng)的其他部分相吻合并適應(yīng)它——與替代方案相比大大增加了實(shí)用性。
????????就我的經(jīng)驗(yàn)以及我的一些受訪者的經(jīng)驗(yàn)而言,Debian 是目前最好的集成操作系統(tǒng)。Debian 軟件包不僅通過平面依賴/沖突機(jī)制來追蹤它們之間的關(guān)系,而且還通過一組更豐富的細(xì)微關(guān)系——預(yù)依賴、普通依賴、推薦、建議、沖突和增強(qiáng)關(guān)系。除此之外,包根據(jù)優(yōu)先級(基本到額外)及其功能進(jìn)行分類。包裝系統(tǒng)意識到并關(guān)注的這種豐富的關(guān)系表明了包裝相互配合的水平。
????????Debian 由大約 1000 名志愿者開發(fā)。這意味著每個開發(fā)人員都可以自由地維護(hù)他感興趣的程序或他在現(xiàn)實(shí)生活中的特殊任務(wù)所需的程序。這就是 Debian 能夠涵蓋不同專業(yè)領(lǐng)域的原因——它的開發(fā)人員只想解決他們自己的特殊問題。這種廣泛的關(guān)注點(diǎn)不同于僅僅試圖涵蓋主流任務(wù)的商業(yè)發(fā)行版。
????????我發(fā)現(xiàn)工作中的 Debian 機(jī)器需要更少的手持,更容易更新,而且不會?像我管理的 Red Hat 和 Mandrake 盒子那樣經(jīng)常損壞。有人告訴我,例如,處理 SunOS 就更有趣了。
????????選擇 Debian 而不是其他發(fā)行版的原因之一是其項(xiàng)目的龐大規(guī)模,這強(qiáng)烈表明 Debian 不會突然消失,并且會突然離開而沒有任何支持。Debian 不能破產(chǎn)。它的社會契約不允許項(xiàng)目突然決定不支持非企業(yè)版本的發(fā)行版。我不希望我的操作系統(tǒng)?受制于任何人的商業(yè)計劃!
????????您可以微調(diào)您想要承擔(dān)的風(fēng)險程度,因?yàn)?Debian 具有三個獨(dú)立的版本:Stable、Testing 和 Unstable。在我們的一些機(jī)器(服務(wù)器、kiosk 機(jī)器)上,我們運(yùn)行“stable”。其他一些系統(tǒng)(單個工作站)運(yùn)行各種測試/不穩(wěn)定組合。(請注意,沒有用于測試的安全更新)。我在自己的工作站上運(yùn)行一些實(shí)驗(yàn)性的東西。最棒的是能夠?yàn)榉?wù)不同功能的不同機(jī)器做出精細(xì)分級的決策。但即使是更具冒險精神的選擇也足夠穩(wěn)固,幾乎不會中斷。而且“穩(wěn)定”?永遠(yuǎn)不會中斷;-)。
????????Debian 在上游提供了大量反饋。例如,XFree 項(xiàng)目本身并不在 Debian 支持的所有體系結(jié)構(gòu)上維護(hù)或調(diào)試 X——它依賴于 Debian。對 libc 進(jìn)行了許多深度修復(fù)(最近在 glibc 中存在一個引用計數(shù)缺陷,當(dāng) dlopen 使用 Debian 開發(fā)人員發(fā)現(xiàn)的某些 ELF 依賴項(xiàng)的共享對象時)。這種對細(xì)節(jié)的關(guān)注是任何其他 Linux 發(fā)行版都難以匹敵的。為最終用戶提供的知識淵博、快速和友好的幫助水平非常出色——我無法從像 DEC 這樣的老式商業(yè)公司獲得任何東西——除非你付給他們真正的大筆錢。這可以在沒有內(nèi)部專業(yè)知識的情況下為基于 Debian 的企業(yè)提供第三方支持。
????????對于衍生系統(tǒng),DFSG 和“主”通過可預(yù)測的許可簡化了構(gòu)建系統(tǒng)。
????????實(shí)施質(zhì)量
????????人們經(jīng)常說他們是如何因?yàn)?apt-get 而來到 Debian 的,或者說 apt 是 Debian 的殺手級應(yīng)用。但是 apt-get 并不是讓體驗(yàn)如此出色的原因:apt-get 是一個很容易被其他發(fā)行版復(fù)制的功能(而且,在我看來,從來沒有與之匹敵)——稱之為 urpmi、apt4rpm、yum 或其他發(fā)行版。差異化因素是 Debian 政策和嚴(yán)格的包格式 QA 流程(看看 apt-listchanges、apt-list-bugs、dpkg-builddeps、pbuilder、pbuilder-uml 之類的東西——沒有一個可以如此容易地實(shí)現(xiàn),缺少策略(想象 listchangelog 沒有健壯的變更日志格式))。在 Debian 機(jī)器上安裝軟件真的很容易。
????????這類似于?貨物崇拜宗教:也就是說,apt-get 是 Debian 政策系統(tǒng)的可見方面,就像貨物崇拜實(shí)踐將跑道和其他特征視為西方貨物(“貨物”)的來源一樣,并建立了自己的復(fù)制品,配有用于控制塔的假木制耳機(jī)。以同樣的方式,其他發(fā)行版創(chuàng)建了 Debian 打包基礎(chǔ)結(jié)構(gòu)的淺顯可見方面,而沒有解決政策的深層問題。更糟糕的是:技術(shù)要求和營銷/經(jīng)濟(jì)要求之間的沖突經(jīng)常會產(chǎn)生交叉作用。對于大多數(shù) GNU/Linux 發(fā)行版來說,不如專有軟件那么反常,但仍然明顯存在。
????????Red Hat、Mandrake 和該類中的其他發(fā)行版具有非常龐大的基礎(chǔ)安裝。為什么?我確實(shí)相信這是因?yàn)樗前惭b軟件的 PITA。即使使用 RPM,它也是一個笨拙的程序,無法編纂。使用 Debian,輕而易舉。
????????所以殺手級應(yīng)用程序?qū)嶋H上是 Debian 政策、安全團(tuán)隊(duì)、正式的錯誤優(yōu)先級機(jī)制和關(guān)于錯誤的政策(即:任何沒有手冊頁的二進(jìn)制文件都是自動錯誤報告。任何不使用 debconf 的用戶交互都是錯誤)。正如 Wiki 頁面?Why Debian Rocks?所說:
????????這是 Debian 的癥結(jié)所在,它是 Debian 的核心,也是它比所有其他操作系統(tǒng)如此出色的原因。政策已定義。很明顯。它是通過您每天使用的工具強(qiáng)制執(zhí)行的。發(fā)布時
apt-get install foo
,您不僅僅是在安裝軟件。您正在執(zhí)行政策 - 該政策的目標(biāo)是為您提供最佳系統(tǒng)。Policy 定義的是Debian的界限,而不是您自己對系統(tǒng)的操作。策略說明包管理系統(tǒng)可以更改系統(tǒng)的哪些部分,不能更改哪些部分,如何處理配置文件等。通過以這種方式限制分發(fā)范圍,系統(tǒng)管理員可以在外部進(jìn)行修改該區(qū)域無需擔(dān)心 Debian 軟件包會影響這些更改。本質(zhì)上,Policy 引入了一類新的錯誤,即策略錯誤。政策錯誤是發(fā)布關(guān)鍵的——違反政策的軟件包將不會包含在官方穩(wěn)定的 Debian 版本中。
讓我重申一下,因?yàn)檫@就是全部秘密:?違反政策的軟件包將不會包含在官方穩(wěn)定的 Debian 發(fā)行版中。
????????此外,Debian QA 團(tuán)隊(duì)負(fù)責(zé)進(jìn)行非維護(hù)者上傳 (NMU),幫助清理錯誤,執(zhí)行安全更新,并確保有人從整體上查看系統(tǒng),并致力于創(chuàng)建集成操作系統(tǒng),而不僅僅是修復(fù)單獨(dú)的軟件包?這就是讓人們對 Debian 發(fā)誓的原因。QA 子系統(tǒng)中有很多工具可以幫助開發(fā)人員處理他們的包——看看http://qa.debian.org/developer.php?login=srivasta
????????每個包裝在進(jìn)入測試之前必須在不穩(wěn)定的分發(fā)中經(jīng)歷評估過程,這增加了成品的質(zhì)量。一旦一個包在一段時間內(nèi)沒有顯示任何重要問題,它就會進(jìn)入測試分發(fā)。此發(fā)行版是未來穩(wěn)定發(fā)行版的候選發(fā)行版,僅在解決所有發(fā)行版關(guān)鍵錯誤時才發(fā)布。這種仔細(xì)的測試過程是 Debian 的發(fā)布周期比其他發(fā)行版更長的原因。但是,就穩(wěn)定性而言,這是一個優(yōu)勢。(注意:RH Enterprise Linux 的發(fā)布周期顯然是 12 到 24 個月。更接近 Debian 的歷史。)
????????Debian 支持盡可能多的架構(gòu)這一事實(shí)也影響了軟件包的質(zhì)量:移植軟件通常會發(fā)現(xiàn)底層代碼中的缺陷。再加上 Debian 中的所有軟件都經(jīng)過 10 個左右的自動構(gòu)建守護(hù)進(jìn)程,并且在這些不同的環(huán)境中構(gòu)建時需要沒有錯誤,要求構(gòu)建和安裝腳本非常健壯,并且需要非常嚴(yán)格地跟蹤構(gòu)建時間依賴關(guān)系。添加源存檔鏡像和版本跟蹤,你就有了一個相當(dāng)健壯的系統(tǒng)(snapshot.debian.net 提供了簡單的回滾)
????????Debian 錯誤跟蹤系統(tǒng)是發(fā)行質(zhì)量的關(guān)鍵。由于發(fā)布與系統(tǒng)中發(fā)布關(guān)鍵錯誤的數(shù)量相關(guān)聯(lián),因此它確保發(fā)布的質(zhì)量優(yōu)于我運(yùn)行的任何專有 UNIX。發(fā)布管理器非常無情地丟棄任何帶有 RC 錯誤的非必要包,如果它們沒有得到修復(fù) - 或者如果它是帶有錯誤的關(guān)鍵包,則延遲發(fā)布。
????????與商業(yè) Linux 發(fā)行版相比,Debian 的開發(fā)人員與軟件包的比例要高得多。除了缺乏商業(yè)周期驅(qū)動的最后期限外,Debian 傾向于做正確的事,而不是在圣誕節(jié)前及時發(fā)布新版本。
????????根據(jù)最近的 Slashdot 故事,現(xiàn)在基于 Debian 的發(fā)行版比市場領(lǐng)導(dǎo)者 RedHat(63 和計數(shù),包括 Xandros、Knoppix、Lycoris、Lindows(Lind--s?)、Libranet、mophix .. .)。
????????故障恢復(fù)絕對是最好的。(請參閱?http://www.linuxworld.com/story/32607.htm)另請參閱有關(guān)在不備份/var/lib/dpkg?的情況下恢復(fù) Debian 系統(tǒng) 的腳本。?
????????功能集和軟件選擇
????????Debian 現(xiàn)在有超過 10000 個軟件包。很有可能您需要的任何東西都已經(jīng)打包并集成到系統(tǒng)中,并由專人負(fù)責(zé)保持它(以及少數(shù)其他包)是最新的、集成的和無錯誤的。
????????Debian 在國際化方面付出了巨大的努力,不僅翻譯文檔(我有人向我發(fā)送我維護(hù)的軟件包的翻譯手冊頁),還翻譯了配置和安裝腳本(所有 debconf 交互都可以完全國際化)。擁有一個地理上分布廣泛的社區(qū)會有所幫助——我們有數(shù)以噸計的語言為母語的人。我認(rèn)為 Debian 的國際化努力與 Gnome 和 KDE 相匹配。
????????其他值得注意的,我沒有足夠的時間去關(guān)注,有:Debian 文檔項(xiàng)目、Alioth、Debian 安裝程序、Debian CD、Lintian 和包跟蹤系統(tǒng)。
????????其他一些東西會讓我繼續(xù)使用 Debian,直到它們得到其他東西的支持:
debconf 和預(yù)播數(shù)據(jù)庫的能力
關(guān)閉所有安裝時提示的 make-kpkg
/usr/share/doc/{Changelog.Debian,changelog,copyright,README.Debian}
????????Debian 還為內(nèi)核或發(fā)行版黑客和系統(tǒng)集成商提供了一套很棒的工具 debbootstrap、chroots、用戶模式 Linux、Xen。各種簡潔的工具來幫助破解安裝機(jī)制、內(nèi)核和驅(qū)動程序。
????????有許多利基社區(qū)已經(jīng)找到了 Debian 的家。這些是子項(xiàng)目;Debian-Jr、Debian-med、Debian-Edu、Debian-non-profit 和 Debian-lex。許多 Debian 開發(fā)人員是盲人,因此,Debian 對盲人非常友好。還有關(guān)于?自定義 Debian 發(fā)行版的附加材料。
????????內(nèi)核
????????從各方面來看,BSD 內(nèi)核似乎比 Linux 內(nèi)核更穩(wěn)定,質(zhì)量也更好。BSD 內(nèi)核更容易閱讀和理解。另一方面,Linux 內(nèi)核功能更豐富,質(zhì)量也有了顯著提高,似乎比 BSD 內(nèi)核性能更好,硬件支持也更好。確實(shí),我聽到有人評論說,在驅(qū)動程序支持方面,BSD 與 5 年前的 Linux 相同。我將在下面詳細(xì)討論硬件支持。就個人而言,Linux 內(nèi)核的所謂附加錯誤并沒有超過我的可接受閾值。而且,總的來說,我不認(rèn)為 Debian 機(jī)器感覺比 FreeBSD 機(jī)器更健壯和穩(wěn)定。當(dāng)然,最近 Linux 內(nèi)核中出現(xiàn)的大量漏洞開始使這一點(diǎn)變得緊張。(然而,
????????當(dāng)然,Debian Gnu/FreeBSD 可能提供兩全其美。
????????用戶土地
????????BSD 用戶域與 GNU 用戶域不同。為了保持一致性,我在 Ultrix/Aix/HP-UX 機(jī)器上安裝了 GNU 用戶空間長大,而對我來說,GNU 用戶空間感覺要舒服得多。
????????應(yīng)該注意的是,您可以在 BSD 機(jī)器上安裝 GNU 用戶空間,并且有很多人這樣做(例如 /usr/local/gnu/*)。在確實(shí)安裝了兩組實(shí)用程序的安裝中,報告顯示用戶群絕大多數(shù)都使用 GNU 實(shí)用程序,即使這不是默認(rèn)設(shè)置。一般來說,F(xiàn)reeBSD 實(shí)用程序看起來更輕,但功能很差,在現(xiàn)代硬件上,少量的內(nèi)存節(jié)省無關(guān)緊要。
????????他們沒有提供良好的命令行幫助也無濟(jì)于事。foo --help告訴新手,如果他們打字,他們會得到一些可能有用的東西,?這要容易得多 。
????????OpenBSD 的基本用戶空間相當(dāng)完整。我更喜歡 GNU 用戶空間,因?yàn)槲乙呀?jīng)習(xí)慣了,但 OBSD 的基本系統(tǒng)非常實(shí)用。FBSD 是一個完全不同的故事——在 FBSD 中,他們努力生產(chǎn)一個最小的基本系統(tǒng),并且他們不希望人們只使用它——他們希望人們安裝許多端口。FreeBSD 成為 BSD 家族中最像 Debian 的系統(tǒng)——你有一個基本系統(tǒng),你可以在它之上構(gòu)建。它的用戶空間是您選擇的任何內(nèi)容。
????????維護(hù)和管理
????????升級被認(rèn)為是 Debian 的殺手锏。與大多數(shù)其他操作系統(tǒng)相比,網(wǎng)絡(luò)是Debian 的分發(fā)和升級機(jī)制。策略、維護(hù)者腳本中的思想、調(diào)用方式、apt 和朋友對依賴網(wǎng)絡(luò)進(jìn)行的完整拓?fù)渑判颍羞@些都共同確保升級順利進(jìn)行(I'我從來不需要重新安裝我的機(jī)器,盡管有些機(jī)器已經(jīng)升級了 5 年以上)。在推薦的 BSD 升級路徑中重新安裝并非聞所未聞(從 2.8 或 2.9 開始,OpenBSD 至少兩次向 i386 用戶說“不支持/不推薦升級,重新安裝”)。
????????這種升級的便利性也影響了系統(tǒng)的安全性;感謝安全團(tuán)隊(duì),在 Debian 上進(jìn)行安全升級比在其他系統(tǒng)上方便得多。對于我們這些不在 vendor-sec 上的普通人來說,在我們的源列表中包含 security.debian.org 可以確保我們的盒子在任何漏洞被公開后方便、快速地更新——因?yàn)榘踩珗F(tuán)隊(duì)之前已經(jīng)在修復(fù)細(xì)節(jié)公開。這意味著系統(tǒng)可以在幾分鐘內(nèi)更新,而在 BSD 操作系統(tǒng)上進(jìn)行升級的推薦方法涉及重新編譯整個系統(tǒng)(至少是“世界”)。
????????Debian 試圖確保跳過主要版本的順利升級——我在其他地方并不支持這一點(diǎn)。我不斷回歸包裝質(zhì)量
????????管理 Debian 是大多數(shù)人堅持使用 Debian 的主要原因。我知道沒有其他發(fā)行版可以在其中輸入 apt-get install sendmail,然后離開功能齊全的郵件服務(wù)器,配備 SASL 和 TLS,完全配置,并配備證書。僅給定撥號速度,所有管理都可以通過 SSH 完成。
????????Debian 保證將保留用戶對配置文件的更改,并且所有配置文件都應(yīng)存在于 /etc 中(而不是遍布文件系統(tǒng)),這使得備份更容易(我的 /etc 處于版本控制之下)。
????????Debian 符合 FHS,并且 LSB 符合性是一個發(fā)布目標(biāo)。
????????Debian 開發(fā)和分發(fā)的分布式特性使得建立一個單獨(dú)的自定義軟件包存儲庫非常容易,然后可以在內(nèi)部分發(fā);政策和構(gòu)建機(jī)制確保第三方可以以可復(fù)制的方式輕松構(gòu)建系統(tǒng)。
????????便攜性和硬件支持
????????Linux 傾向于支持比 BSD 更多的深奧硬件。這是否有問題,取決于您的需求。對高質(zhì)量硬件的支持基本相同。一個值得注意的例外是 RAID 硬件。3ware RAID 卡剛剛在 BSD 中得到支持,但對 Linux 的支持已經(jīng)有一段時間了。IBM 保證其所有硬件和 HP 都支持 Linux,這也是 Linux 的一個優(yōu)勢。我也喜歡最近進(jìn)入 Linux 內(nèi)核的多個日志文件系統(tǒng)。對于臺式機(jī),殺手級因素是驅(qū)動程序。Linux 將所有其他 X86 Unix 遠(yuǎn)遠(yuǎn)甩在后面。
????????談到可移植性,NetBSD 應(yīng)該是代名詞。但是,我仔細(xì)研究了 NetBSD 和 Debian 支持的內(nèi)容:我發(fā)現(xiàn) Debian 支持 ibm s/390 和 ia64,而 NetBSD 支持 sun2 (m68010)、PC532(不管是什么[顯然一臺只生產(chǎn)了 200 個型號的定制機(jī)器])和 VAX。我確定我對哪一組更感興趣(盡管在地下室里放一個 VAX 可能會很酷)。請注意,NetBSD 調(diào)用的架構(gòu)通常被 Debian 標(biāo)記為子架構(gòu),因此不計入 11 個支持的架構(gòu)計數(shù)。
????????源構(gòu)建
????????我聽說過很多關(guān)于 BSD 的 ports 機(jī)制和 gentoo 的 portage 系統(tǒng)的事情。我還聽說人們?nèi)绾卧诙丝谙到y(tǒng)中編譯東西時遇到問題。除了編譯所有東西都很快變老的事實(shí)(當(dāng)我在 93 年使用軟著陸系統(tǒng) (SLS) 發(fā)行版時,我一直在那里,這樣做了)。
????????并不是說你不能做一個像 Debian 的自動構(gòu)建這樣的移植——我們在 11 種架構(gòu)上都有自動構(gòu)建器,它們每天都在不斷地這樣做——問題是為什么要這樣做?我還沒有看到一個單一的、可復(fù)制的測試通過本地定制的優(yōu)化編譯來證明任何明顯的性能改進(jìn)——在我看來,當(dāng)然沒有一個可以證明花在調(diào)整和構(gòu)建軟件上的時間是合理的。
????????有人說,當(dāng)他們年輕的時候,想玩惡作劇時,他們會在某人的計算機(jī)上調(diào)整一些無意義的參數(shù),并告訴他們“這會使它運(yùn)行大約快 5%,但你可能不會注意到它”。面對這樣的挑戰(zhàn),他們的反應(yīng)通常是完全相信他們的機(jī)器已經(jīng)有了很大的改進(jìn),他們可以感受到 5% 的差異!
????????傳統(tǒng)觀點(diǎn)似乎表明整體系統(tǒng)性能提升不到 1%。不過,特定程序可以從中受益匪淺,而且您始終可以在 Debian 中為您的環(huán)境調(diào)整關(guān)鍵應(yīng)用程序。我認(rèn)為通過運(yùn)行優(yōu)化系統(tǒng)節(jié)省的時間遠(yuǎn)遠(yuǎn)超過了構(gòu)建系統(tǒng)和構(gòu)建系統(tǒng)升級所花費(fèi)的時間(我聽說有人在后臺運(yùn)行日常更新,同時在后臺執(zhí)行其他操作)前景。)
????????更不用說由于沒有一個可以很好地測試各個部分的互操作性的中心位置,集成如何受到影響,因?yàn)槊總€系統(tǒng)都會與參考系統(tǒng)大不相同。
????????當(dāng)涉及到重大升級時,源代碼構(gòu)建系統(tǒng)也存在更多問題——我有軼事證據(jù)表明它不像 Debian 升級機(jī)制那樣安全和健全。
????????無論如何,如果我確實(shí)想在 Debian 上從源代碼構(gòu)建軟件包,我可以使用 apt-get source -b、apt-src 或許多工具中的任何一個。在進(jìn)行本地構(gòu)建時,我確實(shí)相信本地構(gòu)建的 deb 將以安全和理智的方式安裝,正確替換舊的東西。構(gòu)建依賴于拉入構(gòu)建所需的任何依賴項(xiàng),我經(jīng)常在 pbuilder-user-mode-linux 中構(gòu)建以確保統(tǒng)一構(gòu)建。
????????這里真正的重點(diǎn)是,Gentoo 是一個為業(yè)余愛好者和 übergeeks / 硬核 linux 用戶提供的發(fā)行版,他們可以抽出時間來構(gòu)建他們的應(yīng)用程序。我知道 Gentoo 也提供預(yù)編譯的二進(jìn)制文件——但這不會破壞他們所謂的優(yōu)勢嗎?對于停機(jī)確實(shí)要花錢的企業(yè)環(huán)境,這是不可接受的,而 Debian 提供了最佳解決方案。那些管理多臺機(jī)器的用戶可以真正體會到能夠發(fā)布是多么方便apt-get update && apt-get upgrade在沒有任何自動化幫助的情況下,無需在每臺機(jī)器上下載、配置、編譯和安裝軟件機(jī)器(我在這里并不完全公正地出現(xiàn)/移植,但重點(diǎn)很清楚,我希望)。我可以強(qiáng)調(diào)這一點(diǎn):對于“嚴(yán)重”/生產(chǎn)使用,二進(jìn)制發(fā)行版是最好的也是唯一可行的解決方案;其中,Debian(不僅因?yàn)锳PT,還因?yàn)镈D為確保包裝的正確性所做的所有努力)是最好的[我嘗試過SuSE,RedHat和Mandrake,即使我也不會回去提供了很多錢;Gentoo 也不是一個選擇]
????????安全性和可靠性
????????在安全性和便利性之間總是需要權(quán)衡取舍——最終安全的計算機(jī)是永遠(yuǎn)不會打開的。安全,但不是很有用。你必須決定你的舒適區(qū)在哪里。
????????當(dāng)有人說安全和類 Unix 操作系統(tǒng)時,人們會想到什么?OpenBSD,有一些理由。它經(jīng)過審核,具有小尺寸、小系統(tǒng)要求和基于純文本的安裝。如果您堅持核心安裝,您將獲得一個經(jīng)過審核的系統(tǒng),默認(rèn)情況下沒有打開任何服務(wù),并保證默認(rèn)安裝中沒有可能導(dǎo)致遠(yuǎn)程 root 入侵的漏洞。但是,您最終會使用舊軟件,而默認(rèn)安裝確實(shí)很少。W^X 和 OpenBSD 上的堆棧溢出保護(hù) (ProPolice)?http://www.openbsd.org/33.html,以及適用于 Linux 的 exec-shield 和 Adamantix (PaX) 補(bǔ)丁(您可能需要在 Debian 上為這些補(bǔ)丁重新編譯內(nèi)核)。大多數(shù)人都同意 OpenBSD 的安全和審計部分并沒有提供他們需要的所有軟件。此外,與 2.6.3 內(nèi)核上的 SELinux 相比,OpenBSD 的性能數(shù)據(jù),嗯,很差。
????????OpenBSD 的安全聲譽(yù)是有道理的——但只有當(dāng)您了解該項(xiàng)目,當(dāng)您熟悉它真正涵蓋的內(nèi)容時。OpenBSD 可能是一個很好的防火墻,甚至可能是郵件或靜態(tài) Web 服務(wù)器 - 只要您遠(yuǎn)離端口樹,您就擁有一個經(jīng)過審核的、具有安全意識的系統(tǒng)。然而,我知道這樣一個系統(tǒng)的應(yīng)用很少。OpenBSD 用戶空間端口比穩(wěn)定的 Debian 更頻繁地中斷——但是,在 OpenBSD 中,端口正式不是系統(tǒng)的一部分,如果其中一個出現(xiàn)安全問題,您就只能靠自己了。
????????可以說,Debian stable 等于或超過了確切的聲明——此時 Debian 和 openbsd 之間在現(xiàn)實(shí)世界中似乎幾乎沒有區(qū)別。必須努力使用標(biāo)準(zhǔn)優(yōu)先級軟件包來強(qiáng)化默認(rèn)的 Debian 安裝,但這對于有經(jīng)驗(yàn)的管理員來說只是幾分鐘的工作。OpenBSD 的代碼審計處于更高級的階段;盡管必須記住,盡管最近進(jìn)行了所有審計,但 OpenSSH 中仍然存在一些引人注目的錯誤——因此,請在經(jīng)過審計的標(biāo)簽上加點(diǎn)鹽。
????????Debian GNU/Linux 發(fā)行版非常注重安全性和穩(wěn)定性。我們有一個安全團(tuán)隊(duì)、自動構(gòu)建系統(tǒng)來幫助安全團(tuán)隊(duì)在所有受支持的架構(gòu)中快速構(gòu)建版本,以及針對這些目標(biāo)的策略。這里有更多關(guān)于 OpenBSD 和 Debian 的?安全性比較。
????????即使您不需要在每個目標(biāo) BSD 系統(tǒng)上都有一個工具鏈來推出安全更新(“make release”或“make package”以在一臺機(jī)器上構(gòu)建并安裝在其他地方),但它比它更不方便Debian 打包系統(tǒng)。Debian 更好地處理二進(jìn)制包分發(fā)。使用 Debian 的本機(jī)機(jī)制,可以擁有自己的 aptable 存檔并從 is 提供所有生產(chǎn)服務(wù)器。
????????然而,當(dāng)涉及到真正的安全性時,如果沒有強(qiáng)制訪問控制,您就幾乎沒有保證。所以 SELinux(以及仍然新生的 TrustedBSD)將是比 OpenBSD 或基本 Debian Stable 更好的選擇。
????????即使沒有 SELinux,我也發(fā)現(xiàn) Debian stable 堅如磐石的穩(wěn)定性,以及來自安全團(tuán)隊(duì)提供的反向移植安全修復(fù)程序的安心,非常有說服力。未經(jīng)培訓(xùn)的收件人很容易了解最新的安全性;并降低妥協(xié)的可能性。這在擁有大量計算機(jī)的商業(yè)環(huán)境中非常重要,重要的是不要每隔幾個月就升級軟件。
????????在穩(wěn)定發(fā)行版方面,Debian 的安全團(tuán)隊(duì)還有另一個好處。但是,只有一個版本的端口樹。而在 Debian 中,您有多個版本,例如 apache、KDE 和 X11 - 每個套件都有一個版本,帶有穩(wěn)定套件的安全更新 - 在 FreeBSD 上沒有這樣的東西。當(dāng)然,如果在給定的軟件包中發(fā)現(xiàn)漏洞,port makefile 將被更新,但在這種情況下堵住系統(tǒng)漏洞的唯一方法是安裝新版本的軟件包,所有可能出現(xiàn)的問題這可能會導(dǎo)致。與 Debian 相比,您可以安裝相同版本的軟件,并向后移植安全修復(fù)程序。此外,如果您正在使用易受攻擊軟件包的端口安裝版本,您
????????我有一些比較 Linux 發(fā)行版和修補(bǔ)已知安全漏洞的時間的數(shù)據(jù),但是沒有 BSD 的數(shù)據(jù)。它可以在http://people.debian.org/~jfs/debconf3/security/data/獲得。
????????可擴(kuò)展性和性能
????????我一開始根本不打算談?wù)撔阅芎蛿?shù)字,因?yàn)檫@些對我個人而言無關(guān)緊要,而且性能數(shù)字會隨著版本的發(fā)布而變化。但是,我意識到這些對某些人來說是重要的決策標(biāo)準(zhǔn),因此我試圖查看最近的數(shù)字。
????????完整的基準(zhǔn)測試集和代碼可在此處獲得。?http://bulk.fefe.de/scalability/?這是他的話,來自結(jié)論部分,更新以反映最新的基準(zhǔn)。
????????Linux 2.6 在所有基準(zhǔn)測試中的規(guī)模為 O(1)。言語讓我無法想象這是多么令人印象深刻。如果您現(xiàn)在使用的是 Linux 2.4,請立即切換到 Linux 2.6!
????????NetBSD 比 FreeBSD 具有更好的可擴(kuò)展性。
????????FreeBSD 5.1 具有令人印象深刻的性能和可擴(kuò)展性。(請注意,它尚未發(fā)布)我愚蠢地假設(shè)所有 BSD 在性能方面都在同一個聯(lián)盟中發(fā)揮作用,因?yàn)樗鼈兌脊蚕泶罅看a并且可以自由地合并彼此的代碼。我錯了。FreeBSD 的性能在 BSD 中排名第二,甚至接近 Linux 2.6。
????????Linux 2.4 還不錯,但是對于 mmap 和 fork 來說擴(kuò)展性很差。
????????OpenBSD 3.4 在這些測試中表現(xiàn)很差。磁盤性能很差,內(nèi)核不穩(wěn)定,在網(wǎng)絡(luò)可擴(kuò)展性部門甚至超過了它的父親 NetBSD。OpenBSD 還因?yàn)樗麄儗?IPv6 堆棧的破壞而被扣分。如果您使用的是 OpenBSD,那么您現(xiàn)在應(yīng)該離開。
????????結(jié)論
????????據(jù)我所知,沒有其他操作系統(tǒng)或發(fā)行版具有這種混合特性(易于維護(hù)、可負(fù)擔(dān)性、穩(wěn)定性、大小、可定制性、強(qiáng)大的支持)。在大多數(shù)情況下,我不想修補(bǔ)和調(diào)試我的工作站,我想輕松、安全地完成我的工作,并且對我使用的基礎(chǔ)設(shè)施的擔(dān)憂最少。Debian 幫助我實(shí)現(xiàn)了這一點(diǎn)。
????????從技術(shù)角度來看,這仍然是我今天使用它的主要原因。軟件安裝和升級。這些軟件包是一流的,它們通??梢酝昝赖匕惭b和升級。軟件維護(hù)仍然是任何系統(tǒng)管理員工作的重要組成部分,而對于 Debian,這簡直是微不足道的。這不是問題。甚至在談?wù)?Debian 的任何問題時都不要提起它,這不值得。邊緣無瑕。
致謝
以下人員幫助提供了數(shù)據(jù)和見解,使我能夠進(jìn)行這次演講。
Wouter Verhelst <?wouter@grep.be?>
何塞·路易斯·塔隆 <?jltallon@adv-solutions.net?>
安德魯·薩菲爾德 <?asuffield@debian.org?>
哈維爾·費(fèi)爾南德斯-桑吉諾·佩尼亞 <?jfs@computer.org?>
羅素·科克 <?russell@coker.com.au?>
安德烈亞斯·梅茨勒 <?ametzler@downhill.at.eu.org?>
史蒂夫 <?sgbirch@imsmail.org?>
托尼·穆勒 <?toni@debian.org?>
馬克·哈伯 <?mh+debian-devel@zugschlus.de?>
喬治·丹切夫 <?danchev@spnet.net?>
Lionel Elie Mamane <?lionel@mamane.lu?>
格雷格·福克特 <?greg@gregfolkert.net?>
魯?shù)稀じ甓嘁?<?rudy@kernel-panik.org?>
安德烈亞斯·蒂爾 <?tillea@rki.de?>
Nathanael Nerode <?neroden@twcny.rr.com?>
馬克·費(fèi)拉特 <?ferlatte@cryptio.net?>
Gunnar Wolf <?gwolf@gwolf.cx?>
吉姆·麥克洛斯基 <?mcclosk@ucsc.edu?>
比爾·沃勒 <?wohler@newt.com?>
比爾·理查森 <?bill@bothan.net?>
亞歷克斯·佩里 <?alex.perry@qm.com?>
伍德羅·柯頓 <?wkirton@surfwayx.net?>
大衛(wèi) B 哈里斯 <?dbharris@eelf.ddts.net?>
Joost van Baal <?joostvb@mdcc.cx?>
比爾 Allombert <?allomber@math.u-bordeaux.fr?>
<?root.man@earthlink.net?>
維克多·羅森菲爾德 <?rosenfel@informatik.hu-berlin.de?>
“阿德里安 'Dagurashibanipal' von Bidder <?avbidder@fortytwo.ch?>
Razvan Petrescu <?rpetrescu@montran.ro?>
s。基林 <?keeling@spots.ab.ca?>
Karsten M. Self <?kmself@ix.netcom.com?>
還要感謝?開發(fā)人員郵件列表上?線程中的參與者的輸入。
為什么選擇 Linux?為什么選擇 Debian?的評論 (共 條)
