iT邦幫忙

0

FreeBSD vs CentOS

chan15 2011-05-31 03:29:5123137 瀏覽

之前都在 Windows 上面實做 PHP + Apache + MySQL
現在想要踏入 Linux 的領域
市面上很多 Linux Base 的 OS
經過篩選以後剩下 CentOS 跟 FreeBSD 兩個選擇
想知道這兩個 OS 跑 Web Service 效能或安全上是否有很大的差異
建議學哪個比較好?

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
16
逮丸逮丸
iT邦大師 1 級 ‧ 2011-05-31 10:55:55
最佳解答

用 CentOS FreeBSD 比較 的字樣,
可找到一些經驗比較的說明文,
或用 centos freebsd compare 的字樣找。
在此就不重複類似的說明。

就效能而言
純就 OS 上的效能比較
FreeBSD VS Linux
FreeBSD 是較佳。
就算以 Linux 版本之間比較而言,
Ubuntu (Debian類) 比 CentOS、Fedora (RedHat類) 效能較佳。
其實光看初安裝好之後,
ps看看就會發現,
RedHat類的OS會常駐較多的程式,
而Debian之類的就沒那麼多。

硬體因素
如果你的硬體規格不是一般強的話,
FreeBSD 一定是不會跑得太吃力。
如果你的硬體規格算是強的話,
裝哪一個都會覺得差不多。

裝不裝Xorg的影響
當然,即然主是要做 webserver 的話,
就沒必要裝那圖型界面的桌面程式。
通常就透過ssh來做遠端的文字界面操作。
如果一定要裝桌面程式的話,
通常也會影響到 web 服務的效能。
而桌面程式的怎樣配套組合,
也影響著整個系統的資源耗用,
有些桌面套件很省,有些則很吃資源。

就安全而言
原則
只要各套件持續更新,
就有一般安全程度,
這是大家都有基本的認識。

SELinux vs OpenBSD
若要龜毛一點的話,
OpenBSD比FreeBSD是更安全的。
CentOS上就啟用 SELinux
這裡有一篇 SELinux vs. OpenBSD's Default Security
比較兩者安全的預設值。
有時一些軟體的運作,
會出現問題,
往往是因為SELinux上的預設值問題,
如果了解SELinux的話,
就有能力去調整;
而通常為了省事,
乾脆就把SELinux給停用。

封包過濾
BSD上的ipfilter、Linux上的iptables,
是兩者的封包過濾機制,
設得好不好,
是依管理者本身的經驗而定,
而不是從哪個較安全來決定。
CentOS安裝過程裡,
會有防火牆預設要開哪些port的設定,
是很方便也夠用的基本設定。

應用程式的安全
如果對預設套件不放心的話,
apache及php都有相關的安全模組可進行加強。
但通常會有安全上的問題,
往往是應用程式撰寫上的安全漏洞所產生,
裝再安全的OS,
這方面是不容易防的,
這不是OS選擇上的議題。

就學習方面而言
你 RTFM 嗎?
要誠實地衡量自己有多少心力進行學習?
還是只要最省事就好?
所謂的學習是?
仔細地把所推薦的「經典文件」讀過一篇?
為了能夠對該OS有全面的了解?

還是沒時間讀那麼多的文件,
碰到什麼議題、問題,
就能趕快找到解答,
解決了就把資料放一邊?

就兩者都不乏完整的手冊、資料參考,
如果不貪方便快速的話,
好好讀過FreeBSD的官方文件,
是可以有較完整的概念。

快而有效的考量
如果希望快速上手,
也不用那麼辛苦讀一堆東西的話,
CentOS、Linux之類,
現在可以在搞不清楚怎麼一回事的情況下運作,
碰到的問題用關鍵字亂找一下,
也可找得到解決方向。
在google trends上的查詢量而言:
http://www.google.com/trends?q=freebsd
http://www.google.com/trends?q=centos
就google以一年內的頁面量:
CentOS 過去一年 24,100,000 但以Linux或Fedora或RedHat來看就更多。
FreeBSD過去一年 28,500,000
Linux 1,030,000,000
BSD 91,300,000

