因為要惡搞一些東西,不方便在現有的系統上跑,於是就跑去弄個 jail 出來用。比起 FreeBSD 4.x 需要自己寫一些 shell script 丟到 /usr/local/etc/rc.d/ 下,6.0 下的 jail 已經整合到系統內了,所以不太需要在自己寫 shell script。
而且 6.x 的 jail 也修掉不少 bug,像是 dmesg 偶而會出不來 (喂喂),reboot 不會理你 (喂喂)… 另外 df 也只會看到 /,不會看到其他的 slice 了。
要生出 jail 的環境,先是:
make buildworld
make installworld DESTDIR=/da1/jail0
make distribution DESTDIR=/da1/jail0
然後改 /da1/jail0/etc/master.passwd,把自己加進去,用 pwd_mkdb -d /da1/jail0/etc /da1/jail0/etc/master.passwd 重新編過一次,記得把家目錄開好 :p
然後是 /etc/rc.conf:
ifconfig_fxp1_alias0="inet 192.168.113.10/24"
jail_enable="YES"
jail_list="testbase"
jail_testbase_devfs_enable="YES"
jail_testbase_devfs_ruleset="devfsrules_jail"
jail_testbase_exec="/bin/sh /etc/rc"
jail_testbase_hostname="testbase"
jail_testbase_ip="192.168.113.10"
jail_testbase_rootdir="/da1/jail0"
pf_enable="YES"
接下來弄 pf 的設定,所以去改 /etc/pf.conf:
nat on fxp0 from 192.168.113.0/24 to any -> (fxp0)
nat on fxp1 from 192.168.113.0/24 to any -> (fxp0)
接下來把 jail 裡面的東西設一設,像是 resolv.conf。
最後用系統給的 jail 就可以啟動了:
/etc/rc.d/jail start
第一次跑起來應該會卡在 ssh 產生金鑰的地方,所以就去喝個飲料之類的 :p (也可以自己先在 host 產生好,不過我這邊懶得講了,請自己去 /etc/rc.d/sshd 翻,需要三組金鑰)
弄完以後就可以 ssh 進去玩了,如果要跟 host 共用 ports directory,可以用 mount_nullfs 以 read-only 掛上來 (security issue),然後修改 /etc/make.conf,把本來會寫入的部分都改到 /tmp 下:
DISTDIR= /tmp/distfiles
WRKDIRPREFIX= /tmp/WRKDIR
這樣應該就沒什麼大問題了 :D
改用 K2。
在 Template 裡面包一個 Template,這讓我想到 Smarty 被幹剿很慢的文章 XD (Templating, the correct way)
對了,K2 的討論區放在 Flickr 上 (應該是為了貼圖方便),以後如果發展這類軟體,好像也是個不錯的主意?:p
在 Digg 看到 ASCII 版 Firefox Logo:FireFox logo in ASCII,原 link 在 Ash’s Corner : DigiFox!。
應該是用程式轉的 :p
前陣子美國的新聞媒體報導了 Bush 政府要求 NSA 大規模監控了所有的通訊資料。
剛剛在 Bruce Schneier 的 Is the NSA Reading Your E-Mail? 這篇裡面看到了 Richard M Smith 提供反監控的想法:在信裡面提到一個別人不會 access 到的網頁,看 server log 是不是有被存取到。
(然後我又想到 XSS 了…)
F8 比較慢 (cwtex + latex + latex + dvips + ps2pdf),F9 比較快 (cwtex + pdflatex + pdflatex)。跑兩次 latex 的目的在 cwTeX 的 manual 裡面有提到原因。
這是 vimrc 的部分:
" TeX
function MakeTeX()
let textfilename = expand("%:p:r")
execute "silent !cwtex " . textfilename
execute "silent !pdflatex " . textfilename
execute "silent !pdflatex " . textfilename
endfunction
function MakeTeX2()
let textfilename = expand("%:p:r")
execute "silent !cwtex " . textfilename
execute "silent !latex " . textfilename
execute "silent !latex " . textfilename
execute "silent !dvips " . textfilename
execute "silent !ps2pdf " . textfilename . ".ps"
endfunction
function LanuchPDF()
let textfilename = expand("%:p:r")
execute "silent !start C:\\\\Program\\ Files\\\\Foxit\\ Reader\\\\Foxit\\ Reader.exe " . textfilename . ".pdf"
endfunction
au BufNewFile,BufRead *.ctx setf tex
map <F8> :call MakeTeX2()<CR>:call LanuchPDF()<CR>
map <F9> :call MakeTeX()<CR>:call LanuchPDF()<CR>

依照 sothat 的說法設定 browser.cache.memory.capacity 之後還是會炸,而且居然還超過我設定的上限… @_@
自從 布丁大長輩 提到 Javascript 的邪惡之處後 (尤其是 XSS,Cross Site Scripting),我跟 Blake 學長就把 NoScript 給裝起來了… 另外一方面,看到一些東西就比較常去思考要怎麼惡搞 :p
在防禦 XSS 這方面,就可以看出 Google 有想到不少細節在做:
- Blogger.com (Control Panel) 與 Blogspot.com (Template)。
- Google 的頁庫存檔會使用 IP address 而不是用 “www.google.com”。
很明顯的,無名小站自訂 CSS 的地方…