2009-11-12

【系統】Ubuntu : telnet ptt.cc 一堆亂碼!!

0 comments

上次有人提到說在 Ubuntu 上用 telnet 連 ptt.cc 會出現亂碼。

不過我沒在玩 ptt ,所以都沒發現。

結果今天試了一下,真的是亂碼。

這個一定又是編碼的問題了,查了一下解決的方式如下,

因為系統預設是 UTF-8 的環境,如果要連到 Big-5 的 BBS 站台,

就要透過 luit 來指定編碼:

chingwei@chingwei-laptop:~$ luit -encoding big5 telnet ptt.cc

然後就看的到正常的內容了,雖然上面的圖有點怪怪的,不過至少文字都會是正常了。

PS. luit - Locale and ISO 2022 support for Unicode terminals

 

另外,其實設定 Terminal 的編碼就可以了。但我之前設沒成功,所以才寫了這文章。

結果後來聽子翔說可以,回家又試了一次,結果這次可以了…真是見鬼。

不管~~把方式也貼上來吧,這個比較 Easy:

Terminal > Set Character Encoding > 選 Chinese Traditional (BIG5)。

如果沒有 BIG5這個選項,就用 Add or Remove 來增加。



2009-11-09

【系統】SUSE : NFS Server

0 comments

簡單的大概講一下 NFS Server 的設定及使用。

Server : 10.1.1.1

Client : 10.1.1.2

 


先在 Server 安裝 nfs
# zypper in nfs-utils
或是 ( By Garlic )
# zypper in nfs-kernel-server

 

接著設定
# vi /etc/exports
/home/PXE/linux 10.0.0.0/8(ro,no_root_squash,async)

設定開機就啟動
chkconfig nfsserver 35

以上 Server 的設定完成


 

接著 Client 的部份

執行
# showmount -e 10.1.1.1
會顯示有那些可以 Mount

接著執行 Mount
# mount 10.1.1.1:/home/PXE/linux  /tmp/linux

如果要設定開機就自動掛載 NFS 的檔案。可以在 /etc/fstab 中設定
# vi /etc/fstab
10.1.1.1:/home/PXE/linux   /tmp/linux nfs defaults 0 0

以上完成

更詳細的內容可以參考:柏青哥-第十五章 架 設 NFS 及 NIS Server

2009-11-04

【系統】SVN 筆記 - 進階指令

0 comments

之前寫了一篇 : 【系統】SVN 筆記 - 基本指令

現在要再說明的是怎麼從 Trunk 建一個 Branch,

然後開發完後,再從 Branch Merge 回 Trunk。

所以其實也不算是進階,只是之前都說基本了~所以第二篇只好叫進階。

 


首先從 Trunk 上把目前的 Project 複制一份到 Branches ( ex: 091023-login )

svn cp svn+ssh://chingwei@trac.net/home/svn/trunk/project svn+ssh://chingwei@trac.net/home/svn/branches/091023-login -m '新版登入功能'

這樣子就建好 Branch 了。然後就 check out 出來開始撰寫新的功能。

svn co svn+ssh://chingwei@trac.net/home/svn/branches/091023-login

以上,從 Trunk 複制一份到 Branch 就完成了。

 


接著就是當程式開發完,要 Merge 回原來的 Trunk 時,要執行的步驟了。

首先看一下建 Branch 時的版本是多少。

svn log --stop-on-copy svn+ssh://chingwei@trac.net/home/svn/branches/091023-login

------------------------------------------------------------------------
r6953 | chingwei | 2009-10-21 14:40:12 +0800 (Wed, 21 Oct 2009) | 1 line
------------------------------------------------------------------------
r6951 | chingwei | 2009-10-21 14:39:19 +0800 (Wed, 21 Oct 2009) | 1 line
------------------------------------------------------------------------
r6950 | chingwei | 2009-10-21 14:38:49 +0800 (Wed, 21 Oct 2009) | 1 line
------------------------------------------------------------------------

結果看到最開始的是 r6950

 

接著將目前的工作目錄切換成 Trunk :

svn switch svn+ssh://chingwei@trac.net/home/svn/trunk/project

 

然後將 Branch 的起始版本號開始,將程式 Merge 到目前的工作目錄 ( Trunk )。

svn merge --dry-run -r 6950:HEAD svn+ssh://chingwei@trac.net/home/svn/branches/091023-login

--dry-run 表示乾跑,就是假的,他會顯示有那些檔將被 update 或是有 conflict 之類的。

 

當確定這些都沒問題,就正式 Merge 把 --dry-run 拿掉:

svn merge -r 6950:HEAD svn+ssh://chingwei@trac.net/home/svn/branches/091023-login


Merge 完後,就可以把現在的程式,再 ci 上去 SVN。

svn ci

 

以上。

2009-11-01

【系統】SUSE : 開機時自動 Mount ISO 檔

