把 FreeBSD 7.1 直接安裝在 2TB 以上的硬碟裡

應該很多人都知道 FreeBSD 裝大於 2TB 的硬碟一直都是一個問題,
一般想要裝 2TB 以上硬碟的人都難免會來到 FreeBSD 官網的這個頁面:
http://www.freebsd.org/projects/bigdisk/index.html
它的主要問題是因為大部分跟硬碟相關的程式有這樣的特徵:

  1. 以 32-bit 整數表示容量相關的資料。
  2. 單位是 sector,一個 sector 是 512 bytes。
  3. 32-bit 只能表示 4T sectors,也就是 2TB。

跟硬碟相關的程式以及它們的特徵大致可以這樣歸納:

  1. 以前的 UFS 檔案系統只能支援到 2TB,2003 年起的 UFS2 則以 64-bit 整數來表示相關資料,使得檔案系統本身可支援到 2TB 以上。
  2. MBR、fdisk、bsdlabel 仍是以 32-bit 整數設計的,因此即使下層的檔案系統支援 2TB 以上的容量也沒有用。
  3. 以 GPT 代替 MBR 的話,可以解決問題,但 FreeBSD 7.1 之前並不支援 boot 在 GPT 分割區的功能。
  4. FreeBSD 目前為止 (7.1-RELEASE) 的 sysinstall 並不支援 GPT,所以安裝系統時無法分割 2TB 以上的硬碟。

再看看這個網頁下方的各種表格後還能發現,
目前 FreeBSD 相關的支援並不十分完善,
且有些功能已經拖了相當多年了。

Read more把 FreeBSD 7.1 直接安裝在 2TB 以上的硬碟裡

Multiple SSL NameVirtualHosts in Apache2

Apache 2.2.12 以上已 native support 了 SNI,不再需要另裝 mod_gnutls 支援。
本篇文章內容已過時,只剩下考古的作用。
新資訊請參考:Apache 從 2.2.12 開始支援 SNI

以往用 SSL + virtual host + apache 一直都有一個問題,
就是無法使用 name-based virtual host,
只能用 IP-based 然後從 port 去跳,
最近因為買了 tinlans.org 這個 domain,
也開始有機會認真的玩起 virtual host,
於是就 Google 查了一下...

Read moreMultiple SSL NameVirtualHosts in Apache2

FreeBSD 的 NDIS wrapper

簡單說就是讓 windows 上用的 NDIS 5.1 網卡 driver 能在 FreeBSD 上面用,
舊的做法是教人把 .inf 和 .sys 用 ndiscvt 轉成特定名稱的 .h 檔丟到 kernel 的目錄下,
現在新的做法可以直接用 ndisgen 這個程式做出 .ko 檔,
方法是直接下 ndisgen xxx.inf xxx.sys 然後一直按 enter 就好了,
生出來的 .ko 檔直接丟到 /boot/kernel 下,
再改一改 /boot/loader.conf 以後一開機就能動了。

Read moreFreeBSD 的 NDIS wrapper

在 FreeBSD 6.x/7.x 上編譯 OpenOffice.org 2.02

本文內容已過時,要裝的話直接裝應該就好了。

因為 JDK 1.4 實在有點舊了,
而且拿來編 openoffice 2.02 編到一半還會有找不到 symbol 的問題,
實在很懶得去解,
後來拿 JDK 1.5 去編還是有問題,
但是在 Google 上一搜就發現了解法:
http://article.gmane.org/gmane.os.freebsd.devel.openoffice/301

Read more在 FreeBSD 6.x/7.x 上編譯 OpenOffice.org 2.02