RPM vs DEB的爭論


這個論題也算是一個老坑了,我老是看到不少人說 debian 系統如何如何好使,apt 多麼多麼強。而 RPM 系統裏面包依賴關係多麼亂啥的。所以得出 DEB 這個包管理系統要比 RPM 這個包管理系統要強的結論。不過在我看來,這些問題要麼不是問題,要麼跟包管理系統一點關係都沒有。 javascript

先說 DEB 派的幾個論據 java

1: apt 系統用起來很方便
對, apt 系統用起來確實很方便,但這是在 rh9 時代的事情。現代基於 RPM 的系統,基本都有相對還不錯的管理器,好比 fc 用的 yum, suse 用的 yast 等,雖然這些玩意可能也有點小毛病,好比 yum 相對 apt 來講要慢一些,可是整體來講,並非致命的缺陷。只要有容量比較大的源,同樣能夠很爽的用。目前看來, FC 正在往 deb 的大源方向發展,FC 的官方源裏面東西也至關的多了。
2: debian 系統比 redhat 系列的好使
這個說老實話,沒有特別覺出來,固然這個跟使用習慣有關。卻是我以爲 debian 太過頑固,竟然能跟 mozilla 打起來,搞的 firefox 都得更名成 iceweasel,致使一些網頁上面的認 UA 的 javascript 很差使。相比之下,ubuntu 比起來 debian 這樣的革命者就好很多,至少不會由於意識形態的問題跟人打架。
3: RPM 包的依賴關係比較混亂
這個我其實以爲跟 RPM 自己沒有什麼關係,卻是跟作 RPM 的人的習慣有關係。不知道是什麼歷史緣由致使的,RPM 發行版的打包者一般很喜歡把一個包拆得很碎,連一個 snmp 都要拆成三個包,而 deb 系統在這方面就沒有這麼激進,一般就是一個軟件拆成 base 和 dev ,只有比較大的包纔會考慮分一下。這樣就形成 RPM 發行版的依賴關係要更加複雜,這些依賴關係都是人手寫的,維護代價上升極可能就形成一些混亂。這個確實是 RPM 發行版存在的問題,不過只要你本身會 build rpm, 那麼基本依賴關係仍是能夠解決的。 ubuntu

下面說我本身感受 RPM 系統優於 DEB 系統的地方 網絡

1: 打包容易。RPM 系統只須要寫一個 .spec 文件就能夠打包了,而 DEB 的我看了半天說明也仍是沒有找到門道。還要建一堆目錄啥的,這對專門的打包者可能不是個問題,對我就是想臨時 build 一下的人來講,就有點浪費了。
2: 有 rpmfind.net 這個好網站。deb 給個人感受彷佛是想把世上全部的軟件都給吸納進源,確實 debian 的源容量至關之大,不少奇怪的軟件也都在 deb 源裏面,可是常常仍是有些東西找不到的,這時候 rpmfind 網站就很好用,我常常的用法是在上面找到 SRPM 而後下來本身改改 .spec build 一個適合本身系統的出來。 而 deb 彷佛若是源裏面沒有而你不掌握打包技能,那麼基本你就只能當 ./configure 一族了。
3: 配置文件拆分不那麼激進。跟拆軟件包的策略正好相反,保守的 deb 在拆配置文件上面下的力氣,要比 rpm 系列大不少,拿 httpd 來講, Redhat 系列直接就拆成一個主的和一堆散的放在 conf.d 下面的就行了。而 debian 則是拆成了不少小的放在 mods-available 目錄裏面,須要什麼,就 ln-s 到 mods-enabled 裏面。這樣看起來挺好,可是配置文件這東西哪裏是那麼好拆的,有些邏輯很差處理,因而他又搞出來一個 xxx.load 和 xxx.conf 的東西。最後搞到我都不知道他這個配置文件到底包含了什麼。配置一個我原本會配置的東西,還要研究半天他怎麼拆的這個配置,搞的很麻煩。固然這個我認可是我的喜愛問題。可是我認爲做網站運維的時候,應該使配置文件簡單化,只完成夠用的功能,而不該該爲了擴展方便弄成這麼一堆花兒,回頭出問題了排查都麻煩。
4: 商業軟件對 RPM 系統的支持更好一些
不少商業軟件只有 rpm 版本的,或者安裝腳本就是按照 RPM 風格的系統配置文件作的。deb 系統下面雖然有 alien 這個工具能夠轉 rpm ,可是並不能轉裏面軟件對系統路徑的依賴,不少軟件都是到固定的地方去讀取系統配置或者調用系統程序的。 運維

基於以上緣由,我在我維護的全部 Linux 系統上面都是採用基於 RPM 的系統。並且我見到的全部用 Linux 的大型網絡公司,基本都是在用基於 RPM 的發行版跑服務。我想不少狀況下緣由也就是在於,在運維人員看來,rpm 和 deb 都差很少,均可以用得很爽,而 RPM 發行版在商業軟件支持上有小小優點,就用 RPM 發行版了。 工具

相關文章
相關標籤/搜索