小兔的筆記本

Just another WordPress.com weblog

Archive for the ‘Linux’ Category

在Linux下關閉純文字介面的螢幕保護

Posted by Tsukino Usagi 於 十二月 13, 2007

Linux主機可以按照需求選擇純文字介面來使用, 若將系統調校成開機時不進入XWindow, 開機之後會進入純文字模式, 預設情況下, 閒置一段時間之後螢幕會整個變黑(但是螢幕電源還在), 若是想關閉這個功能, 執行:

setterm -powersave off -blank 0

即可(一定要在本機執行, 遠端ssh進去執行沒有作用).

要是想每次開機執行此指令, 以Ubuntu 7.10為例, 修改/etc/init.d/bootmisc.sh, 在大約第68行的地方改成像下面這樣(必須先變身成root):

case "$1" in
  start|"")
        do_start
        setterm -powersave off -blank 0
        ;;

即可.

其他有/etc/rc.d/rc.local的Linux distrobution則寫在該檔的最後一行即可.

其實這種半調子的「螢幕保護」方式害我好幾次沒注意到螢幕還開著….

廣告

Posted in Linux | 已加上的標籤: , , , , | 2 Comments »

iftop介紹

Posted by Tsukino Usagi 於 七月 5, 2007

iftop是許多top-like程式的其中一個, 主要用途是用來即時監看網路狀態.

安裝(以Ubuntu 7.04 Feisty為例):

$ sudo apt-get install iftop

執行(必須以root身份):

$ iftop

查看ppp0網路介面的即時流量:

$ iftop -i ppp0

以位元組(bytes)為單位顯示流量(預設是位元bits):

$ iftop -B

直接顯示IP, 不進行DNS反解:

$ iftop -n

直接顯示連接埠編號, 不顯示服務名稱:

$ iftop -N

其他參數可下 iftop -h 看說明.

進入iftop畫面時, 可按 p 切換是否顯示連接埠, n 切換顯示IP或主機的domain name, N切換顯示連接埠代號或名稱, p暫停顯示, b切換是否顯示長條, B切換計算幾秒內的平均流量, 其他按鍵可以按h觀看說明.

設定檔的位置在~/.iftoprc , 關於設定檔的寫法可以參考 iftop 的 info page.

Posted in 網路, Linux | 5 Comments »

pwgen介紹

Posted by Tsukino Usagi 於 十一月 5, 2006

pwgen可以用來產生適合作為密碼的亂數字串, 遇到需要設定或更改密碼的時機時, 可以用它產生密碼並背下來.

安裝(以Ubuntu 6.10 Edgy為例):

$ sudo apt-get install pwgen

用預設值產生密碼:

$ pwgen

產生10組長度為6字元的密碼:

$ pwgen 6 10

密碼裡不要有大寫字元:

$ pwgen -A

密碼裡至少有一個符號字元:

$ pwgen -y

密碼裡不要有容易混淆的字元(例如小寫的「l」和數字的「1」等等):

$ pwgen -B

其他用法可下 pwgen --help 看說明.

Posted in 系統安全, Linux | Leave a Comment »

md5deep介紹

Posted by Tsukino Usagi 於 十一月 1, 2006

md5deep是用來產生及檢驗檔案MD5檢查碼的工具, 比傳統的md5sum指令好用.

安裝方式(以Ubuntu 6.10 Edgy為例):

$ sudo apt-get install md5deep

計算aaa目錄下所有檔案的MD5並存成aaa.md5:

$ md5deep -l -r aaa > aaa.md5

同上, 但是以binary方式計算:

$ md5deep -k -l -r aaa > aaa.md5

比對 *.iso 檔的MD5是否跟 xxx.md5 裡的MD5是否一樣, 並列出比對無誤的檔案:

$ md5deep -m xxx.md5 *.iso

同上, 但列出比對時發現錯誤的檔案:

$ md5deep -x xxx.md5 *.iso

同上, 但列出比對時發現錯誤的檔案時也一併列出該檔的MD5:

$ md5deep -X xxx.md5 *.iso

同上, 但比對過程中顯示進度:

$ md5deep -e -X xxx.md5 *.iso

其他參數可下 md5deep -hinfo md5deep查看說明.

Posted in Linux | Leave a Comment »

Ubuntu 6.10 Edgy + VMware Tools

Posted by Tsukino Usagi 於 十月 29, 2006

VMware 5.5.2 官方有支援 Ubuntu 6.06, 但還沒支援 6.10, 但至少不用 any update 了, 至少我測試過是這樣.