0 comments

做過二三次,但每次要再做,都會又忘掉。

這裡來記錄一下。

# vi /etc/fstab
/dev/sda2            swap         swap        defaults              0 0
/dev/sda1            /               reiserfs    acl,user_xattr      1 1
/dev/sda3            /home        reiserfs    acl,user_xattr      1 2
/iso/sles.iso       /tmp/sles   iso9660   defaults,loop,ro   0 0

記得 mount 的目錄要先建好。

要測試可以下 mount -a 或 mount /tmp/sles

然後再執行 mount 看結果。


補充--來源:柏青哥的 SuSE Linux - 5.3 設定開機自動掛載 <- 很棒的站

以下分別從第一至第六欄位依序做介紹:

  1. 裝置名稱
    分割區的裝置名稱,一般是使用 /dev/hdax (如 hda1、hda2、…) 或 /dev/sdax 來做設定,當然也可以使用 fs label 的方式來代替 device-name。
  2. 掛載點
    這個應該不成問題。
  3. 檔案系統類型
    指出此裝置的檔案系統為何。比較有意思的是 Floppy 在這個地方設定成 auto,這就類似於在命令列上執行 mount 時,未使用 -t 參數來指定檔案系統類型的意思差不多,也就是會根據 /etc/filesystems 來找尋合用的檔案系統,而該檔內容中,如於最後一行出現「*」,則表示會去讀取 /proc/filesystems,以套用合適的類型 (有 nodev 標籤的除外)。
  4. 掛載參數 (options)
    就是在 mount 指令中所介紹的那些選項,請自行參考 mount 那邊的說明。當這個欄位指定為 noauto 者,表示在開機過程不會自動掛載這些檔案系統。另外 acl (Access Control Lists) 及 user_xattr (Extended User Attributes) 這兩個選項,是用來讓該檔案系統支援存取控制表及檔案延伸屬性的。
  5. 備份 (dump)
    dump 是用來對 ext2 檔案系統進行備份的指令,而 dump 會根據 /etc/fstab 檔案中這個欄位的設定,來決定備份與否。當設定成 0,表示不做備份,那如果設定成 1,就表示要備份。
  6. 磁碟檢查 (fsck)
    設定系統開機時,fsck 程式執行檔案系統檢查的順序。其值可設定成 0、1 或 2﹔設定成 1,表示該檔案系統是在開機過程中,最優先做磁碟檢查的,由於根檔案系統須先於其它檔案系統作磁碟檢查,故應設為 1。而 root partition 以外的其他 Linux native partition 則設為 2,代表著根檔案系統檢查完畢後,接著也會對這些檔案系統進行檢查。至於非 Linux native 者就設成 0,表示 fsck 程式不會對這些檔案系統進行檢查。

    這裡還有一個地方要注意,以 ext2 來說,如果上一次您是正常關機的話,則在這次開機時並不會做 fsck,除非是不正常關機,或已到檔案系統最大掛載次數,或距上次執行 fsck 的時間間隔已到時,才會在下次開機時強迫做磁碟檢查。

2009-10-30

【軟體】Ubuntu : K3b - 燒錄軟體

0 comments

今天 Ubuntu 9.10 終於 Release 了。

之前在 upgrade 的時候,重開機後,就整個畫面變黑了。

今天就抓了 ISO 檔,要燒起來回家灌。

所以就裝了 K3B 這個燒錄軟體。

sudo apt-get install k3b

安裝完後,可以在 Applications > Sound & Video > K3b 執行

下面列出我燒錄 Ubuntu 9.10 的步驟。


開啟後,選擇 Burn CD Image。

就會看到下面的畫面,接著選擇 映像檔 ( Image )

選擇剛下載的 ubuntu-9.10-desktop-i386.iso ,按 OK

選擇好後的畫面如下。按 Start 就可以開始燒錄了。

下面這張是燒錄時的畫面。

最後顯示成功。

假日就可以好好灌 Ubuntu 9.10 來玩了。

2009-10-29

【系統】Ubuntu : 查看系統資訊 by Command

0 comments

記錄一下怎麼在 Terminal 下,利用指令查出系統的部份資訊。


查看 Ubuntu 的版本:
lsb_release -a

or

cat /etc/issue

 

Linux Kernel 的版本:
uname -a

 

CPU 資訊
cat /proc/cpuinfo

 

MEM 資訊
cat /proc/meminfo

 

查看記憶體使用情形
free

free -m (以 MB 的方式顯示)

 

顯示卡型號
lspci | grep VGA

 

以上先醬子~

GUI 版請見: 【軟體】Ubuntu : Sysinfo - 查看系統資訊

【系統】Ubuntu : 限制網路頻寬

0 comments

如果在家有養小動物的習慣的話,

就要注意一下,不要讓你的小動物把家裡的頻寬都吃光光了~~

