由於NS2在跑模擬時,總是會遇到一些難以理解的錯誤...所以黃老師幫我們跟江清泉老師約在今天碰個面,希望他能為我們解開疑惑或是給個方向,在一個小時多的討論中,雖然沒有得到真正很明確的解決辦法~但是總算知道問題大概出在哪邊,目前最有可能發生錯誤的原因,是Memory被我們衝爆了(囧),所以江老師提供我們一個方法讓風哥可以即時的增加swap,以下為即時增加swap的方法:
Step1. dd if=/dev/zero of=/tmp/swap bs=1G count=20 (本來才2G的swap,打算多增加20G的swap)
Step2. mkswap /tmp/swap
Step3. swapon /tmp/swap
Step4. 若要在下次開機時能自動執行,則須在/etc/fstab加入下面那一行:
/tmp/swap swap swap defaults 0 0
革命尚未成功~同志仍須努力
End~~
2008年5月31日 星期六
2008年5月19日 星期一
vim自動顯示行號與對齊
在Linux中最普遍的文字編輯器就是vim,依下列的步驟就可讓vim會自動顯示行號,或是撰寫文件時每行會自動對齊. 步驟如下:
Step 1.
在家目錄產生.vimrc檔.
Step 2.
撰寫.vimrc內容為:
set nu (自動顯示行號)
set autoindent (自動對齊)
set smartindent (智能對齊)
set incsearch (逐步查詢)
Step 3.
存檔離開.之後每次使用vim,家目錄下的.vimrc就會被讀取.
End~
Step 1.
在家目錄產生.vimrc檔.
Step 2.
撰寫.vimrc內容為:
set nu (自動顯示行號)
set autoindent (自動對齊)
set smartindent (智能對齊)
set incsearch (逐步查詢)
Step 3.
存檔離開.之後每次使用vim,家目錄下的.vimrc就會被讀取.
End~
2008年5月15日 星期四
ㄧ個Terminal開啟多個分頁
在ㄧ般來說,要是針對不同資料夾或是檔案夾,同時進行修改或比對等動作,有可能會要同時開啟多個Terminal來work,但是現在只需開啟一個Terminal,並且下"screen",就可以在同一個Terminal下開啟多個分頁,就不用東開一個新的Terminal,西開一個Terminal了. 在啟動screen前先記得在家目錄產生一個名為".screenrc"的檔案,內容為:
caption always "%{= wk} %{= KY} [%n]%t @ %H %{-} %= %{= KR} %l %{-} %{= KG} %Y-%m-%d %{-} "hardstatus alwayslastline " %-Lw%{= Bw}%n%f %t%{-}%+Lw %= %0c:%s "bindkey ^[z prevbindkey ^[x next.
以下為啟動screen後的一些基本指令 (在下指令之前記得先按Ctrl+a喔~):
1. c: 新增一個新的分頁.
2. exit: 關閉當下分頁.
3. d:離開screen.
4. Alt+z/x: 開啟前一/後ㄧ的分頁.
5. 1~9: 直接切到指定的分頁.
6. Ctrl+a + Ctrl+g: 切換錯誤的提示的方式 (螢幕閃爍<->發出B聲)
若是做事做到一半離開screen,下次要登入screen時,在Terminal下"screen -r",登入screen後,則會延續上次登出時的狀態!!
End~
caption always "%{= wk} %{= KY} [%n]%t @ %H %{-} %= %{= KR} %l %{-} %{= KG} %Y-%m-%d %{-} "hardstatus alwayslastline " %-Lw%{= Bw}%n%f %t%{-}%+Lw %= %0c:%s "bindkey ^[z prevbindkey ^[x next.
以下為啟動screen後的一些基本指令 (在下指令之前記得先按Ctrl+a喔~):
1. c: 新增一個新的分頁.
2. exit: 關閉當下分頁.
3. d:離開screen.
4. Alt+z/x: 開啟前一/後ㄧ的分頁.
5. 1~9: 直接切到指定的分頁.
6. Ctrl+a + Ctrl+g: 切換錯誤的提示的方式 (螢幕閃爍<->發出B聲)
若是做事做到一半離開screen,下次要登入screen時,在Terminal下"screen -r",登入screen後,則會延續上次登出時的狀態!!
End~
2008年5月1日 星期四
tar壓縮解壓縮指令
壓縮檔案:
tar -czvf 壓縮封裝檔名稱.tar.gz 資料夾名稱--- 將 「資料夾名稱」 壓縮成為 「壓縮封裝檔名稱.tar.gz」壓縮檔.
tar -cjvf 壓縮封裝檔名稱.tar.bz2 資料夾名稱--- 將 「資料夾名稱」 壓縮成為 「壓縮封裝檔名稱.tar.bz2」壓縮檔.
解壓縮檔案:
tar -xzvf 欲解壓縮的檔名.tar.gz--- 解開 「檔名.tar.gz」壓縮封裝檔.
tar -xjvf 欲解壓縮的檔名.tar.bz2--- 解開 「檔名.tar.bz2」壓縮封裝檔.
各參數所代表的意思:
-c :建立一個壓縮檔案的參數指令(create 的意思);
-x :解開一個壓縮檔案的參數指令!
-t :查看 tarfile 裡面的檔案! 特別注意,在參數的下達中, c/x/t 僅能存在一個!不可同時存在! 因為不可能同時壓縮與解壓縮。
-z :是否同時具有 gzip 的屬性?亦即是否需要用 gzip 壓縮?
-j :是否同時具有 bzip2 的屬性?亦即是否需要用 bzip2 壓縮?
-v :壓縮的過程中顯示檔案!這個常用,但不建議用在背景執行過程!
-f :使用檔名,請留意,在 f 之後要立即接檔名喔!不要再加參數! 例如使用『 tar -zcvfP tfile sfile』就是錯誤的寫法,要寫成 『 tar -zcvPf tfile sfile』才對喔!
-p :使用原檔案的原來屬性(屬性不會依據使用者而變)
-P :可以使用絕對路徑來壓縮!
-N :比後面接的日期(yyyy/mm/dd)還要新的才會被打包進新建的檔案中!
--exclude FILE:在壓縮的過程中,不要將 FILE 打包!
reference: http://linux.vbird.org/linux_basic/0240tarcompress.php#tar
tar -czvf 壓縮封裝檔名稱.tar.gz 資料夾名稱--- 將 「資料夾名稱」 壓縮成為 「壓縮封裝檔名稱.tar.gz」壓縮檔.
tar -cjvf 壓縮封裝檔名稱.tar.bz2 資料夾名稱--- 將 「資料夾名稱」 壓縮成為 「壓縮封裝檔名稱.tar.bz2」壓縮檔.
解壓縮檔案:
tar -xzvf 欲解壓縮的檔名.tar.gz--- 解開 「檔名.tar.gz」壓縮封裝檔.
tar -xjvf 欲解壓縮的檔名.tar.bz2--- 解開 「檔名.tar.bz2」壓縮封裝檔.
各參數所代表的意思:
-c :建立一個壓縮檔案的參數指令(create 的意思);
-x :解開一個壓縮檔案的參數指令!
-t :查看 tarfile 裡面的檔案! 特別注意,在參數的下達中, c/x/t 僅能存在一個!不可同時存在! 因為不可能同時壓縮與解壓縮。
-z :是否同時具有 gzip 的屬性?亦即是否需要用 gzip 壓縮?
-j :是否同時具有 bzip2 的屬性?亦即是否需要用 bzip2 壓縮?
-v :壓縮的過程中顯示檔案!這個常用,但不建議用在背景執行過程!
-f :使用檔名,請留意,在 f 之後要立即接檔名喔!不要再加參數! 例如使用『 tar -zcvfP tfile sfile』就是錯誤的寫法,要寫成 『 tar -zcvPf tfile sfile』才對喔!
-p :使用原檔案的原來屬性(屬性不會依據使用者而變)
-P :可以使用絕對路徑來壓縮!
-N :比後面接的日期(yyyy/mm/dd)還要新的才會被打包進新建的檔案中!
--exclude FILE:在壓縮的過程中,不要將 FILE 打包!
reference: http://linux.vbird.org/linux_basic/0240tarcompress.php#tar
sftp 連線指令
若要利用sftp連至ip為XXX.XXX.XXX.XXX時,且對方的port設為YYYY. 則此時在terminal所下的指令為 "sftp -o PORT=YYYY 自己的帳號名稱@XXX.XXX.XXX.XXX" 即可.
以下為比較常用的指令:
1. 結束 SFTP: exit/quit
2. 變換遠方端伺服器的目錄: cd.
3. 更改檔案或目錄的權限: chmod.
4. 刪除檔案: del.
5. 刪除檔案: rm.
6. 列出遠方端伺服器目錄下的檔案名稱: dir/ls.
7. 下載檔案: get.
8. 上傳檔案: put.
9. 新增一個遠方端伺服器的目錄: mkdir.
10. 刪除遠方端伺服器的目錄: rmdir.
以下為比較常用的指令:
1. 結束 SFTP: exit/quit
2. 變換遠方端伺服器的目錄: cd.
3. 更改檔案或目錄的權限: chmod.
4. 刪除檔案: del.
5. 刪除檔案: rm.
6. 列出遠方端伺服器目錄下的檔案名稱: dir/ls.
7. 下載檔案: get.
8. 上傳檔案: put.
9. 新增一個遠方端伺服器的目錄: mkdir.
10. 刪除遠方端伺服器的目錄: rmdir.
2008年2月23日 星期六
重新安裝gcc
在上篇文章中提到對於NIST 其所release能支援mobility的ns-2.29,在編譯時所會遭遇的問題以及解決方法,但是整體來說大部分的問題是因為gcc版本的關係,所以這篇文章將描述如何安裝自己想要的gcc版本.
#gcc -v (可得到目前所用的gcc版本)
然後可以去ftp://ftp.ntu.edu.tw/pub/gnu/gnu/ (GCC在台灣的mirror)下載所想要的gcc版本.
下載完後,分別載console執行下列指令:
# tar -zxvf gcc-x.x.x.tar.gz
# mkdir gcc-build
# cd gcc-build
# ../gcc-x.x.x/configure --prefix=/usr/local/gcc-x.x.x --enable-threads=posix --host=i386-redhat-linux --with-system-zlib --enable-languages=c,c++,java
# make
# make install
# which gcc (查看原來的gcc所在的路徑)
# cd /usr/bin
# ln -s /usr/local/gcc-x.x.x/bin/gcc gccxx (gccxx是自己取的名子)
# ln -s /usr/local/gcc-x.x.x/bin/g++ g++xx
# ln -s /usr/local/gcc-x.x.x/bin/gcj gcjxx
(利用連結的方式,就可以分別使用gccxx, g++xx, gcjxx對C, C++, JAVA程式進行編譯,除此之外由於是利用連結的方式去取得gcc-x.x.x的gcc, g++, gcj, 所以還是可以使用本來舊版的gcc, g++等命令)
最後在.bashrc中的LD_LIBRARY_PATH加入/usr/local/gcc-x.x.x/lib
End~
#gcc -v (可得到目前所用的gcc版本)
然後可以去ftp://ftp.ntu.edu.tw/pub/gnu/gnu/ (GCC在台灣的mirror)下載所想要的gcc版本.
下載完後,分別載console執行下列指令:
# tar -zxvf gcc-x.x.x.tar.gz
# mkdir gcc-build
# cd gcc-build
# ../gcc-x.x.x/configure --prefix=/usr/local/gcc-x.x.x --enable-threads=posix --host=i386-redhat-linux --with-system-zlib --enable-languages=c,c++,java
# make
# make install
# which gcc (查看原來的gcc所在的路徑)
# cd /usr/bin
# ln -s /usr/local/gcc-x.x.x/bin/gcc gccxx (gccxx是自己取的名子)
# ln -s /usr/local/gcc-x.x.x/bin/g++ g++xx
# ln -s /usr/local/gcc-x.x.x/bin/gcj gcjxx
(利用連結的方式,就可以分別使用gccxx, g++xx, gcjxx對C, C++, JAVA程式進行編譯,除此之外由於是利用連結的方式去取得gcc-x.x.x的gcc, g++, gcj, 所以還是可以使用本來舊版的gcc, g++等命令)
最後在.bashrc中的LD_LIBRARY_PATH加入/usr/local/gcc-x.x.x/lib
End~
訂閱:
文章 (Atom)