Linux防健忘日誌No.81-Ubuntu 12.04.4 motd修改以及codetrace

今天上課期間趁老師在講人生大道理時,突然一時興起想研究一下motd…

 

也就是在terminal上一login所顯示的資訊,motd的全名為Message Of The Day

 

通常長這副德行:

Welcome to Ubuntu 12.04.4 LTS (GNU/Linux 3.5.0-47-generic x86_64)

* Documentation: https://help.ubuntu.com/

System information as of Tue Mar 25 15:19:23 CST 2014

System load: 0.08 Processes: 109
Usage of /home: 32.6% of 916.39GB Users logged in: 0
Memory usage: 17% IP address for eth0: 192.168.1.30
Swap usage: 0% IP address for virbr0: 192.168.122.1

Graph this data and manage this system at:
https://landscape.canonical.com/

 

若已經login,可以cat /etc/motd顯示內容,但該文件的內容為動態產生的,是透過/etc/update-motd.d這個資料夾下的script去run,依照類似init.d內的順序去跑

隨便執行00-header就會跑出Welcome to Ubuntu 12.04.4 LTS (GNU/Linux 3.5.0-47-generic x86_64)

 

vi 00-header,則會看到

[ -r /etc/lsb-release ] && . /etc/lsb-release

if [ -z “$DISTRIB_DESCRIPTION” ] && [ -x /usr/bin/lsb_release ]; then
# Fall back to using the very slow lsb_release utility
DISTRIB_DESCRIPTION=$(lsb_release -s -d)
fi

printf “Welcome to %s (%s %s %s)\n” “$DISTRIB_DESCRIPTION” “$(uname -o)” “$(uname -r)” “$(uname -m)”

 

其他的script依類推,可以去trace其他的file,

 

例如50-landscape-sysinfo是連接 /usr/share/landscape/landscape-sysinfo.wrapper

 

持續追蹤之後會發現主要的訊息是由 /usr/bin/landscape-sysinfo吐出來的

就可以看到用python寫的一支抓系統函數的程式

 

 

 

但trace這些是要幹嘛阿?…,其實沒有要幹嘛,可以加入自訂的訊息之外

還能看看別人寫的code,主要是這麼作能夠很快地知道要怎麼取得系統一些基本資料做學習

 

如果你只是想簡單的在motd下方加入你要的訊息,可以看一下99-footer這個腳本,可以找出只有一行code:

[ -f /etc/motd.tail ] && cat /etc/motd.tail || true

 

所以看來是讀取/etc/motd.tail這個檔案

 

預設是不存在的,你只要單純vi該檔案並且填入內容,就能夠簡單的附加資訊上去

若要用腳本去run,則就把你要run的自訂腳本加入/etc/update-motd.d資料夾底下。

Leave a comment

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料