VMware 與 Dropbear 小記

抓了 下來後在裡面安裝 6.2,結果發現 所提供的 SMP 還是有問題,在 內打開後會有偶發的 core dump 現象,於是到 /boot/loader.conf 裡面設定 kern.smp.disabled="1",強制把 SMP 關掉。

跑了一陣子發現 的時鐘不準,於是用 hint.apic.0.disabled="1" 把 apic 關掉。從 6.2-RELEASE 升級到 6.2-STABLE 後發現沒開 apic 又會有另外的問題 (「時間漂移現象」這個詞忘了聽誰說的,我覺得還蠻傳神的啊...),於是把 apic 開回來以後又正常了。

想玩看看 ,裝的時候發現還蠻簡單的,沒什麼可以設定的地方,所以隨便弄一弄就跑起來了。

不過,因為我有把 的預設值看過後調整過,我把其中一些長度不夠,或是我不喜歡的方法都設定到警告去 (像是 ),連上去以後發現 警告我對方使用的是 Diffie-Hellman Group 1 (只有 768bits,被我丟進警告區),為了測試只好調回正常區跑看看...

再來是發現因為 沒有透過 login(1) 登入,所以 /etc/login.conf 裡的設定 (像是 PATH 這個環境變數) 都沒有設定上去,只好暫時在登入後自己跑一次 login gslin 解決,反正會掛 screen...

其他倒是還沒遇到什麼大問題, 針對 Embedded System 設計的目標算是不錯,該有的都有了,預設值以 Embedded System 的環境為主,有機會再看看有沒有其它好玩的功能。

FreeBSD 上的 SNMP

自從 bsnmpd 進 base 後,在 上要做流量統計所需要做的事情愈來愈簡單了。

首先是修改 /etc/rc.conf,開機時會自動跑 bsnmpd:

bsnmpd_enable="YES"

第一次啟動時可以手動跑:

# /etc/rc.d/bsnmpd start

然後裝

# cd /usr/ports/net-mgmt/mrtg
# make install clean

裝完後跑 cfgmaker 產生檔案:

# cfgmaker public@127.0.0.1 > mrtg.cfg

然後修改 mrtg.cfg 內的 WorkDir,最後產生 index.html:

# indexmaker mrtg.cfg > index.html

然後將 mrtg 指令放到 crontab 裡跑就可以了。

ZFS

最近有一台有十二顆硬碟的機器要上,想說來測試 7.0 上的 ,結果發現 解決的問題有限... 不過對於軟體解決方案來說,是一個很大的進步 :p

提供的 RAIDZ 有三種保護方式,第一種是 MIRROR,類似 RAID1 的方式,相同的資料會丟到兩顆上;第二種是 RAIDZ1,與 RAID5 類似的方式 (XOR),擁有一顆硬碟故障的容錯能力;最後則是 RAIDZ2,與 RAID6 類似的方式 (),擁有兩顆硬碟故障的容錯能力。這些都因為理論限制而沒有辦法新增硬碟。其中 RAIDZ2 (RAID6) 是目前 的 gvinum 還沒有提供的功能,這是 所帶來的第一個進展。

ZFS 所提供的「擴充性」是以相同的 virtual device 為單位,假設以三顆硬碟完成 RAIDZ1 成為一個 virtual device 後,你可以塞進一個 pool 裡面,而且是不斷的塞:

# zpool create raidz1 mypool ad4 ad6 ad8
# zpool add raidz1 mypool ad10 ad12 ad14

當你用 zpool create raidz1 建立 pool 後,就決定了你後面 zpool add 一定要用「raidz1」、「三顆硬碟」當作增加的單位 (大小倒是沒差),不然會出現:

mismatched replication level: pool uses 3-way raidz and new vdev uses 4-way raidz

或是:

mismatched replication level: pool uses 1 device parity and new vdev uses 2

看起來很像 concat,但比起傳統的 concat,新增的 pool 可以馬上分擔寫入的負荷。而且對於要大不大的企業用戶來說,每次固定增加四顆或八顆硬碟 (一張 SATA 外接卡可接的量) 比起資料搬移的停機容易接受。

