星期一, 1月 30, 2006

炸了整排的機器

過個年,整排機器炸掉:
  • csie.NCTU.edu.tw 的三台 NIS server 炸了兩台,mailgate 也炸掉 (於是 /var/mail 就沒掛上來),鑰匙管理系統因為是使用某台 NIS 上的 MySQL server,所以也上不去,於是不知道有誰有鑰匙,最後在 IRC 上問到在 lwhsu 那邊...
  • Deer.twbbs.org 也炸了,晚點回新竹看一看...
希望這樣就好...

星期日, 1月 29, 2006

OpenLDAP

OpenLDAP 官方網站的 A Quick-Start Guide 寫得很簡單,不過實際上到了 ldapadd 的地方就不會動了,會有錯誤訊息:
testbase [/home/staff/gslin/work] -gslin- ldapadd -x -D 'cn=Manager,dc=testbase,dc=gslin,dc=org' -W -f test.ldif
Enter LDAP Password:
adding new entry "dc=testbase,dc=gslin,dc=org"
ldap_add: Naming violation (64)
additional info: value of naming attribute 'dc' is not present in entry

其他的說明文件也都是照這份延伸出去的,所以就卡住了... 我超討厭這種情況 -_-

這代表又要用 Google 找半天了...

Update:我用 my-domain.com 的例子就成功了,至少知道問題在哪裡了 o_O

星期一, 1月 09, 2006

管理一堆 FreeBSD 的方法

以前在計中弄二三十台 FreeBSD 的時候就是用 screen + portupgrade 一次把幾十台機器升級,升級完整個重開機就好了,不用管什麼東西升級完要重跑。安裝新軟體如果需要指定 WITH_BLAH=yes 或是其他的東西,記得到每台上面的 /usr/local/etc/pkgtools.conf 改一下。(以前的 ports 還沒有 OPTIONS 這個功能)

這個模式在我一個人管的時候很好,但是當要傳承的時候就糟糕了:要瞭解這種方法的人大概都需要玩過一陣子 FreeBSD,知道只靠系統基本的套件管理是不夠的,才會有感覺。D2 上面是到了 ronnywang 才接下去。現在在交大資工當系計中助教也遇到同樣的問題。

一種想法是利用 package 更新 (這個在將 ccbsd*.csie.nctu.edu.tw 重灌成 FreeBSD 6 已經實行一段時間了),但目前最大的問題在於使用 package 會:
  • 無法善用每台機器的 CPUTYPE。
  • 某些 ports 無法產生 package,像是 screen (技術問題)、jdk (授權問題)。
另外,有時候會發生套件安裝好,但是無法產生 package 的慘劇。這個方法其實問題還蠻多的。

我昨天又想到了另外一個作法,我不知道可不可行,不過看起來會比原來的方法好,但是重新安裝機器時的速度一定會比 package 的方法慢:
  • 每天在 ccduty 上產生 package list (像是 sysutils/screen 這種字串,一行一個),排序後塞入 svn repository。另外將 /usr/local/etc/pkgtools.conf 也塞進去。
  • 要安裝新機器的時候,先將 /usr/local/etc/pkgtools.conf 抓回來,再用 cat ports-list.txt | xargs portinstall 把軟體安裝進去。
也許 ccbsd8 可以試看看這種方式。

星期二, 1月 03, 2006

The GNU Problem Report Management System

The GNU Problem Report Management System 就是 GNATS,我打算拿這套系統給系上用。

初期 (等下先弄的部分) 可能先做:
  • 將每次開會完所決定的事項到 GNATS 上面指定,下次開會的時候就知道到底做的如何了。
  • 值班系統會負責 submit pr 給每一班的值班助教,請他們檢查一些東西 (第一班與最後一班會多一些東西),如果值班助教有遇到問題,但是自己解決不了的,可以利用 Change Responsible 的功能交棒給下一班,如果自己能解決,只是要比較久的也可以註明上去。(這樣就不會有上一班以為交給下一班,下一班以為上一班自己要解決的事了 o_O)
再來可能會做的:
  • 將鑰匙管理系統移到上面,兩把鑰匙變成兩個狀態永遠是 open 的 pr,鑰匙的移交透過 Change Responsible 的功能實做。如果怕一個 pr 太長,那就每次開會的時候總管檢查過鑰匙後把舊的 pr close 掉,再開一個新的 pr。
  • 訂閱 CERT、{FreeBSD,Linux} Security Advisory,寫一個 Shell Script 接,然後每次收到以後就送 pr 進去,要求每個 TA 檢查系統。
目前大概只想到這樣...