會這樣子的呈現,
可以有兩方面去解讀:
1.Linux使用者讀手冊不夠勤快,所以要問一堆問題。
而BSD的使用者,勤讀手冊,所以問題沒那麼多。
2.Linux入門者多,所以查詢及頁面量一直是成長趨勢。
也許Linux在效能與BSD的效能比較上的差距愈來愈沒那麼大?
在面臨Linux或BSD的新手選擇上,
西瓜偎大邊的關係。

所以碰到問題時,
Linux有經驗者應較多,
能解答的機率也比較高。

脫離新手後
上述當然是就新手接觸時的考量。
而對Linux熟悉一段時間後,
較有本事對系統做合乎自己需求設定後,
一方面脫離了OS預設參數的限定外,
另方面如果流量大到一定程度後,
可能要追求更多的效能議題,
這時再看看 BSD 系列上,
到底可以最佳化到怎樣程度?
那時才會又有OS版本選擇的考量。

另也可參閱:
個人觀點:Linux版本偏好之形成
大概說明有關Linux版本選擇的可能考量。

chan15 iT邦新手 3 級 ‧ 2011-05-31 11:36:32 檢舉

哇,twtw 大大好詳細的解說啊
既然提到效能的問題,我就不打算裝 GUI,要以純 command line 來學習 Linux
之前的公司網站流量很大,使用 replication 跑 MySQL MM 模式
Server 為 FreeBSD,因為資料量太大
發現有時候 IO 會存取速度不足,所以也有考慮是否更換 CentOS 或者是 Debian
因為這個經驗也成為了我現在想學非 Windows 的 Server 的考量之一
twtw 大大似乎對 BSD 評價比較好,只是因為學習難易度推薦 CentOS
不知道我是否有解讀錯誤

fillano iT邦超人 1 級 ‧ 2011-05-31 12:05:49 檢舉

我也是Centos用戶,不過最近Centos動作實在有點慢XD

如果有注意預設套件就會發現,Centos上面的都很舊,例如PHP還停在5.1...使用上是不會有問題啦...

另外,IO效能不好,不一定是OS的責任,恐怕驅動程式問題更大。

Server 為 FreeBSD,因為資料量太大
發現有時候 IO 會存取速度不足,所以也有考慮是否更換 CentOS 或者是 Debian

如果連FreeBSD的預設值來跑會這樣的話,
換那另兩者應也不會有太大的改善,
這時不是換OS,
而是要從OS的系統調校,
要找怎麼調整OS上的參數下手。

由於又涉及到資料庫,
也要檢視資料庫上的設計,
是否造成大量消耗資源的原因,
不然,換到哪個OS都會有同樣情形。

如果有注意預設套件就會發現,Centos上面的都很舊

各OS好像都有各自的版本哲學:
Which Distro to choose? - Comparison -(Not a Debian vs Ubuntu vs Fedora vs Centos)
似乎 追求穩定 與 更新最新(的穩定版本,而非development版本)兩者不能兼顧。

如果常常更新後需重開機,
這對其服務沒什麼影響的話,
用這樣的OS應該能接受。

若一停機就有重大影響的話,
而不能隨意重開機的話,
就真的需要那 穩定版本取向 的OS。

10
aesop
iT邦研究生 4 級 ‧ 2011-05-31 08:10:09

我個人是偏好CentOS
因為 CentOS 的來自 RedHat
有 RedHat 的穩定
且流通性高
較為簡單易學
遇到問題時
可以google到的訊息也較多

當然freebsd也是很穩定啦
或許是我的資質問題
freebsd學起來沒 CentOS 容易

10
fantsyss
iT邦新手 2 級 ‧ 2011-05-31 08:37:49

我個人推薦CentOS,重點是簡單易學,教學文章多,而且是從小紅帽那出產的,歷經那麼多代也是很穩定的了。

目前我的網頁是用centos5架的,已經放快3年了,完全沒有任何問題。

