iT邦幫忙

15

個人觀點:Linux版本偏好之形成

misadm 最近問 要用哪個 Linux
網路上也常有 linux 版本比較的文章,
自己也把歷來選用何版本Linux的歷程簡述一下。
最初 Linux 沒太多版本選擇的時候,
對初學者而言 Slackware 或 SLS 是好的選擇,
當時 Slackware 也算是較被推薦的版本。

Server 用的Linux考量
那個時期還沒有套件管理方面的議題,
所獲得的觀念是,
要裝什麼軟體就自己從 source code 來自行編譯。
如果一開始沒裝什麼軟體時,
要補裝什麼軟體的話,
就得再把安裝光碟拿出來補裝該套件。

另被推崇的觀念是:
為了安全或適自己的硬體需要,
要自行編譯新的kernel、
新的軟體出來也要儘快編譯最新版的軟體。

剛開始能自行編譯出軟體是還蠻好玩的事,
但有些新的軟體,又要新的library,
麻煩就來了;
如果又是正在跑的重要服務,
這樣子的更新也容易受影響。

支援硬體為首要考量
redhat 出現一陣子,
成為較popular的版本,
也仍死守在 slackware 裡,
因為與工作上所用的 solaris 比較起來,
slackware 安全上程度,對我來說是夠用。
並沒有讓我想要改用 redhat 的動機;
直到有臺server的raid控制卡,
好像是 LSI 還是另一家的晶片,
slackware 抓不到,redhat抓得到,
而開始接觸用 redhat,
當時 redhat 用 rpm 安裝套件,
好像當時還沒有 yum 這麼方便的安裝更新套件的方式,
而只能個別抓,某套件,
當碰上缺哪個套件時,
再去抓所缺的再安裝,
還是蠻麻煩的事。

透過網路更新是趨勢
直到有了 yum 的出現,
更新、安裝套件非常方便,
自動會把所相依的套件自動裝起來,
連 kernel 也自動更新,
這樣花在套件的心力就省去了許多,
而可以把更多的時間投注在其他的議題。
所以是因為有了「網路更新套件」的機制,
才讓我轉用 redhat。
redhat 9之後變企業版之後,
就改用 fedora 了。

純安全考量vs方便又安全的考量
之前一定要用source安裝、compile適合自己的kernel的觀念,
改變成:只要能快速更新到最新版本的,應該就夠安全了。
redhat 在安裝之時,或安裝之後,
都可透過 dialog 畫面,
把許多的設定完成,
像 iptables 的設定,
先做好基本範本的設定後,
再用這基礎改成適合自己的需要。

系統不要肥大、套件不牽脫
自己裝服務用的 server,
是一律不裝圖形界面的;
redhat、fedora的安裝檔會超過一張700MB的光碟片,
都盡量把所有套件都不選,
這樣的情況下,才不會裝到第二片之後的安裝檔。
而後在裝一些套件時,
往往又裝了一堆跟圖形界面相關的library套件,
是因為官方在編該套件時造成的相依,
所以會覺得套件之間牽拖得太嚴重。
方便安裝的缺點,
就是得牽聯安裝一堆不需要的套件。

打造自己的Linux版本?
這時就會想要一個可以只裝我自己要套件版本的Linux,
或者說較輕量的Linux。
Linux From Scratch 或是 Gentoo Linux
就真的是打造自己版本的Linux,
但個人的時間生命有限,
打造好及打造好的維護更新 所需要的時間心力,
大概只有學生時代才可能這樣子幹,
畢業後的工作階段不大可能如此,
就不予考慮了。

從套件管理來考量選版本
這時候其實 debian 也應是不錯的選擇,
但在長期 yum、自動設好一堆設定 的嬌生慣養之下,
由儉入奢易,由奢返儉難,
dbkg 的套件管理的指令,
一堆需要自行做好環境設定的情況下,
真的是令人不敢領教…
ubuntu這時候也成了熱門的版本,
雖然這時 debian、ubuntu 下有了 apt-get、aptitude,
類似像 yum 那麼方便的套件管理工具後,
但還是覺得 fedora 一些預設好的環境較方便而習慣,
直到…
安裝 再生龍 的 DRBL 時,
ubuntu 的支援比較好,而不得不裝ubunt。
在很舊的電腦上安裝,
fedora竟因ram太小而裝不上,
而用debian才裝得上。
這些是做為遠端server用時,
不得不轉為ubuntu、debian的使用時機。

相對於fedora沒那麼笨重,
但系統環境的設定上還是不那麼習慣。

Arch Linux 號稱是簡潔輕盈的系統,
我都用網路安裝檔大概160MB左右,
然後都透過 pacman 來安裝所需要的套件,
不會像 fedora 牽拖一堆不需要的套件,
而且只要各軟體有新的版本時,
也很快有更新;
而比 fedora、ubuntu等版本更有的優勢是:
整個系統版本的升級是更無痛
fedora、ubuntu、debian本身都會有個主要的版本號,
假設裝了 ubuntu 9.04、fedora 12 後,
後來的新的版本出現,
原來裝的版本的套件一段時間後就沒得更新了,
除非要系統的版本升級,
但我對這些系統版本升級沒什麼信心,
升得不乾不淨,甚至造成一些的問題,
所以寧可重裝。
如果是正在服務的機器,
要做這樣的版本升級有點自找麻煩。
然而 archlinux 並沒有這種版本升級的問題,
所有套件一起雞犬升天做升級,
正在服務的機器,
做這樣的更新所受的影響也很小,
所以我現在要裝 server 的話,
都改裝 archlinux,
kernel、各軟體都可隨著官方套件升到最新。
而自己的一些 fedora、ubuntu 就只能一直停在那舊版本,
要升級反而會受的影響更大…

