Archive for the 'Computer' Category

FreeBSD: SU+J, no more fsck!

兩天前,Jeff Roberson 把他之前寫的 SoftUpdate Journaling (SUJ) 丟去 HEAD 了:http://svn.freebsd.org/viewvc/base?view=revision&revision=207141。過了這麼多年,好多次都有人說要做各種不同的 journaling(UFS3 還有 Bluffs),終於有人寫出來… 而且 Kirk 老人家也有參與。有興趣的可以看他們兩個寫的 paper:Journaled Soft-Update,這篇會發表在今年五月的 BSDCan。另外可以聽一下 BSDTalk #186,裡面有 Jeff 的訪問,還有提到說今年 BSDCan 會討論 UFS3 的事情。

把 Thunderbird 列表字型調大的方法

昨天找了半天,終於發現要怎麼改大信件跟信件匣列表的字型大小。方法是要在 profile 目錄下造一個 chrome/userChrome.css 然後裡面放

* {
font-size: 14px !important
}
#folderTree treechildren:-moz-tree-row {
height: 18px !important;
}
#threadTree treechildren:-moz-tree-row {
height: 18px !important;
}

然後重開 Thunderbird 就可以了。

FreeBSD 新的切硬碟方式: gpart

最近剛好有機會把一台有在用 ZFS 的機器換跑 CURRENT,然後就被古老的 sysinstall 整到… 害我差點不能增加新的分割區(這是另外一個故事了… !@#$)。總之,我要說的是,大概一個月前,預設的 GEOM 管理分割區的已經變成 gpart(8) 了,所以說你要切硬碟什麼的,要用 gpart 而不是以前常用的 sysinstall/sade/bsdlabel/fdisk 了。

gpart 我只用過幾次,其實他就是以前的 gpt 改過來的,比以前的 gpt 稍微好用些。不過何年何月才會把 finstall 變成預設的安裝程式呢 :P

FreeBSD 7.1 終於出了

這次改比較大的都在 kernel 的部份,所以整個 release notes 看起來相對也少很多。底下列的是我覺得比較重要/我有興趣的部份,就參考看看吧。

  • cpuset(2)
  • DTrace
  • DDB scripting/textdump
  • 重寫成 kernel mode 的 rpc.lockd (client 部份,我有點忘了 server 部份是不是已經在了…)
  • ULE 變成預設的 scheduler
  • btx loader 終於改成用 real mode 去叫 BIOS 了,終於可以用 USB 光碟開機了
  • 現在也可以開用 gpt 切的硬碟
  • arp(8) 多了兩個參數:reject 跟 blackhole…
  • resolver(3) 可以吃有 _ 的名字… (唉…)
  • hw.ata.ata_dma_check_80pin
  • gpart(8) 可以吃 BSD label
  • gpt(8) 支援 ZFS
  • mountd(8) 可以指定要 bind 哪個 ip (-h)
  • top(1) 跟 vmstat(8) 可以指定 -P 看每顆 CPU 的狀態
  • ypserv(8) 可以指定要 bind 哪個 port (-P)
  • BIND 更新到 9.4.2-P2, OpenSSH 更新到 5.1p1

依照指定的 regexp 來切檔案:csplit(1)

前陣子發現有個 POSIX.1-2001 的工具叫做 csplit,它是依照你指定的 regexp 來切檔案,然後要自己指定說這個 pattern 要重複套用幾次。昨天第一次拿來用,搞了十分鐘才終於搞懂要怎麼用 XD

OpenOffice 的發展…

剛看到 Measuring the true success of OpenOffice.org 這篇,實在不知道該說什麼…

apache 2.x 跑 worker

前幾天大神寫了篇用 apache 2.x 跑 worker 還有 PHP 的設定,然後晚上學弟把系上的 server 換好後,就害我手癢也換了幾台沒什麼流量的機器。設定上還滿容易的,那也因為本來我 PHP 就都跑了 FastCGI,這次更動主要只在 apache 的部份,換起來輕鬆愉快 :P 現在 FreeBSD 6.x/7.x multi-threading support 比以前好很多了,也是時候該用力用一用 worker 跑 apache 了 :p

細節就不多說,參考大神 blog。

portconf 新用法

最近 portconf 升級到 1.4 之後,在 ports.conf 裡面可以指定把變數 .undef 掉。比方說,我希望編 sysutils/fusefs-kmod 的時候不要指定 KERNCONF,那只需要寫

sysutils/fusefs-kmod: !KERNCONF

就可以了。

NFS locking in kernel

一陣子之前,dfr@ 改寫了 NFS locking server 端的部份,從原本的 userland 搬進 kernel 處理了,kernel conf 裡面要加上 NFSLOCKD,預設 GENERIC 是打開的。數小時前,這部份整個也已經進了 7-STABLE,而 6-STABLE 可能過陣子才會進去。總之,這真是個好消息 :D

用 tailor 幫你轉換 cvs 跟 svn

一般轉換 cvs 跟 svn 的工具都會需要能直接存取 CVSROOT,之前曾經看過 tailor 這套神秘的工具,支援各種 VCS 互相轉換的功能。今天剛好有機會拿來用,發現還滿容易的,而且如果你能設定 svn 的 hooks 的話,也可以幫你把 commit 的日期跟作者改成原本的狀況。

基本上我是看他的 README 的範例的第二點:Bootstrap a new product, fetching its whole CVS repository and storing under SVN,就照抄他的指令就可以動了。不過轉出來的結果跟我原本有一點落差,我叫它把東西丟去 trunk/ 可是它把檔案塞到 / 去了,不知道是不是我 config 沒寫好還是有什麼神秘的事情。

不過呢,tailor 除了轉一次的功能外,它也支援一直轉的模式,也就是說人家可能用 cvs 用得很弄苦,你可以透過 tailor 讓你用 svn 用得很快樂 :D