真的,我愛上了黛比恩

過去曾忙於 MIS 和一些系統的開發工作時,每幾個星期就會面臨一個重大的問題『系統更新』,無論是安全更新還是開發工具、Backend 更新,總是殺死人不少腦細胞和約會的時間,痛不欲生。很開心的是,這幾次『度年』,沒有因同樣原因而忙錄苦惱了,許多開發成果也無痛過渡到每個新版本的系 統。讓我不得不寫一篇告白文,向我的愛人『黛小姐』傾訴過去被其他發行套件殘害的痛苦心聲(主要還是 Fedora 系列)。(順便,回答許多人問我,為什麼你要用 Debian 的問題)

假穩定真老舊

或 許是被當初的 Redhat 所帶壞,眾所皆知的,Linux 各個發行版本,每幾個月、半年、一年就會發行個新版本,這也意味著任何版本被發行後,將不再提供任何的更新,除了『安全性的更新』之外。這樣做確實的好 處,可以確保系統是絕對穩定,尤其對於 Server 的管理維護上,有一定的幫助。

但是,只要在這幾個月之中,有什麼新東西出現,就不 要妄想去用,因為,不會有相應的打包套件出現,我們只能乖乖的等待下一版的 Release 或是自己去抓回 Source code 自行 compile。而隨著 OpenSource 越來越蓬勃,這情況更為顯著,周期更短。而且多半時候,因為這些新東西也相依著新的其他 Library ,想要裝在現有系統上,可是要費不少功夫。(不過要是你願意,可以因此練就一身 backport 的功夫。) :-)

當時,心中總是抱怨著:『別鬧了,要每半年裝一次新版的 Linux?!』。要不是因為工作開發需要,和自己好奇心的驅使,可真不會有心去做這半年一次,每次好幾個星期的苦工。更不用說處理前後版本不相容的開發性問題了。

Note: 想要玩最新的東西,就跟著 Debian 的 Testing/Unstable 走,每天 apt-get update ,比重新安裝整個系統輕鬆多了。想要玩最穩定的東西,就跟著 Stable 走,保證你可以玩到最穩定且足夠舊的東西。

品質堅若磐

回 到多年前,自從 Redhat 的系統下放給 Fedora 社群經營,那可真可以說是痛苦的開始。先不用提打包的套件品質有多差(沒有任何版本裝起來後,所有軟體都正常過),光是重 build SRPM 就不一定會成功(能夠理解 RPM 的設計,是很容易讓這種事發生的)。至於 Fedora 8 以後情況如何,我不敢妄下斷語,因為當時我已完全脫離 Fedora 的摧殘。(這裡要讚揚一下 SuSE,雖同為 RPM Based ,確實在打包品質上遠遠勝過宗家 Fedora,強大的叢集 Kiwi Build System,也解決了大部份手工 backport 的問題。)

* Note: Debian 對開發者的好處,可用下列命令,抓回最新 source code 和安裝必要的開發工具,直接進入 Source Code 目錄即可開始編譯(保證一定成功):
apt-get source <package>
apt-get build-dep <package>

求穩定也名不正言不順

試想,若是我真的需要一個穩定的系統,應該會花錢求助於 Redhat 和 Novell SuSE 的商業版,而不會去用 Fedora 這種不穩定的版本。

以偏概全害人害己

不可否認,許多實驗性質佔多數的發行套件,確實展示了一些未來的方向,有些新的、令人驚豔的東西,但就如工廠開模打樣, Just for a demo,並不代表這 sample 就是最新最好的未來成品,後續維護才是痛苦的開始。

什麼才是好?

雖 說見人見智,但有鑑於過去如何,今日更甚,個人認為無痛升級非常重要,因為今天的新事物不會比過去少,這也是為什麼最後選擇 Debian 的原因。或許 Debian 不是個人性化的 Linux 發行版本,但它確有足夠的格局,能帶來許多好處,例如減少系統維護時間、開發成本等等。

Ubuntu 是近年來興起發行套件,在穩定性和使用者考量上做的極為出色,已不輸過去以優良介面橫行的 Mandriva 和 Fedora,只是格局上不如 Debian 罷了,至少還沒聽說有什麼人是無痛升級的,半年、一年重灌一次的人還是占多數。不過 Ubuntu 利用了 Launchpad ,使系統可以安裝試用新版的非官方套件,讓每一版的 Ubuntu 壽命可延長許多,軟體套件不至於太過老舊,就這點來看,大大勝過其他同類型的 Linux Distros。

若是一個發行套件,無法考慮到使用者人性,又沒有大的格局,最後只會淪為小眾。Fedora/Mandriva 從我最愛的發行套件,淪落到被我捨棄就是這原因,在時間就是金錢的今天,可沒有空每天去搞升級、backport 別人一兩行指令就可以做完的事。

感謝妳,讓我省時省力,今年又是愉快的一年。

Fred

留言

  1. 路人路過發問, 那gentoo呢? 其實發覺各位開發者大大很少在使用gentoo, 是什麼原因呢?

    回覆刪除
  2. 不夠便利呀

    如果真的什麼都要自己 rebuild

    那也是件辛苦的工作

    大家都是懶惰鬼 :P

    回覆刪除

張貼留言

這個網誌中的熱門文章

有趣的邏輯問題:是誰在說謊

Web 技術中的 Session 是什麼?

淺談 USB 通訊架構之定義(二)

淺談 USB 通訊架構之定義(一)

Reverse SSH Tunnel 反向打洞實錄