Posts

rpmbuild

我認為在有套件管理系統的 Linux 上面安裝軟體,應該儘量使用其套件管理系統安裝軟體,少用 tar.gz 直接 make install。因此為了在我的 FC5 上安裝 PCMan X,下載 tar.gz 後不直接用傳統的 ./configure,make,make install 來安裝,而是先 ./configure 來產生 spec 檔,然後將 tar.gz 移到 /usr/src/redhat/SOURCE 裡面去,再以 rpmbuild -bb pcmanx.spec 來製作 rpm,如此就能用 rpm 來安裝管理 PCMan X。

apache 將原本由上層目錄繼承而來的保護拿掉

實驗室網頁有個部分要用 .htaccess 去設定密碼來保護,某此較資深的人才有密碼,而在保護的目錄之下有個目錄又想讓一般使用都可以存取,感謝 apache manual 很體貼系統管理員,有特別說明如何作。 Require Directive

iFolder

iFolder 原本是 Novell Enterprise Linux 裡面的一個軟體,在幾個月之前 open source。原本是 Enterprise 系統的軟體,其品質自然有一定水準,但是 open source 之後,似乎感覺沒有其他軟體 open source 後的充滿活力,品質一直提升,反正變得愈來愈沒有活力,最後好像連開發進度都停下來了。網頁上有聲明說目前正在和 Novell 討論之後的發展進度,我猜可能是 open source 後還沒規畫好未來的發展,以及 Novell 該提供多少支援,就一股腦地猛衝,所以現在正在補作之前該完成的規畫。也許是因為用的人不多,所以加入的開發者也比較少吧,因此會感覺有點停滯。總之,耐心期待吧,這個東西應該是可以成為桌面應用的殺手軟體。 這邊特別記錄一下,在 Fedora 安裝 iFolder,因為 Fedora extra 在五月的時候開始收錄 xsp 這個套件,在經過兩三次更新後,變得和 iFolder 不相容,該有的執行檔不見了,所以還是用原本 Novell 那邊來的 xsp 套件就好,要在 yum.conf 裡面加上 exclude,不要自動去更新 xsp。

用 cygwin 的 rsync 遇到中文檔名時

我在一些 Windows 2003 server 上使用 cwrsync 來作檔案備份的工作。自從某個版本的 cygwin.dll 之後,rsync 處理中文檔名就會出現 file has vanished 的錯誤。用這個來作關鍵字搜尋,找到這個網頁: UTF-8 Cygwin 有 patch 過的 cygwin.dll 供人下載,替換掉原本的檔案後就可以處理中文檔名了。

Xen: an open source virtual machine system

因為要幫學弟妹上 Fortran 的教學,需要一台機器讓他們登入、編譯,又不想在研究室已上線的機器中加入這些暫時的帳號。而且在這個 virtual machine 技術開始成熟的時代,另外弄一台破電腦來用已經是古代人在作的事了。因為以上的考量,所以興起想玩玩 Xen 的念頭。 Xen 的虛擬技術和 Vmware、Virtual PC 這些不太一樣。它們是模擬出一台 PC,連 BIOS 都有,Xen 則不是用軟體模擬 PC 的硬體,而是在目前的 kernel 之上再加入一個 hypervisor,由其控制硬體給所有的 virtual machine,所以要用包含 hypervisor 的 kernel 來開機才能執行 virtual machine。 在 FC5 首先要安裝含 hypervisor 的 kernel,再用這個 kernel 開機,就能開始建立 virtual machine 了,驚人的簡單。簡單作些設定後,就能開始安裝作業系統。之前找 Xen 的資料時,一直看到只能運行「修改過的作業系統」,讓我有點怕。安裝作業系統目前只支援 nfs、ftp、http,我直接指定 ftp://linux.nctu.edu.tw/dists/fedora/core/5/x86_64/os ,很順地就進入安裝畫面了。因為是用 terminal 連接 virtual machine,所以沒辦法出現 X-window 安裝畫面,這時可選擇要用文字介面安裝還是 vnc。我沒試過 vnc 安裝介面,所以就試試,結果也很讓人驚喜,無比的順暢和方便。Virtual machine 的網路預設是 bridged 模式,所以在學校有固定 ip 可以使用的話,直接設個 ip 給 virtual machine 就好,和一般安裝在電腦上一樣。 安裝完用 xm 這個指令來控制開關機,試著登入使用後的結果,不知道是 host machine 有兩個 CPU,記憶體也很多的關係,還是本來 Xen 的效能就很好,使用的感覺很棒。下次作個量化的測試,看看 Xen 的效能到底是如何。我沒去找如何使用 virtual machine 的 X-window ,如果也行的話應該會更棒,不過現在這樣我就很滿足了,因為主要的目地就是憑空生出一台「假的」伺服器。 參考網頁: FedoraXenQuickstartFC...

