Sunday, April 24, 2011

GNU Scientific Library (GSL)

GNU Scientific Library (GSL) 網址 http://www.gnu.org/software/gsl/

原始檔安裝
下載檔案 ftp://ftp.gnu.org/gnu/gsl/gsl-1.9.tar.gz

$ tar zxfv gsl-1.9.tar.gz

$ cd gsl-1.9/

產生 Makefiles
$ ./configure

預設安裝於 /usr/local 目錄,使用 --prefix=PATH 參數可指定安裝於其他路徑,例如安裝 gsl 於 /usr 目錄之下則使用
$ ./configure --prefix=/usr

編譯 library。
$ make

安裝 gsl 於預設目錄 /usr/local 之下 (亦即安裝相關檔案於 /usr/local/include/gsl 目錄)
$ make install

若使用 --prefix=/usr 參數以指定安裝路徑,則將安裝相關檔案於 /usr/include/gsl 目錄。

問題排除
$ ./a.out
./a.out: error while loading shared libraries: libgsl.so.0: cannot open shared object file: No such file or directory

library 檔案 libgsl.so.0 已存在於 /usr/local/lib/libgsl.so.0, 解決方法為設定 LD_LIBRARY_PATH, 參考 http://www.gnu.org/software/gsl/manual/html_node/Shared-Libraries.html


套件安裝
使用 yum 搜尋安裝套件
$ yum search gsl
gsl.i386 : The GNU Scientific Library for numerical analysis
gsl.x86_64 : The GNU Scientific Library for numerical analysis
gsl-devel.i386 : Static libraries and header files for GSL development
gsl-devel.x86_64 : Static libraries and header files for GSL development

選擇安裝套件,32 bit 機器選擇安裝 gsl.i386:
$ yum install gsl.i386
$ yum install gsl-devel.i386

64 bit 機器選擇 gsl.x86_64 以安裝 library 檔案(例如 libgsl.a 和 libgsl.so) 於 /usr/local/lib 目錄。
$ yum install gsl.x86_64

64 bit 機器選擇 gsl-devel.x86_64 以安裝 header file 於 /usr/include/gsl 目錄。
$ yum install gsl-devel.x86_64

static library 和 header file 預設安裝於 /usr/include/gsl 目錄。

參考資料
GSL Reference Manual, http://www.gnu.org/software/gsl/manual/html_node/index.html

Thursday, April 21, 2011

Windows 32-bit versus 64-bit

效能測試:Windows 7 64 vs 32位元 誰比較快? by T客邦
對一般使用者來說,64與32位元Windows最顯著的差異是支援的實體記憶體大小。32位元的Windows 7最多支援4GB記憶體,而且實際上可用的記憶體容量還不到4GB。如果有超過4GB的記憶體使用需求,安裝支援192GB記憶體的64位元的Windows 7會是比較有效率的選擇。
在效能測試中,64位元Windows 7在與影片轉檔等多媒體處理相關的測試項目中,效能的優勢比較明顯,在音樂轉檔與WinRAR壓縮的效能則與32位元Windows相差不多。另外因為64位元Windows 7支援4GB以上記憶體,因此有影片處理、轉檔等需求,或擁有超過4GB記憶體的使用者,我們建議安裝64位元Windows 7以獲得更好的效能。

Tuesday, April 5, 2011

vsftpd: restrict user access

vsftpd Configuration File: /etc/vsftpd/vsftpd.conf
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf/

例如限制使用者 kitty,僅允許其上傳檔案,不可以複蓋檔案、下載檔案。編輯其設定檔如下:
User configuration file: /etc/vsftpd/vsftpd_user_conf/kitty

dirlist_enable=YES
cmds_allowed=PWD,TYPE,LIST,CWD,CDUP,PASV,STOR,QUIT
file_open_mode=0400
chmod_enable=NO