本文將解說如何在 Ubuntu 6.10 裡安裝 VMware Tools, 搭配的 VMware 版本是 Workstation 5.5.2 build 29772.

  1. 在 VMware 裡安裝好 Ubuntu 6.10 之後, 先將網路設定好, 讓虛擬的機器能連上 Internet.
  2. 設定 root 的密碼, 先下
    $ sudo -s -H
    指令, 輸入目前登入的帳號的密碼, 之後下
    $ passwd
    來變更 root 的密碼, 往後就可以直接用 su 指令變身成 root.
  3. 更新 apt 資料庫, 先以 root 的身份下以下這些指令
    $ cd /etc/apt
    $ wget http://apt.ubuntu.org.tw/sources.list.dapper
    $ mv sources.list sources.list.original
    $ mv sources.list.dapper sources.list

    接著用 vim 或其他慣用的文字編輯器打開 /etc/apt/sources.list 檔, 將所有的 dapper 字串取代成 edgy, 然後大約在第 21 行的地方找到「deb http://apt.ubuntu.org.tw ubtw-edgy/」先註解掉或刪除, 因為 apt.ubuntu.org.tw 主機上目前沒這個目錄, 編輯完成, 存檔之後, 下
    $ apt-get update

    指令更新來源.
  4. 安裝 VMware Tools 的過程會編譯 kernel module, 會需要一些 packages, 下這些指令將它們安裝上去:
    $ apt-get install linux-headers-`uname -r` build-essential
  5. 將 VMware Tools 的 tarball 拷貝到虛擬機器裡, 將處擬機器的光碟機掛載上 VMware 的 .iso 檔, 可以直接在 VMware 的主視窗功能表裡選擇 VM→Install VMware Tools.

  6. $ cd /media/cdrom0
    $ ls

    看看有沒有 VMware Tools 的 tarball, 沒有的話試試手動 mount 看看.
  7. 下這些指令:
    $ cd /tmp
    $ tar zxvf /media/cdrom0/VMwareTools-5.5.2-29772.tar.gz
  8. 安裝 VMware Tools:
    $ cd /tmp/vmware-tools-distrib/
    $ ./vmware-install.pl

    當安裝程式問你是否要執行 vmware-config-tools.pl 時, 回答 yes.
  9. 跑 vmware-config-tools.pl 時, 所有問題都可以按 Enter 使用預設值, 它會自動偵測 kernel header 的路徑並編譯需要用到的 kernel modules.
  10. 安裝程式會詢問 X 環境的預設解析度, 留意一下, 若出現「No X install found」或其他訊息, 代表設定不成功.
  11. 下這些指令重新啟動網路介面:
    $ /etc/init.d/networking stop
    $ rmmod pcnet32
    $ rmmod vmxnet
    $ depmod -a
    $ modprobe vmxnet
    $ /etc/init.d/networking start
  12. 編輯 /etc/X11/xorg.conf 大約第 55 行的地方, 把 mouse 改成 vmmouse.
  13. 將 vmware tools 漏裝的 vmmouse_drv.o 檔複製到正確路徑, 下這些指令:
    $ cp /usr/lib/vmware-tools/configurator/XOrg/6.8.x/vmmouse_drv.o /usr/lib/xorg/modules/input
    $ chmod 644 /usr/lib/xorg/modules/input/vmmouse_drv.o
  14. 登出之後, 按 Ctrl-Alt-Backspace 重新啟動 X 環境, 順利的話滑鼠指標可以在 VMware 和其他視窗之間來回移動 不需要按 Ctrl-Alt 才能將滑鼠指標從 VMware 裡移出來.
  15. 將整個系統更新:
    $ apt-get upgrade
  16. 清除垃圾檔案:
    $ apt-get clean
    $ rm -rf /tmp/*
  17. 作 Shrink 和保存 snapshot 的的動作, 在圖形介面下以 root 的身份執行 vmware-toolbox, 在 Shrink 頁籤裡選擇分割區並按 Shrink.
  18. 之後將虛擬機器關掉並建立 snapshot, 這樣就是一個可以作任何測試的 Linux 系統了.

參考資料:

Posted in Linux | 1 Comment »

cacti介紹

Posted by Tsukino Usagi 於 九月 15, 2006

cactirrdtool的一個frontend, 可以定時收集各種不同的資料並繪製成圖表, 例如網路流量, 主機的CPU, 記憶體, Processes狀況等等, 本文將解說如何在Ubuntu Dapper上架設cacti並繪製本機的網路流量圖表.

要安裝和設定的套件主要分成下列四大類:

  • snmpd: 透過SNMP通訊協定來提供網路流量的資料.
  • rrdtool: 向snmpd定時請求資料並繪製成圖表.
  • cacti: 圖表的設定和管理.
  • LAMP環境: 由於cacti它是web based的程式, 所以需要一個LAMP環境讓它運作.

以下指令全部都以root身份執行.

  1. 先安裝MySQL:
    $ apt-get install mysql-server
  2. 設定MySQL資料庫裡root的密碼:
    $ mysqladmin -u root password somepassword
    (somepassword請改成您想設定的密碼)
  3. 安裝Apache2和PHP5:
    $ apt-get install apache2 php5
    $ apt-get install php5-gd php5-cli
    $ apt-get install libapache2-mod-auth-mysql php5-mysql phpmyadmin
  4. 讓主機的首頁秀出Apache2的預設頁:
    $ vim /etc/apache2/sites-enabled/000-default
    將第17行「RedirectMatch ^/$ /apache2-default/ 」前的註解刪除, 並下
    $ /etc/init.d/apache2 restart
    讓設定值生效.
  5. 安裝snmpd:
    $ apt-get install snmpd
    接著編輯設定檔
    $ vim /etc/snmp/snmpd.conf
    大約第60行的地方, 改成像下面這個樣子:
    # sec.name source community
    #com2sec paranoid default public
    com2sec readonly default public
    #com2sec readwrite default private

    接著在大約第109行的地方, 編輯syslocation和syscontact, syslocation後面接主機的名稱, syscontact後面則接管理者的聯絡資料, 這兩樣設定只作識別用途, 可以隨意設定, 存檔後執行
    $ /etc/init.d/snmpd restart
    讓設定檔生效.
  6. 安裝cacti和rrdtool:
    $ apt-get install cacti
    設定套件時會詢問本機上MySQL伺服器的root的密碼, 輸入步驟2設定的密碼即可, 接著會在MySQL伺服器上建立名叫cacti的使用者, 並要求您設定cacti的密碼, 照著指示輸入即可, 最後會詢問主機上伺服器的類型, 請選apache2.
  7. 打開瀏覽器, 開啟 http://127.0.0.1/cacti/ 這個網址, 第一個畫面選擇next, 接下來會詢問安裝類型, 選new install並選next, 最後在確認程式路徑的畫面點finish即可.
  8. 接下來會秀出cacti的登入頁面, 帳號密碼都輸入admin並登入, 第一次登入時會要求修改密碼, 按照指示操作即可.
  9. cacti預設會將主機上的記憶體, 負載狀況, 登入帳號數和Processes數量繪製成圖表, 請先點左上角的graphs看看這些圖表能不能正常顯示, 要是過5分鐘之後還是沒有圖出現的話, 請修改/etc/php5/cli/php.ini, 找到「extension=mysql.so」並將註解刪除.
  10. 接著要在cacti裡啟用snmp功能, 在cacti的管理頁面上點選devices→localhost, 出現的頁面會有「SNMP Information」, 下面會有「SNMP not in use」的字樣, 找到snmp community的欄位, 填入public並點最下面的save存檔, 接著點選devices→localhost, 檢查「SNMP not in use」的字樣還在不在, 要是還在的話, 檢查一下snmpd相關的設定和服務有沒有正常.
  11. 接著要在cacti裡設定繪製圖表, 選devices→localhost, 在Associated Data Queries裡的add data query裡選snmp – interface statistics並點選Add, 接著看Data Query Name有沒有已經增加了剛才選擇的項目, 以及右邊是否為Success.
  12. 選擇Create Graphics for this Host, 在「Data Query [SNMP – Interface Statistics]」下面應該會出現本機上所有的網路介面(跟ifconfig -a指令輸出的結果一樣), 勾選要繪製圖表的網路介面, 並在「Select a graph type:」裡選擇圖表類型(建議選「In/Out Bytes with Total Bandwidth」)並按最下方的Create.
  13. 接著點選上方的graphs, 應該可以看到新建的圖表項目, 正常的話, 5分鐘之後就可以看到繪製的圖表, 您也可以隨便瀏覽一下網頁或下載檔案來製造流量, 觀察cacti繪製出來的圖表是否正確.
  14. 一切都正常的話, 可以將graphs這一頁的網址加入書籤, 方便往後隨時查看流量, 若是要修改圖表相關的設定, 則從「http://127.0.0.1/cacti/」登入後進行修改, 當然也可以遠端登入操作.

參考資料:

Posted in 系統管理, 網路, Linux | 1 Comment »

在Linux下使用多媒體鍵盤調整音量

Posted by Tsukino Usagi 於 八月 24, 2006

在Linux下要使用多媒體鍵盤調整音量, 可以透過actkbd和amixer 這兩支程式達成, 本文說明在Ubuntu 6.06.1 Dapper下使用這兩支程式的方式. Ubuntu本身的套件庫裡沒有actkbd, 因此需要自行下載原始碼回來編譯, 而amixer是alsamixer的一部份, Ubuntu預設會安裝, actkbd是用來偵測多媒體鍵盤的按鍵狀態並執行指定的指令, 而amixer則是用來調整音量的指令.

各個機器上的多媒體鍵盤和音效設備都不相同, 因此本文有可能不適用於您的環境.

1. 若之前沒有從原始碼的tarball安裝程式, 先安裝好編譯程式需要的packages:
$ sudo apt-get linux-headers-`uname -r`
$ sudo apt-get build-essential

2. 下載actkbd的原始碼回來並編譯:
$ wget http://www.softlab.ece.ntua.gr/~thkala/projects/actkbd/files/actkbd-0.2.7.tar.bz2
$ tar xvfj actkbd-0.2.7.tar.bz2
$ cd actkbd-0.2.7
$ make

3. 安裝:
$ sudo make install

4. 載入多媒體鍵盤會用到的kernel module:
$ sudo modprobe evdev

5. 測試鍵盤按鍵:
$ sudo actkbd -n -s
接著試著按按看多媒體鍵盤上的音量調整鍵(或者是轉盤), 以及切換靜音的按鍵, 若actkbd有偵測到, 畫面上會跑出一堆數字, 每個按鍵對應的數字是固定的, 把各個要設定的按鍵和對應的數字抄下來, 以我的環境為例, 音量調大的按鍵是115, 調小是114, 靜音是113.

6. 測試音量的指令:
音效若有正常驅動, 應該就能用amixer這個指令, 下
$ amixer scontrols
指令來查看有哪些裝置的音量可以調, 通常主音量是Master, 之後可以打開另一個可以調整音量的程式, 或開任何一個程式播放一首歌, 同時下這些指令聽看看有沒有作用, 例如音量調大是:
$ amixer sset Master 1+
音量調小是:
$ amixer sset Master 1-
切換靜音是:
$ amixer sset Master toggle

7. 編寫設定檔:
$ sudo vim /etc/actkbd.conf
內容如下:

114:key::amixer sset Master 1-
115:key::amixer sset Master 1+
113:key::amixer sset Master toggle

設定檔的格式是「按鍵代碼:事件類型:屬性:指令」, 詳細說明可以參考actkbd的README

8. 啟動:
$ sudo actkbd
然後測試一下按鍵, 沒問題的話應該就能正常使用這些按鍵來調整音量, 之後可以按Ctrl+C離開, 並下:
$ sudo actkbd -D
指令讓它在背景執行即可.

Posted in Linux, 多媒體 | Leave a Comment »

在cnews+nntp上加上email post功能

Posted by Tsukino Usagi 於 七月 30, 2006

本文說明如何利用newsgate裡的mail2news來達到email post to news的目的, 在進行下面的操作之前, 要先在Ubuntu 6.06 Dapper裡架設好postfix和cnews+nntp, cnews+nntp的設定方式可以參考這篇文章.

  1. 安裝newsgate和procmail, 以root的身份執行:
    $ apt-get install newsgate procmail
  2. 設定postfix的四個設定檔, 在/etc/postfix/main.cf裡加上:
    transport_maps = hash:/etc/postfix/transport
    virtual_alias_maps = regexp:/etc/postfix/virtual
  3. 在/etc/postfix/master.cf裡加上:
    newsmail unix - n n - - pipe
    flags=FR user=news argv=/usr/bin/procmail -a ${mailbox} -a mail2news -d news

    第一行每段文字用tab作分隔, 第二行的flags前面要有個tab, 之後每段文字用「空白」作分隔.
  4. 在/etc/postfix/transport裡加上:
    newsmail.yourhostname newsmail:
  5. 在/etc/postfix/virtual裡加上:
    /^(.+)\.news@/ $1@newsmail.yourhostname
  6. 產生.db檔, 以root的身份執行:
    $ postmap /etc/postfix/transport
    $ postmap /etc/postfix/virtual
  7. 以news的身份編輯~/.procmailrc:
    $ su news
    $ vim ~/.procmailrc

    , 內容如下:
    :0 bhH
    * ^To: [a-z0-9.]*.news@
    | /usr/bin/$2 -n $1 -d news -o 'mail2news gateway' -x internet
  8. 重新啟動postfix:
    $ /etc/init.d/postfix restart
  9. 之後發一封信到主機上看看, Email的寫法是「群組名稱」.news@「主機名稱」, 例如要在group.blah這個群組裡發表文章, 那Email位址就要寫成group.blah.news@yourhostname ,信發完之後不會馬上就出現在newsgroup裡, 要等crond跑過cnews之後才會出現.

Posted in 網路, Linux | Leave a Comment »

在Ubuntu 6.06 Dapper上架設Usenet News Server

Posted by Tsukino Usagi 於 七月 30, 2006

本文說明如何在 Ubuntu 6.06 Dapper 的環境下架設一個簡易的 Usenet News Server, 使用的是 cnews .

  1. 以root的身份安裝cnews和nntp:
    $ apt-get install cnews nntp
    安裝的過程會問主機名稱, 按Enter即可.
  2. Ubuntu的package似乎漏裝了一個symblic link, 要手動補上去, 以root的身份下這些指令:
    $ cd /var/lib/news
    $ ln -s /etc/news/whoami whoami
  3. 開新的newsgroup, 用su news指令以news這個帳號去執行:
    $ su news
    $ cd /usr/lib/news
    $ ./cnewsdo addgroup group.usagi.test y
  4. 在本地端發表文章作測試, 以news身份執行:
    $ export EDITOR=vim
    $ ./postnews

    執行postnews之後會問文章要發表在哪個newsgroup, 輸入步驟3開設的名稱, 之後它還會問文章標題, 隨便亂打即可, 之後就開啟編輯器讓你寫文章內容, 寫完之後存檔即發表完成. 另外, 若您有慣用的文字編輯器, 也可以把EDITOR環境變數換成其他的指令, 不一定要用vim.
  5. cd到/var/spool/news/in.coming底下ls看看, 應該會有檔名像 0.11542507380.t 的檔案.
  6. 等crond跑過cnews之後(預設每15分鐘執行一次), 文章檔案會跑到/var/spool/news/group/usagi/test底下, 檔名會被改成數字依序編號.
  7. 設定nntp服務開放的主機, 以root的身份編輯/var/lib/news/nntp_access, 檔案內容像是這樣:
    default xfer no
    每列第一欄是主機的IP位址或DNS, 像*.tw *.edu.tw *.net 192.168.* 192.168.1.1 192.168.1.* 這種寫法都可以, 但像192.168.0.0/255.255.255.0 192.168.0.0/24這種寫法卻不行. 第二欄是設定read/xfer/both/no, read是可以讓人下載文章, xfer是可以讓其他的news server取信或餵信, both是兩者皆可, no是兩者皆不可. 第三欄是設定post/no, post是可以讓人發表文章, no則是禁止. 這個檔案裡, default這一行一定要在最前面, 利用這個檔案甚至可以針對特定newsgroups設定讀寫權限, 可以參考一下設定檔裡的範例.
  8. 改完之後, 可以使用其他News Client(例如Thunderbird或Outlook Express)連線測試, 看看下載newsgroups清單, 訂閱, 接收文章標題內容, 發表文章之類的功能是否正常(發表文章必須透過SMTP伺服器, 這不是nntp能力所及的範圍, 可以找現有的SMTP伺服器作測試, 或者在主機上另外架設postfix或其他類似的服務).

Posted in 網路, Linux | 1 Comment »

xrandr 介紹

Posted by Tsukino Usagi 於 七月 11, 2006

xrandr指令可以用來改變X環境的桌面大小和螢幕頻率.

把桌面解析度調成1024×768:

$ xrandr -s 1024x768

把螢幕頻率調成75Hz

$ xrandr -r 75

列出目前環境支援的解析度和頻率

$ xrandr -q

它列出的訊息, 每行的第一個數字可以用來指定給 -s 參數, 假設有一行這麼寫

20 640 x 480 ( 347mm x 260mm ) 75

那麼下

$ xrandr -s 20

時, 就會把螢幕調成 640×480 大小, 頻率75Hz

如果有數個X環境同時運作的話, 可以用 -d 參數去調整別的X環境, -d 後面加的是像 :0 :1 :2 這樣, 例如:

$ xrandr -s 800x600 -d :0

Posted in Linux | Leave a Comment »