在 en_US 的 locale 下使用輸入法

使用 Linux 時,我習慣用英文的系統。如果不需要桌面系統或應用程式的中文介面,和直接安裝英文系統相比,能「看中文」和「輸入中文」的系統需要再安裝的套件其實不多。 以我目前用的系統 Fedora Core 5 來說明。首先就是字型,安裝中文的 ttf 字型就好了。輸入法的話,我愛用 gcin,也有 rpm 可以直接下載來安裝。安裝完 gcin 後,如果是在 zh_TW 的話不用改什麼東西就可以直接用了,本篇最重要的就是解說要如何在 en_US 中使用 gcin。 系統判斷用什麼輸入法,是由 /etc/X11/xinit/xinput.d/ 下面的檔案來判斷。裝完 gcin 就可以看到有一個 zh_TW 的例子,照著那個檔案作出一個 en_US 的即可。照理說這樣就好了,但再來是比較特殊的一個地方,我當時就卡在這。在 /etc/gtk-2.0/i386-redhat-linux-gnu/gtk.immodule 這個檔裡面寫了一些輸入法的資訊,我裝完 gcin 後似乎沒有更新 (在 zh_TW 就會更新?),所以要用 gtk-query-immodules-2.0-32 > /etc/gtk-2.0/i386-redhat-linux-gnu/gtk.immodules 這個指令來更新。如果前面幾步作完,沒辦法用 Ctrl+Space 來叫出輸入法,也確定 gcin 已啟動的話,可以試試最後這一步。

Kernel level CPU frequency scaling

AMD X2 PowerNow! & Linux performance — Twibble.Org Enhanced Intel SpeedStep® Technology and Demand-Based Switching on Linux 目 前在我的 laptop 上使用 FC5,有個問題就是內建的 cpuspeed 控制 CPU 頻率變動的速度不是很快,導致整個系統用起來就是有一種不順手的感覺。雖然把頻率固定在極速也是一種解決辦法,但這樣 laptop 的風扇就會轉不停,聽起來也有點煩人。而且後來在某次更新後,沒辦法固定頻率了,也感謝這個問題發生,讓我找到一勞永逸的解決方法。 看了以上兩個連結,才知道現在有新的,kernel 層級的 CPU fequency scaling governor,會比從 userspace 這邊控制快上好幾倍 (有數百倍吧)。使用方法也很簡單: /sbin/modprobe cpufreq_ondemand echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor 把 這些寫在 rc.local,然後不要使用 cpuspeed。看了 Intel 的文章,以為這只能用在 Intel 的 CPU 上,後來才想起第一篇用的 CPU 是 Athlon X2,沒有只能用 Intel 的這回事。不過不知道這兩家的 CPU 用起來效果相不相同就是了。

餅乾大事紀 » Blog Archive » OpenVPN

餅乾大事紀 » Blog Archive » OpenVPN 先記下來,我試過後再整理。

ipfilter

最近在 cauchy (Compaq DS25) 上裝了 ipfilter 這個 firewall。安裝時有些小問題,但還是弄上去了。要加規則的話是更改 /etc/ipf.rules 這個檔案,然後用 ipf -Fa -f /etc/ipf.rules 來更新規則。另外可跑 ipfstat -hi 來看 in 的每條規則和統計。

LinuxHall - 在 Windows 上存取 Linux 的 ext3/reiserfs 分割區檔案

LinuxHall - 在 Windows 上存取 Linux 的 ext3/reiserfs 分割區檔案 如果要在 Windows 下存取 ext3 filesystem 的話,可以試試看。

trac: Integrated SCM & Project Management

trac: Integrated SCM & Project Management 之前老師想要一個系統,能記綠每次 meeting 的大致內容和結論,以及保存每次 meeting 用的投影片,無論好壞。大概的功能就是能直接從網頁上輸入資料,例如報告者、日期,然後直接從網頁上傳投影片檔案上去。本來叫學弟用 php 寫一個,但他似乎寫不太出來。其實這種簡單的功能我應該一下子就能寫完,但我是想找找一個更完整,不是急就章的解決方案,最好是用 wiki,能讓大家自由添加內容進去。有想過用 MediaWiki 這個當紅的 wiki 系統,但試過後發現它對上傳檔案的定義和我要的不太一樣。它對上傳檔案的定義是圖片這類的多媒體檔案,和我要的單純上傳檔案功能不太相同,用起來也不順手。 後來在某處發現有人介紹 trac 這個系統,定位的使用者是軟體開發團隊。重點是有上傳檔案的功能,所以想看看這個適不適合我們使用。