再更大的話也許還是用 之類的方案吧 :p

在 FreeBSD 上支援 SSL 的 ftpd

以前都是裝 ,結果在 6.2 與 7.0 上 compile 時都會有錯誤訊息,也看不出什麼好解法,試了 好像沒什麼問題就決定用他了,但是又卡在忘記怎麼產生 key... 所以寫一篇紀錄下來 XD (這樣的好處是用 找會找到自己的文章... XD)

/etc/ssl 下產生 key 及 crt:

# openssl genrsa -out server.key (umask 077 好像沒用,那只好在生完後趕快 chmod 400)
# openssl req -new -key server.key -x509 -days 3650 -out server.crt

做完以後裝

# cd /usr/ports/ftp/ftpd-tls
# make install clean

裝完後到 /etc/inetd.conf 裡加上對應的欄位,最重要的是後面的:

ftpd-ssl -4lU -z rsacert=/etc/ssl/server.crt -z rsakey=/etc/ssl/server.key

對於只是要有個安全的連線來說算是夠用了。

最後,先把 SHA1 Fingerprint 抓出來:

# openssl x509 -noout -in server.crt -fingerprint -sha1

輸出會像這樣:

SHA1 Fingerprint=DF:E4:3A:7F:79:1D:5D:B9:A8:7E:D2:DD:BD:7A:88:E0:6C:29:15:62

然後 連上時會有 SHA1 Fingerprint 資訊可以對照:

重灌 Windows XP

上次重灌是 5/28,距離只有兩個月...

先抱怨一下 接手以後的東西真的是愈作愈爛,先不管 3.0a7pre 不能下載的問題,用 IE 下載以後發現檔案一個比一個大...

Anyway, 3.0a7pre 總算是會動了,不過還是不太穩定... 然後也發現很多站台都是直接用 的技巧來決定要不要跑 Javascript,結果變成 2.0 上用起來很爽的功能到了 3.0 上反而不能用...

差不多該睡覺了,還要早起呢...

FreeBSD 7.0 release cycle

7.0 開始動作:Begin code freeze for FreeBSD-7.0 release cycle.

剛好看到 I have updated my scaling results with L 這篇 (標題斷掉了) 以 5.0.33 取得的 benchmark:

依照 的慣例,出 7.0-BETA1 的時候差不多就可以拿一些機器測試看看,而暑假後應該可以見到 7.0-RELEASE。

各瀏覽器的速度

Note:這只是在 Javascript 裡跑 CSS Selector 的速度。

剛好看到 SlickSpeed CSS Selector TestSuite 這篇文章,在 Windows 上測了幾個瀏覽器,單位都是 ms (所以數字愈小愈好),測試的時候都儘量保持不動電腦的情況下跑完:

1.5.1 1.1.2dev 1.2dev 1.1b1 2.02
6 1600 3238 1302 839 6511
2.0.0.5 pre 176 4289 144 965 5411
9.20 68 1445 112 198 1122
3 beta 120 733 140 152 931

呃, 2 的速度... (想裝地雷看看有沒有進步,結果想到早上才失敗過,沒辦法測 XD)

Update:網頁上多了 的測試項目,速度也還不錯。

啟用 Safari (Windows 版) 的除錯選單

看到的,原文在 Enabling the debug menu on Safari for Windows 這篇。提到如何把 bug 滿天飛的 Safari for Windows 的除錯選單打開。

如果是 Windows XP,打開 C:\Documents and Settings\Your Username\Application Data\Apple Computer\Safari 下的 Preferences.plist (如果是 Vista,則是在 C:\Users\Your Name\AppData\Roaming\Apple Computer\Safari 下面),這是一個 XML 檔,在接近尾端的地方加上下面兩行:(</dict></plist> 的前面)

<key>IncludeDebugMenu</key>
<true/>

然後再打開 ,就可以看到 Debug 選單出現。

功能不是很多,最實用的應該是修改 User Agent 的功能,以及 Import Bookmarks 的功能吧?