系統管理的哲學?

在接觸 Linux 之前,有很長的一段時間是活在 Windows + DOS 的環境中,系統管理工作相當單純…『啥?當機?重開啦!』、『電腦跑很慢?重灌啦!』、『就點點點就好啦…;雖然簡單,許多問題卻始終不停發生,當時的英文也爛到不行,所以不知道原來國外已經有那麼多的解決方案,因此系統管理工作就是千篇一律。

在接觸 Linux 的初期,那個借我主機的老師應該相當煩,因為我為此找了個時間比較彈性的工作,經常白天窩在日間部的專題教室中看書惡搞(我很久以前就唸夜間部了,家境不好…),讓他在正常的工作之外多了不少負擔;當時對於 Linux 一知半解,過去以為自己電腦很行的自信瞬間瓦解,翻書所能夠找到的答案不足以解決遇到的所有問題(照著打還會錯…),加上學校並沒有比較深入的課程(有相關的,但是那個老師講的東西好像跟看到的書差不多),所以剛開始還真是丈二金剛,摸不著頭緒。在不斷面臨挫折後,慢慢有些概念,而網路的盛行加上還堪用的英文程度讓我慢慢搞懂一堆疑問;而在這個期間我迷上了 PHP ,因此對於 Linux 的系統管理能力即使到了今天都還蠻膚淺的(自己覺得啦)。

我把焦點放在應用上,即使到了今天也是這樣,因此自己安裝的系統都是安全性極差;我可以從存取紀錄中看到一些人確實進到系統逛過,只是主機裡面的資料沒有太大價值,那些人都是逛過就離開了,我也不以為意。後來有些正式對外的主機發生安全上的問題,我才根據網路上的一些資料為主機加上一些安全機制。

我相當依賴那些套件管理系統,像是 rpm、apt 與 yum 等,雖然透過 tarball 自行編譯並沒有那麼困難,但是往後就隨時要注意更新狀況,不能像 apt 或 yum 這樣下個指令全都搞定;只是工作上遇到習慣使用 tarball 編譯程式的前輩,從他們提供的步驟才發現怎麼系統管理工作變得那麼複雜…^^||

以各種方便的工具進行管理時(包含 webmin等圖形化程式),最大的問題在於有規則可循,許多人根本都使用預設值;只是因為進入門檻降低,因此也較普遍。透過 tarball 有個好處是可以做許多小動作,像是把網頁伺服器偽裝成其他廠商的產品,這樣子許多自動化的程式就比較不會找上門來;只是在程式越裝越多之後,除非是專職在處理這件事情,否則很難保證版本更新狀況。

一般透過自行編譯安裝的程式版本會比較新,套件則是在經過測試並且打包後才能夠透過套件管理程式下載;對於一些比較重大的安全性更新,自行編譯方式可以即時反應。而且因為套件管理程式與發行商有蠻大的相依性,自行編譯就比較不用擔心這個問題,對於管理多種不同發行商所提供的Linux,自行編譯確實比較好。

而透過套件管理程式進行管理,或是一些圖形管理介面,最大的優勢在於隱藏了許多資訊以及簡化了管理過程;許多系統管理者對於英文訊息還是相當排斥,更別說是透過文字編輯器處理大量的設定檔。在管理多部同樣機器時,透過套件管理程式可以讓管理工作自動化進行(雖然編譯方式也可,但難度較高)。

其實使用那種方式都行,最重要的就是文件化吧;套件管理程式或是圖形化介面的好處是一堆文件可以參考,如果自行編譯又沒有將其中的細節透過文件保留下來,那可能管理工作會相當辛苦。

在程式設計的領域中也有類似爭議,就是該不該採用標準的格式或函式庫?結論往往都是趨向標準化,因為不會一個人做到死;不過依舊有許多不願意追隨標準的人,為了執行效率等因素採用自己的解決方案。

我知道能夠深入系統管理很棒,但是我希望將多一點時間留給自己與家人…

本篇發表於 站務管理。將永久鏈結加入書籤。

回應已關閉。