徵任系統站務 (1) ~ (3)
2006-10-05 15:08
為了替系站 資訊傳奇 及 計中站 大度山之戀
徵任接手的系統站務
於是花點時間寫下了一系列說明稿
順手整理下來作紀念 :>
誠徵系統站務(1) - 我的故事
千言萬語, 不知如何起頭 ...
還是重頭開始慢慢說吧 !
84/05 , 我國中三年級 ,
那時家裡買了一部 14,400 bps 的數據機 ,
讓電腦從此踏入了浩瀚的網路世界.
從 dial-up bbs , 到 TAnet 上的 BBS ,
有五年的時間 ,
足跡落在台南縣資教網、成大計中、貓咪樂園、夢之大地、盈月與繁星、交大資科..等站
89/05 , 進入東吳數學系就讀 ,
因當時的東吳計中溪城站十分不穩定 , 常出問題 ,
於是興起想自己架 BBS 的念頭.
但當時的我只是個會裝電腦、會灌 Windows 的小毛頭而已 ,
憑著一本 Linuxer 雜誌提到的 “如何架設 BBS”
短短的幾面篇幅 , 和一股滿腔的熱血 ,
就這樣踏入了 Linux 的世界 ( Redhat 6.0 ) .
一開始用 Maple 3.02 , 後來轉移至 PttBBS 0.9.3 ,
花了整整一個星期才把個人的站台 - 傳說中的BBS
弄起來 , 並持續修改、運作至今 .
90/09 , 來到東海資科系 ,
大一接手碩士班學長交接下來的系站 - 資訊傳奇
那是一台 Sun SPARC-20 的機器, SunOS 5.7 系統, 以及 FireBird BBS ,
都是我從未接觸過的世界.
由於 unix 的基礎不牢, 國內的文件很少, 英文又不好,
所以一開始學這個系統, 著實辛苦的很 ...
還好, 花了一個學期, 在不斷的遭遇挫折後,
總算稍微熟悉了這個系統, 和這套 BBS .
91/01 , 大一上學期結束後 ,
成為東海計中官方站 - 大度山之戀 的實習系統站務,
和一位大五將畢業的學長一起維護.
那是一台 ASUS 雙 500MHz CPU 的 x86 PC , 上面跑著 SunOS 5.7 for x86 的系統.
當時的平均上線人數約在 1000 人上下 , 也差不多是機器的極限了 .
後來與學長配合, 請教他站的資深管理員後,
經過修改部份程式, 讓同樣的設備上到了 1400 人.
91/10 , 大二上, 計中採買新的設備 - 雙 1.4GHz CPU, 4G RAM
但反而開始了我的惡夢 - 每隔 3~5 日不等, 系統必定 crash 一次 ....
此時的尖峰時期上站人數約在 2500~3000 人左右.
接下來的幾個月內, 不斷的更換零件、以及調校系統, 卻仍是當機連連 ....
雖然現在算是確定了問題點 - SCSI Controller 在該 OS 上的 driver 並不穩定,
但當時著實是頭痛的很,
和計中配合, 能換的裝置都換過了, 還是一樣 ... 每隔幾天必定要跑一趟機房,
甚至也發生過星期五晚上當機, 六日完全停止服務的情況.
92/06 , 大二下快結束時 ,
計中另外採買新的機器, 是 Fujutsu 的雙 2.8GHz Xeon, 4G RAM .
但殘酷的發現該機型並無法安裝 SunOS .
於是在期末考後, 花了一段時間把程式 porting 到 FreeBSD 上.
並在八月左右正式上線.
經過略微調整後, 系統就完全穩定運作了.
此時後至今, 系統每次開機都是連續運作一整個學期,
遇到寒暑學校大停電維護時, 才會關機.
每次看到那個 uptime 200 days, 總會暗叫聲可惜了 :p
93 ~ 95 年 ,
由於 MSN盛行、PTT/無名 大站興起、大度山系統老舊、
以及站務群的處理方式引起使用者不滿 ...
還有東海的入學新生資教停辦 .... 等等諸多原
造成使用人數快速下降 , 3500 , 3000 , 2500 , 2000 , 1500 , 1000 ....
不過這也是國內所有 BBS 裡共同的趨勢,
前幾天稍微調查了一下 , 95/9/23 22:00 時 , 幾個名站的線上人數 ,
台中計中椰林風情 447
清大楓橋驛站 297
成大計中 197
中山美麗之島 585
淡江蛋捲廣場 213
東海計中大度山之戀 704
不良牛 1644
KKcity 5000
無名小站 10470
PTT 55182
可以很明顯的看出 , 幾乎是所有的使用者都擠到 PTT 和 無名 去了 XD
雖然我本身在 PTT 和 無名 也有帳號,
但平常實在很少上去, 一個星期大概兩三次吧 ....
因為我的日記寫在個人站, 要看系上大事進資傳, 要找鄰近地區的生活資訊上大度山,
每天開機就是掛這三個站而已 ....
但隨著我的畢業, 資傳和大度山也該換人維護了 ,
其實本來在我的規劃裡, 如果上東海的研究所, 我是會再繼續做的,
但 ... 事與願違,
目前已經確定我沒有上任何一間研究所, 而必需準備服兵役.
未來我大概有幾種可能的發展 -
1. 備取進入東海或中正資工所 => 差不多確定無望了 XD
2. 十月或十一月開始服役, 為期一年二 ~ 四個月
3. 扁平足複檢結果通過, 服役 12 天後, 上台北工作
所以必需在這個月內, 把站務的工作交接下去 ....
當然有人會想說,
為什麼不在前幾年就開始交接 ? 為什麼要匆匆忙忙在這最後一個月做 ?
呃 , 其實有很多的原因存在 , 不過有一大部份是我的問題 ....
一來是前幾年曾找過一些學弟, 但遇到三種人 -
有心的無力、有力的無心、道德人品不夠成熟 .
我的要求是比較高沒錯 , 所以這三種人都沒辦法讓我放心把站交接出去 ....
二來是前三年, 由於家裡經濟的關係,
我不斷的打工, 打工, 甚至是接夜班的正職工作, 以維持自己的學費、生活費,
忙到昏天暗地, 於是一直把找接班人的事擱著了 ......
anyway , 無論如何 , 這些都是過去的事了 ...
現在我只希望 , 在離開前的這一兩個月 ,
可以為大度山、及資傳 , 帶出新的熱血站務來維護 !
如果你不知道當站務的好處 , 如果你還覺得那是吃力不討好的工作 ,
請見下篇 - 我的成長 :)
誠徵系統站務(2) - 我的成長
上一篇提到了我接觸 BBS 的一些過程 , 以及接手資傳/大度山後的一些事
而這篇, 主要是想談談在管理系統的過程中, 我所獲得的成長.
一般來說, 雖然也有在 windows 上透過模擬環境, 運行 BBS 的方式 ,
但是效能上一定受影響.
因此專職扮演 BBS 角色的站, 必定是運行 unix 家族的系統.
在台灣的環境中, 大部份是 FreeBSD、Linux、Solaris 這三者之一.
在進東海, 接管資傳/大度山前,
我只是摸了一陣子 Linux 的小小咖, 稱不上熟悉, 也沒接觸過其他的系統.
雖然以現在的眼光看起來, 這些不同的系統, 只要底子好 很快就能上手,
但當時的我只會照著書本敲敲指令, 根本沒有像樣的 sense ,
於是大一上玩 Sun 的東西時, 老實說很吃力 ...
一邊 K 書、看文件,
沒有 Sparc , 只好自己弄台機器裝 x86 版本來練習,
一開始下指令時都不敢直接下, 要先在練習機模擬過才動手.
半年過去後, 在一次重整系統時, 從原先的 SunOS 5.7 重灌至 5.8 後
才算稍微較能掌握了這個系統 ....
另外, 由於加入宿網小組和計中配合, 幫忙修宿網、管理機器 ..
所以也接觸到了幾台機器是用 FreeBSD 的系統 ...
例如宿網的報修網頁、宿網的 DNS ... 等等
雖然當時對它很陌生 ,
但由於和 Linux 的性質相近 , 自己的底子也慢慢紮實了 , 因此很快就上手 ~
至今它成為我最愛用的伺服器端系統 !
除了系統管理之外 ,
由於大度山/資傳, 都是使用較古老的 BBS - FireBird ,
在官方已經近乎停止發展的狀況下 ,
瞭解架構、修bug、加功能、... 一切都要自己來.
先對總共近三萬行的程式碼有基本的瞭解後,
修改 => 測試 => 上線 ... 大一大二的課餘時間就在這樣的日子中度過
有些人也許覺得 C 語言很簡單沒什麼
但在 unix 下開發像 bbs 這種網路程式 , 還牽涉了很多系統層面的知識
例如 fork、signal、shared memory、semaphore .... 等等
對一個剛進資訊系的小朋友來說, 這些都是未知的領域,
只能自己翻翻作業系統的書 ... 囫圇吞棗 一知半解的硬啃 ...
可以說整個是用 “試誤法” 練出來的 ... 我的青春啊 ~~~ [泣]
不過也因為有這樣的經驗 ,
讓我對管系統不只是會敲敲指令改改檔案而已 ,
更能進一步瞭解、及運用 unix 這些獨有的機制 ...
像一般系統管理人員
嫩一點的只知道 kill -9 可以砍 process ,
好一點的會知道可以送任意 signal ,
但開發過程式的人還會知道實際送過去後的影響 ...
另外 , 由於常需一次處理幾千、幾萬筆大量的資料
每次都用 C 語言寫實在很沒效率
於是開始學 shell script、perl ... 等等 script language .
人性總是懶惰的, 在沒有壓力的情況下 成長就會緩慢 ,
所以自己學, 通常是學過一次就忘、用過就丟 ,
但是有需求的時候 常寫常用 就會把它變成自己實際的技能 !
後來 , web 愈來愈盛行 ,
為了開了一些網頁型態的功能 ,
開始學寫 PHP , 連結 MySQL 資料庫 ,
並在 BBS 的 C 語言原始碼中 , 嵌入 mysql 的函式, 用以與 web 端的資料庫作連結
進而變化出一些豐富的功能.
有一次, 大度山主機因為一個漏洞沒更新, 遭機器人入侵植入攻擊程式
雖然我在一個小時內就發現, 並迅速修補完畢 ....
但著實嚇出了一身冷汗 !
從此對系統安全有更深入的體驗 , 也開始學習如何入侵與防禦.
綜合上述 , 在管理 BBS 四年多以來 , 我大概培養了這些能力 -
Linux / FreeBSD / Solaris 系統管理
C / PHP / Perl / Shell 程式設計
MySQL 資料庫使用
入侵手法與系統安全
沒待過業界的人可能難理解這樣的能力到底對工作有沒有幫助 ...
我就直接舉個自身的例子作說明吧 !
由於家裡經濟狀況的關係, 大二開始我就到外面狂打工 ....負擔自己的學費、生活費.
大三大四更是白天在學校上課 晚上接外面的正職機房工程師做 ...
我很慶幸自己前幾年的磨練並沒有白費,
而前幾天我到台灣數一數二大的 SI 公司面試 ,
人家對這樣的能力也是十分欣賞, 要求我儘快到職 ....
如果你看了這些說明 , 對這個充滿挑滿性、成長性的職務願願欲試 ,
那請接著見下面 - 我的要求 :)
誠徵系統站務(3) - 我的要求
誠如在本系列的 (1) 中所提到的 ,
前幾年我在找尋接任的系統站務時, 遇到三種狀況 -
有力的無心 - 這個不用多說, 沒心的人就不用來了 :p
有心的無力 - 太過熱血想要學, 但原本的底子太差的話,
我相信二一的機率是很大的 XD
道德人品不夠成熟 - 這點也是計中、及我所最看重的部份,
因為系統站務的權限極大, 幾乎可以說是無所不能 ....
若交給了有心人士經營的話, 可能會造成無法預期的後果 .
因此我的要求是 -
1. 明白是非, 且自我控制能力夠強.
2. 有基本能力, 有心願意學習.
基本上, 維持 BBS 運作所需的能力大概如下, 只要有其中的一種以上, 都歡迎加入!
(1) 懂 Linux 系統操作 , 會 FreeBSD 更佳
(2) 懂 C 語言 , 會操作 unix 下的 IPC、signal 等更佳
(3) 懂 BBS 的架構 , 曾架過或維護過更佳
而常用的工具大概是這些 -
(1) computer language - c 、 php 、 perl 、 shell script
(2) editor - vi 、 vim 、 joe 、 pico 、 ...
(3) debugger - gdb
(4) database - mysql
以及簡列系統站務的任務如下 -
(1) 使 BBS 穩定持續提供服務
(2) 維持轉信正常運作
(3) 修正程式的bug
(4) 增加使用者提議的新功能
(5) 提升系統的效率
(6) 處理無法於管理選單中解決,而必需登入系統操作之問題
(7) 增進系統的安全性, 防止遭攻擊、入侵
我希望有興趣的人 , 都可以來找我談談 ,
我會作一些測試評估你是否適合.
面試月餅
3 則留言 新增留言
1. !~[星夜](Starlition)~! | October 12th, 2006 at 10:09
學長好~
我是資工1B的學弟
曾在高中擔任BBS系統管理
會一點FreeBSD跟之前用的Maple-itoc BBS
有興趣替兩個BBS站服務 請問是直接你說就好了嗎
需要留下什麼樣的聯絡方式嗎?
P.S:我在兩個站的ID都是starlition
2. 班 | November 22nd, 2007 at 21:55
請問你會入侵系統嗎??
請幫幫我
拜託
3. OuTian | November 24th, 2007 at 23:09
我不會入侵系統耶
那個要找更專業的哦
新增留言
訂閱這則留言的 RSS Feed