我個人是從redhat6,經歷8跟9直到centos5。

一開始我也有用過freebsd,可是發現它不好操作加上可能當初剛出來不是很穩定,所以就繼續中小紅帽的毒哩。

6
cjtjava
iT邦新手 3 級 ‧ 2011-05-31 09:40:14

CentOS +1
以前用過FreeBSD,他穩定性高,不輕易更新版本
但相對來說也對各項硬體支援性就比較低,使用者介面也沒那麼友善

加上CentOS使用者多,您可以很輕易的找到您要的各類支援的.

8
doesjudas
iT邦新手 2 級 ‧ 2011-05-31 10:22:45

我也是用 CentOS

6
chang0206
iT邦新手 1 級 ‧ 2011-06-01 09:31:54

同意twtw所說,如果連Freebsd的預設值都已經很吃力,換其他的發行版本不見得會更好。
也許應該要先分析一下瓶頸在哪?是系統問題?是程式問題?還是硬體問題??
如果以穩定度和速度來說,我會比較推薦Freebsd..
如果以支援度和操作性來說,也許CentOS會是比較好的選擇。

如果不排斥文字介面操作的話,Freebsd預設的安全性還不錯,ports安裝也很方便(就是有時候要重新MAKE會慢了點),我們家的Mail Gateway,一個月處理的信件流量大概是20G左右,上次因為更新的關係,不得不關機,在那之前,已經開機了一千多個日子...上面正是跑Freebsd 7 XD

6
jay0123
iT邦高手 1 級 ‧ 2011-06-01 09:52:57

我也是堆 FreeBSD
和 fantsyss 一樣
從 redhat6,經歷8跟9
不過我就換用 FreeBSD 了
而且各位若有玩過一些資安的產品
其實很多都是 FreeBSD 哦
所以它的穩建可靠是可想而知的...............

8
jeffliao
iT邦研究生 5 級 ‧ 2011-06-01 12:14:11

FreeBSD 最常被用來作為高負載郵件系統及Web Server,像Yahoo也使用很多,中華數位SPAM SQR過濾系統、網擎OpenFind系列郵件過濾系統等,缺點是會用、會管理、會自行調教Kernel參數及客製化自己的Kernel重新Compiler成AP實際需求的人較少,支援新硬體的速度較慢,有一台FreeBSD NAT從前手新機(Pentium III)Run到現在應該超過10年了還能正常使用.
優缺點twtw已經都說完了,就看你自己希望輕鬆用CentOS,還是願意辛苦的K FreeBSD文件嘗試做各種調整來優化系統效能囉.

8
harrier7
iT邦研究生 2 級 ‧ 2011-06-09 15:36:44

打個比方:
BSD 家族比較類似傳統武士,以嚴謹著稱
Linux 家族比較類似忍者刺客,以多樣聞名

這是 OS 在發展當初所選擇的方向不同所致,基本上沒有啥好與壞。

選你看起來順手的。

一個良好的管理者,Windows 也能維持的很好;一個差勁的管理者,zOS 一樣馬上當機。

ayu iT邦好手 2 級 ‧ 2011-06-09 17:24:35 檢舉

滿多人有這樣的迷思: 換了OS或更新版本就會比較安全.
但事實上, 很多的資安事件, 就是看準了多數系統的應用程式採用了預設安裝,
一旦發現漏洞, 就可以依法炮製在很多系統上嘗試入侵.
如果security policy太鬆散, 或根本不設防,
不管再強的OS或AP, 都無濟於事的.

無論哪種Linux/BSD, OS裝完後一定要再觀察上面跑了哪些東西,
有些預設值必須調整或移除, 而且一定要養成/學會查看 log,
出狀況時不可以再拿MS windows的經驗和概念去亂猜,
能做到這樣, 想用哪種 Linux/BSD OS 都無所謂了!

一個良好的管理者,Windows 也能維持的很好;一個差勁的管理者,zOS 一樣馬上當機。

我要發表回答

立即登入回答