套件保持更新就算是好的吧?!
以前曾有的印象觀念是:
如果不是因為安全漏洞的問題,
就不見得需要做升級的變動。
但現在會覺得:
無法做更新的話,
若未來被人發現漏洞,
而該版本系統又不會有人要做安全更新套件的話,
那會是一個不定時炸彈的可能發生所在;
也許沒那麼嚴重,
但就是會覺得其他系統都能更新,
而這系統沒得更新,
就會覺得是個不對勁的地方。

上述是就Linux 當 server 而言的考量歷程。

Desktop用的Linux考量
早期的Linux的Xwindow,
設定個半天還不見得能跑起來,
現在是隨便裝就隨便用,太方便了。

而跑Desktop用的硬體,
是比跑文字模式的server用的,
需要較好的規格才跑得好。

所以從 server 上習慣的使用版本上,
先是以 fedora 做為優先的選用;
如果硬體條件夠好,
裝好後都是用預設好的環境來使用,
如果硬體太舊或剛好碰到顯示晶片上的支援問題,
fedora 甚至連裝都裝不起來,
這時改用 ubuntu 來裝就蠻順利。
archlinux雖然也可一步一步裝 Xorg,
但 我沒那麼多的力氣 去搞那圖形界面的環境。

fedora、ubuntu預設是用 GNOME 來做圖形界面的管理環境,
在效能不是那麼好的硬體上,
還是蠻吃力,
最近出現了 Lubuntu
是以 LXDE、Lightweight X11為管理界面,輕巧得多,
所以在自己的小筆電從 fedora 改裝 Lubuntu,
各驅動裝置都還順利抓到,
也由於輕巧,跑得也比以前快;
所以如果Desktop用途,
我則是用 Lubuntu。
(這個怎麼念?最近開機給一位不知ubuntu的使用者看到,
他說:這是「路邊攤」嗎?)

小結
許多Linux版本的討論,
不少都只是把圖形界面的貼圖來比較,
這樣的比較文章其實是可以直接略過。

如果是Linux新手,
當然是找那大多幫你設定好的環境來用。

如果是Linux新手,又只是為Desktop用,
我只能說,選什麼版本都沒差,
已脫離新手,也只以Desktop用的話,
那就繼續用熟悉的版本,
只要該版本對自己的硬體都支援的話。

如果是Linux新手,是為了架Server用,
方便的套件管理,來省麻煩是必然的趨勢,
初期也許透過 Linux 系統的管理工具輔助做設定是無可厚非,
但又要避免太熟該家的獨特圖形界面設定,
而不知該軟體的真正的文字設定的所在精神。
如果脫離新手階段後,
就會看整體 Linux 環境,
是不是會太肥大?好不好更新升級的議題。

就我個人而言,
在架Server時,我已脫離新手階段,
所以偏好用 Arch Linux。
在Desktop用時,我一直是個新手,
再加上硬體效能不是那麼強,
所以目前偏好用 Lubuntu。
個人偏好某Linux版本的主觀意識,
就這麼形成了。


0
鐵殼心
iT邦高手 1 級 ‧ 2011-01-19 18:21:10

扌隹

0
drbenson
iT邦新手 4 級 ‧ 2011-01-19 22:56:23

見解精闢 真是一篇好文 讚

0
海綿寶寶
iT邦超人 1 級 ‧ 2011-01-20 08:59:23

我有點同情樓主的徒弟
這樣學下來
要學多少distribution呀Orz

樓主沒有師傅也沒有徒弟,所以是同情到nil。
如果就圖形界面而言,
就算同一distribution,也都常常會有所變動。
如果就「指令」CLI而言,
不同distribution之間的差異,
大概是「套件管理」以及「啟動風格」(Init BSD或SysV的Style)需學,或說適應一下;
其他各能同一個應用程式的設定檔或相關目錄,
位置也可能會隨各distribution的政策而不盡相同,
卻也不難去找到。

個人解決問題的方式,
只是把distribution當作不同的工具,
碰上硬體或軟體上的困難,
是欠缺把distribution這工具調成可以解決目前問題的能耐,
而改選擇其他distribution、工具 跨過這問題,
而可順利進行所要達到的目的。
簡而言之就是遇不同的問題,選用順手的工具。

0
misadm
iT邦高手 10 級 ‧ 2011-01-20 09:22:12

感謝版主分享,著實讓我回想起許多 Linux 的歷史呀拍手

0
jeterf
iT邦新手 4 級 ‧ 2011-01-20 10:06:22

感謝分享好文,謝謝謝謝

我要留言

立即登入留言