Tru64-UNIX-Managers: [SUMMARY] counting the number of files under an entire directory tree

Tru64-UNIX-Managers: [SUMMARY] counting the number of files under an entire directory tree 有一次我一直在找有沒有小程式可以顯示目錄中有多少個檔案和子目錄,像 du 可以很快地知道檔案總共佔了多少磁碟空間一樣。原來只要配合 find 和 wc 就能達到這個功能了,實在是很符合 unix 風格的解決方法。 find /home -type f | wc -l find /home -type d | wc -l

Samba-3 新的使用者帳號儲存方式

The Official Samba-3 HOWTO and Reference Guide: 10. Account Information Databases Samba-3 總共有三種使用者帳號儲存方式:smbpasswd、tdbsam 和 ldapsam。其中 smbpasswd 是之前舊的方法,也是我所使用的,是以文字檔來儲存編碼後的帳號資料,像 /etc/passwd 一樣。但這個方法有三個缺點: 因為是文字檔,所以搜尋帳號資料的時候必須要循序來找,在使用者數目一多的時候就會顯得很慢。 管理者要複製這些帳號資料到另外好幾台機器的時候,必需要手動去搬移那個檔案。 原本 smbpasswd 設計的資料儲存欄位有限,無法再增加新的資訊。 這三個理由都無法說服我轉換到 tdbsam 去。首先第一個理由,我這邊頂多不到十個人會用到這個服務,所以就算是文字檔也慢不到哪裡去。第二個,要克服這個麻煩,就要用到 ldapsam,但這個需要有 ldap 服務,因為麻煩和沒有必要性,所以我不會去架一個 ldap 服務。單純用 tdbsam 的話,還是要手動去複製那個資料庫檔案到別的機器上。第三個理由,我只需要很基本的功能,沒有必要用到新的欄位。既然三個理由都不成立,為何我要轉到 tdbsam?唯一的理由就是 smbpasswd 是 being obsoleted,所以還是早早轉換,先熟悉新的東西。 轉換的方法文件中有寫,大概就是用 pdbedit -i smbpasswd -e tdbsam 把 smbpasswd 這個檔轉成 tdb 資料庫檔,然後在 smb.conf 中註明 passdb backend = tdbsam:/etc/samba/passdb.tdb 就好。要注意的是,passdb backend 原本沒有寫在 smb.conf 中,要自己加上去,這是很奇怪的一個地方,很少看到設定檔會沒寫出重要的設定,通常都會寫出來並加注解。

NFS mounts fail with mount: RPC: Authentication error; why = Failed (unspecified error)

NFS mounts fail with mount: RPC: Authentication error; why = Failed (unspecified error) 第一次使用 FC4 架 server,原來多了這個問題要注意。NFS 配合 tcp_wrapper 來擋連線的時候,在之前都只需要設定 portmap 要 allow 就好,現在連 mountd 也要寫進去。誰叫我雞婆,用個 ALL 就不用這麼麻煩了,幹嘛要一個一個 daemon 分別寫,這也不是什麼重要機構的重要機器,頂多會「感染」到一些自動散佈的程式而已,沒有人會特別來「入侵」這種無關緊要的機器。雖然是這樣想,但還是不要偷懶,多些安全防護總是比較放心。

使用 vim 的技巧

紅塵一隅間拾得 � vim 這裡列了很多使用 vim 的技巧,有些我已經知道而且會使用,有些我知道但覺得不方便而沒有深究,有些是我不知道的。找個時間把整個文章看過一遍,看看有沒有我不知道而且很好用的功能。

讓 fftw 吃 ifort 的方法

export F77=ifort export FLIBS ="-L/opt/intel_fc_80/lib" ./configure

Vim 支援的 tag 功能

快速上手 在處理大程式時,如果要一個一個副函式開檔案來看,實在是很麻煩的事。Vim 支援 tag 的功能,能事先作一個 tag 檔出來,只要在主程式中選擇副函式,就會自動開那個副函式的檔,是很方便的功能。

Gaim 的 plugin:guifications

Gaim 本身沒有作登入登出的提示,只能設定有音效,但沒辦法在畫面上顯示誰登入誰登出,因為常常錯過跟某人打招呼的時機 (例如說女朋友…)。 原來這個問題不只我有困擾,所以早就有 plugin 來支援這種顯示提示功能,那就是 guification 。效果還蠻不錯的,也有各種 theme 可以使用。

讓 firefox 在 Linux 環境下較容易印出中文來

wprint Wprint 據說可以讓 firefox 在 Linux 環境下較容易印出中文來,記得要試試。

檢查 .a 檔中有哪些函式

如何檢查 .a 檔中到底包了有哪些函式?用 nm 這個小工具就是了。