2010年6月26日 星期六

update-rc.d

寫了一支Daemon程式,除了在/etc/init.d/rc.local上寫入欲執行的指令外,也可以利用[Debian]update-rc.d指令,更新各runlevel下要執行的script。
首先要產生一個init.d script來執行我們要執行的Daemon,我們可以利用/etc/init.d/skeleton來當做修改的範本。

# cp /etc/ init.d/skeleton /etc/init.d/myservice
# chmod a+x /etc/init.d/myservice

接著便是修改myservice script,部份修改如下:
# vim /etc/init.d/myservice
DESC="Daemon的描述"
NAME=Daemon的檔名
DAEMON=Daemon所在絕對路徑
PIDFILE=/var/run$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

最後便是利用update-rc.d指令,更新各runlevel服務啟動設定
# cd /etc/init.d
# update-rc.d myservice defaults

defaults參數設定服務在runlevel為2,3,4,5啟動,runlevel為0,1,6為停止。若要詳細的設定,請參考man update-rc.d

2010年6月20日 星期日

全力搶救死刑狗





現在影片看到的狗可能都已經不在了。想到這就好難過,牠們沒有罪沒有錯,為什麼短短的十二天就要決定牠們的生死!殘酷的人類,既然決定養牠,就應該把牠當作家人一樣看待,而不只是一時興起養牠,最後卻將牠棄養。

狗是人類最忠實的朋友,聽起來真是諷刺阿~~

update-alternatives for gcc

update-alternatives提供了程式版本切換管道,以下將教學如何將gcc也加入到此管理系統。

假設系統已安裝gcc-4.1, g++-4.1, gcc-4.3, g++-4.3

# update-alternatives --remove-all gcc
# update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.3 41 --slave /usr/bin/g++ g++ /usr/bin/g++-4.3 --slave /usr/bin/gcov gcov /usr/bin/g++-4.3
# update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.1 41 --slave /usr/bin/g++ g++ /usr/bin/g++-4.1 --slave /usr/bin/gcov gcov /usr/bin/g++-4.1

顯示所有的版本
# update-alternatives --display gcc

設定所要選擇的版本
# update-alternatives --config gcc

2010年6月18日 星期五

Linux Kernel Headers

在編譯程式時,有時會需要Linux kernel header。除了用套件管理程式下載外,也可自己去下載Linux Kernel Source下來,透過下面指令安裝到指定的目錄下。

解壓縮完成後:
# make ARCH=$ARCH headers_check
# make ARCH=$ARCG INSTALL_HDR_PATH=$HEADER_DIR headers_install

$ARCH為處理器的架構平台,如ppc, arm等。
$HEADER_DIR為Header欲安裝的目的資料夾所在。