這時候就可以利用 wondershapertrickle 來限制網路頻寬。

安裝方式:

sudo apt-get install wondershaper

sudo apt-get install trickle

 

wondershaper 的使用方式如下:

  • wondershaper eth0 download upload
    ex: wondershaper eth0 10000 500
    限制 eth0 下載 10000 kb/s 上傳 500 kb/s
  • wondershaper clear eth0
    取消限制
  • wondershaper eth0
    看網卡目前的狀況

trickle 的使用方式如下:

  • trickle -u 10 -d 20 ncftp
    限制 ncftp 上傳 10 KB/s 下載 20 KB/s

 

小結:

wondershaper 是限制整張網卡。

trickle 則是針對某個 Service。

 

不過我用 trickle 對我家的小毛驢做限制時,不準他吃太多的時候。

過一會,他就死給我看……所以最後我是用 wondershaper....

 

2009-10-28

【系統】Linux : glxgears - 測試顯示卡效能

0 comments

一個簡單測一下你顯示卡跑 3D 效能的小東西。

Usage:
  -display   set the display to run on
  -stereo                 run in stereo mode
  -fullscreen             run in fullscreen mode
  -info                   display OpenGL renderer info
  -geometry WxH+X+Y       window geometry

也可以直接輸入 glxgears 就會開始測了,

我的顯示卡是 nVidia GeForce 8400 GS。

測出來的值大概是 3000 FPS。

好弱……我看到別人都說他們有 8000 10000…相比之下,實在是太弱了。

如果加上了 -fullscreen。跑出來的值更只剩下 150… 真吐血……

2009-10-27

【軟體】JMeter - 壓力測試 - 進階版

0 comments

從我寫了: 【軟體】JMeter - 壓力測試 - 簡單版 ,已經過了快一年了。天呀~~

時間過的真快。今天終於又跨出一步,寫了 進階版。

但也都只是照著 Garlic 的 PPT 一步一步來而以,哈~~

這次的進階版主要是說明 錄製( Recording Controller)設定變數(CSV Data Set)這二部份。

JMeter的版本是 2.3.4

OS 是 Windows XP

接著大家就看圖吧~~看圖最清楚了。如果圖很小的,點擊後就會看到大張的原圖。


Test Plan > Add > Thread Group

Thread Group > Add > Logic Controller > Recording Controller
 

WorkBench > Add > Non-Test Elements > HTTP Proxy Server

接著開啟 IE,將 Proxy 設定成 localhost 8080

然後回到 JMeter,在 HTTP Proxy Server 裡的 URL Patterns to Exclude 加上過濾的條件,將不必要的資訊Skip掉,像是 jpg, gif, css, etc...加好後,就按下面的 Start ,開始錄製動作。
接著你在 IE 輸入你要測試的網頁,點擊對應的動作,這些都會被錄下來,錄好後,就按 STOP。

接著將 Recording Controller 打開後,就會看到錄下來的每一個動作。
到此為止,錄製的部份算是搞定了。

 


接著加入一些 Listener,這樣子就可以看到執行後的結果。
Thread Group > Add > Listener > Assertion Results (這個…是拿來驗証結果的,我這次沒用到,可以不加)

 

Thread Group > Add > Listener > View Result in Table

Thread Group > Add > Listener > View Result Tree


接著是 CSV Data Set 的部份,首先先準備好一份 CSV 的資料。(檔名請全部小寫)
如果是多欄的資料,從中間加上 " , " 分隔

Thread Group > Add > Config Element > CSV 資料設定 (這裡居然沒有翻譯成英文… CSV Data Set )

檔名: c:\test.txt
變數名稱:userid (如果有多欄則 userid, name, password ......)

接著就是要將這些 Data 應用到你錄製的動作中了。點擊你錄製好的 HTTP Request,將變數放到要替換的地方。
下面這張圖裡的 Path 本來是 /chingwei ,我換成 /${userid}

不止是 Path,你也可以改送出的 Param,下面這張圖裡的 uid 本來是 chingwei ,我換成 ${userid}
至此,CSV Data Set 也完成了。


接著就是執行了,在 Thread Group,你可以設定你想要的 users, in seconds, forever等參數。然後按下主選單的 Run > Start
就會開始做壓測了。

最後來看看結果,點擊 View Results Tree,可以看到餵進去的資料,真的有作用。
如果把 Errors 打勾,就只會抓有錯誤的資料。

 

以上~

2009-10-26

【系統】Linux : Sort 指令

0 comments

Sort 指令,可以在 Shell 下,簡單的對資料作排序。

列如

df | sort -n -r -k 5

就可以查看目前的使用空間,那一個是最高的。

上圖的結果是 /dev/sda5 最高,用了 84%

-n 是表示當成數字來排序

-r 將結果反過來

-k 指定要排序的欄位

 

照檔案大小來排序:

ls -l | sort -n -r -k 5