Xvfb 在 FreeBSD 的 ports 裡面叫 xorg-vfbserver。
安裝 ports:
/usr/ports/x11-servers/xorg-vfbserver
/usr/ports/x11/xkeyboard-config
啟用 Xvfb,並指定 顯示 的 X server。
啟用 Xvfb 於 server 1 並指定第 0 個 screen 為 1920x1080x16
# Xvfb :1 -screen 0 1920x1080x16 &
# setenv DISPLAY :1.0
2012年3月26日 星期一
FreeBSD 利用 Xvfb (xorg-vfbserver) 執行 X Window 程式
2012年3月22日 星期四
FreeBSD 中 MySQL InnoDB 檔案損毀無法卸除問題解決
當 MySQL InnoDB 的資料庫檔案損毀造成無法載入,且無法下 Query 時,可以使用參數強制 InnoDB 跳過錯誤處理流程,讓我們可以將資料盡量 Dump 出來,或卸載資料庫。
my.cnf
[mysqld]
innodb_force_recovery = 4
MySQL 官方網站參數說明:
1 (SRV_FORCE_IGNORE_CORRUPT)
Let the server run even if it detects a corrupt page. Try to make SELECT * FROM tbl_name jump over corrupt index records and pages, which helps in dumping tables.
2 (SRV_FORCE_NO_BACKGROUND)
Prevent the main thread from running. If a crash would occur during the purge operation, this recovery value prevents it.
3 (SRV_FORCE_NO_TRX_UNDO)
Do not run transaction rollbacks after recovery.
4 (SRV_FORCE_NO_IBUF_MERGE)
Prevent insert buffer merge operations. If they would cause a crash, do not do them. Do not calculate table statistics.
5 (SRV_FORCE_NO_UNDO_LOG_SCAN)
Do not look at undo logs when starting the database: InnoDB treats even incomplete transactions as committed.
6 (SRV_FORCE_NO_LOG_REDO)
Do not do the log roll-forward in connection with recovery.
2012年3月14日 星期三
FreeBSD xargs 無法處理一個以上參數之替代方案
1.將資料 pipe 給 sed
2.於 sed 中使用 regular expression 切割字串
3.重組字串成 指令 輸出
4.pipe 給 tcsh
example:
# ls */*road | xargs -I @ -n 1 realpath @ | sed 's/\(.*\)\/\(.*\)\/\([0-9]*\)\(.*\)/mv \1\/\2\/\3\4 \1\/\2\/\3_\2_\4/' | tcsh
FreeBSD xargs 中使用 | pipe
使用 xargs 時,若組合出的指令中需要使用到 | pipe,則會發指令無法執行,因為 pipe 後面的東西會被當成一個新的指令。
可使用 tcsh -c 來執行組合出來的指令,以避免此問題。
# echo 'abcdef' | xargs -I @ -n 1 tcsh -c "echo @ | grep 'abc' "
2012年3月13日 星期二
FreeBSD 新增硬碟
*於機器上安裝新硬碟
*檢視 /var/run/dmesg.boot 確認有抓到新硬碟
*以 root 執行 sysinstall
*選 Configure > Fdisk 分割硬碟 (記得 Q 之前要用 W 寫入)
*重開機
*以 root 執行 sysinstall
*選 Configure > Lable 指定分割區名稱 (記得 Q 之前要用 W 寫入) (若非第一次安裝系統,則 Label mount point 不重要)
*編輯 /etc/fstab, 加入新增的分割區資訊
*重開機