顯示具有 安裝 教學 標籤的文章。 顯示所有文章
顯示具有 安裝 教學 標籤的文章。 顯示所有文章

2009年11月17日

在 ubuntu/debian 中安裝 QualNet 4.5

因為 NS-2 似乎不太能滿足我的要求,因此我轉而向 QualNet 來求助。

然後因為我是喜歡嘗鮮的人,因此我安裝 QualNet 的 OS 是 Ubuntu 10.4 daily-build-20091116
1. 安裝好之後,請先解壓縮 QualNet 的壓縮檔
tar zxvf qualnet-4.5-evaluation.tar
2. 接著請安裝 java,請到 sun 網站下載後執行
./jdk-6u17-linux-i586.bin
3. 接著請設定環境變數
export JDK_HOME=/usr/local/share/jdk1.6.0_17
export QUALNET_HOME=/usr/local/share/qualnet/4.5
export PATH=$JDK_HOME/bin:$QUALNET_HOME:$PATH
4. 請到 QUALNET_HOME/main 的目錄底下,選擇您的 OS 並 make。(底下有很多各 OS 用的 makefile)
make -f Makefile-linux-glibc-2.3-gcc-4.0
5. 如果我的 ubuntu 是最新版,所以內建的 gcc 是 4.4,不過 make 的時候會產生錯誤,因此請裝回 4.1
aptitude install gcc-4.1 g++-4.1
6. 安裝完 g++-4.1 之後,請記得去改 Makefile-unix-common 中的 CC 和 CXX,將 gcc 和 g++ 改為 gcc-4.1 和 g++-4.1
#
# Define compilers.
#
CC = gcc-4.1
CXX = g++-4.1
7. 再次 make 會出現「ld cannot find -lexpat 的錯誤」,這時請在安裝 libexpat1 套件。
aptitude install libexpat1-dev
8. 再度 make,這次理論上就沒有任何問題了,檢查一下你的 QUALNET_HOME/bin 底下有沒有 qualnet 的執行檔。

2009年11月16日

在 Debian/Ubuntu 下建立 PSP 開發環境

由於最近入手了一台 PSP 2007,然後感覺在 PSP Programming 是件非常有趣的事情,所以就特地 google 了教學。雖然還沒有開始 coding,不過在第一次建置 PSP 開發環境的時候就順便寫了這篇教學。(主要的內容 reference from here
如果你用 windows 似乎可以使用這套軟體來解決一切,不過我比較喜歡在 Linux 上面玩~(Mac OS Leopard 的流程大同小異,不過我的 Macbook 不在我手邊,所以沒辦法測試。)

1. 首先請安裝下列套件
aptitude install autoconf automake bison flex gcc libgmp3-dev libmpfr-dev libusb-dev libncurses5-dev libreadline5-dev make patch subversion texinfo wget
2. 設定環境變數
export PSPDEV=/usr/local/pspdev
export PSPSDK=$PSPDEV/psp/sdk
export PATH=$PATH:$PSPDEV/bin:$PSPDEV/psp/bin:$PSPSDK/bin
3. 取得 PSPSDK 的 psptoolchain 套件
svn co svn://svn.ps2dev.org/psp/trunk/psptoolchain
4. 編譯
chmod a+x ./toolchain-sudo.sh
sudo ./toolchain-sudo.sh
5. 沒意外的話就等他慢慢編譯吧,我用一台 ubuntu-server 2.6 on P4 大約跑了 30 分鐘。
6. 接著請在 $PSPSDK/samples 目錄底下挑一個 sample 進去 make
7. 看到 EBOOT.PBP 產生就 OK 啦。

2009年11月11日

GOLANG:google 的程式語言:安裝

剛好看到最近 google 發布了自己開發的程式語言 go,擁有 c/c++/python 的特性,因此我就特地灌來玩玩。

官方網站在這 The Go Programming Language,基本上裡面也有安裝和教學,不過我自己實做的時候發現少了一兩步,google 之後才發現有另外的解法。

以下的實做系統是 Ubuntu 9.04 2.6.28 32bit

根據官方網站 How To 中的 Install Go

1. 必須先在環境變數中加入底下四個變數

$GOROOT:下載 go source code 與 complie 的路徑

$GOOS:目標的作業系統:linux、darwin(Mac OS X 10.5 or 10.6)、nacl(Native Client, an incomplete port)

$GOARCH:目標的版本:amd64 (64-bit x86, the most mature port), 386 (32-bit x86), and arm (32-bit ARM, an incomplete port). The valid combinations are linux/amd64, linux/arm, linux/386, darwin/amd64, darwin/386, and nacl/386.

$GOBIN(選用):編譯後 complier 的路徑,預設為 $HOME/bin 請記得要加入到你的 $PATH 設定中

這邊是我的設定檔,請修改並加在你的 ~/.bashrc 檔案中

export GOROOT=$HOME/go
export GOOS=linux
export GOARCH=386
export GOBIN=$HOME/bin
export PATH=$GOBIN:$PATH

2. 請透過 easy_install(python)或 aptitude(debian/ubuntu)來安裝 mercurial(如果你沒有 hg 這個指令的話)

$ sudo easy_install mercurial # easy_install
$ sudo aptitude install mercurial # aptitude
# 兩個請擇一(我用 easy_install 裝不起來)

3. 接著請到 googlecode 取得 go 的 source code 來編譯

$ hg clone -r release https://go.googlecode.com/hg/ $GOROOT

4. 建立 GOBIN 的資料夾(預設應該是不存在)

$ mkdir $GOBIN

5. 進入到 src 資料夾,複製 quietgcc 並開始編譯

$ cd $GOROOT/src
$ cp quietgcc.bash $GOBIN/quietgcc
$ ./all.bash

6. 一小段時間後,如果編譯沒意外的話,應該會看到下列的訊息

0 known bugs; 0 unexpected bugs

7. 這時候就可以來寫個檔案測試囉~ 請用你喜歡的編輯器輸入下列程式

package main

import "fmt"

func main() {
        fmt.Printf("hello, world\n")
}

8. 存檔後,請編譯、link、就可以執行了

$ 8g hello.go # complie
$ 8l hello.8  # link
$ ./8.out     # run
hello, world  # output

# 官網上是使用 6g 不過 6g 是給 amd64 用的,一般 386 是用 8g

9. 請享用你的 GO 吧~ 更多的文件請查閱官方網站~~

2009年8月28日

Network Simulator:ns-2 安裝與基本操作 on Debian/Ubuntu

欸都,沒想到去年 training 之後,現在真的要開始用 ns-2 跑模擬了… 之前灌好的 macbook 不在我手邊,加上我也不想用筆電來跑模擬, 所以就找了一台 P4 的機器安裝 Ubuntu 9.10 alpha 4 來裝 ns-2 同時也在 vmware 上成功安裝在 debian 5.0 testing 的版本。 基本上這兩個 linux distribuction 安裝的步驟一模一樣(本是同根生…) 1. 這是我的 debian 版本 2. 下載 ns-2 allinone 的壓縮檔(我個人是偏好 cmdline 指令,當然也可以選擇從網頁瀏覽下載) wget http://downloads.sourceforge.net/project/nsnam/allinone/ns-allinone-2.34/ns-allinone-2.34.tar.gz?use_mirror=nchc 3. 解壓縮並進入 ns-allinone-2.34 的目錄 tar zxvf ns-allinone-2.34.tar.gz cd ns-allinone-2.34 4. 安裝與編譯 ./install 5. 如果安裝過程中出現下列這兩個情況 請安裝 libxmu-dev sudo aptitude install libxmu-dev 請安裝 g++ sudo aptitude install g++ 6. 如果順利安裝好,就會看到下列的畫面 7. 請依照指示把這些路徑加到環境變數裡面 vi ~/.bashrc 路徑 export NS_HOME=/home/chrisliu/ns-allinone-2.34 export PATH=$NS_HOME/ns-2.34:$NS_HOME/tcl8.4.18/unix:$NS_HOME/tk8.4.18/unix:$NS_HOME/bin:$PATH export LD_LIBRARY_PATH=$NS_HOME/tcl8.4.18/unix:$NS_HOME/tk8.4.18/unix:$NS_HOME/otcl-1.13:$NS_HOME/lib:$LD_LIBRARY_PATH export TCL_LIBRARY=$NS_HOME/tcl8.4.18/library 8. 請下載範例檔下來 點我下載 wget http://chrisliuqq.googlepages.com/example.tcl 9. 執行測試 ns example.tcl 10. 跑完後目錄底下會多一個 out.tr 檔案,這時候就要採用 awk 來分析了,請先下載 awk 檔 點我下載 wget http://chrisliuqq.googlepages.com/delay.awk 11. 執行 awk 來分析 awk -f delay.awk out.tr Leopard 版的安裝請參考之前寫的文章 Training:Network Simulator:ns-2 安裝與基本操作

2008年7月30日

rsync遠端備份 on Debian

以下內容主要是從此篇文章而來,我只是加了一點自己的經驗作紀錄。 1. 看看有哪些 rsync 套件。 Student:~# aptitude search rsync p grsync - GTK+ frontend for rsync p libfile-rsync-perl - perl module interface to rsync(1) p libfile-rsyncp-perl - A perl based implementation of an Rsync client p librsync-dev - Library which implements the rsync remote-delta algorithm p librsync1 - Library which implements the rsync remote-delta algorithm p maildirsync - simple and efficient Maildir synchronisation utility p rsync - fast remote file copy program (like rcp) p rsyncrypto - rsync friendly encryption 2. 廢話不多說,我最喜歡 command line,安裝吧! Student:~# aptitude install rsync 3. 安裝完之後,請編輯 /etc/default/rsync Student:~# vi /etc/default/rsync 將 RSYNC_ENABLE=false 改成RSYNC_ENABLE=tru 4. 設定 rsync server 端 Student:~# vi /etc/rsyncd.conf [bbsce] #允許使用rsync的ip hosts allow = 192.168.0.200 #將其他的都檔掉: hosts deny = * #要存放備份的地方 path = /backup/bbs.ce use chroot = yes read only = no uid = nobody gid = nogroup auth users = bbsce secrets file = /etc/rsyncd.secrets timeout = 600 5. 設定密碼 rsyncd.secrets Student:~# vi /etc/rsyncd.secrets #帳號:密碼 guest:test #接著修改權限和擁有者 Student:~# chown root:root /etc/rsyncd.secrets Student:~# chmod 600 /etc/rsyncd.secrets 6. 啟動rsync Student:~# /etc/init.d/rsync start #可以連到自己的電腦看看有沒有成功 Student:~# telnet localhost 873 7. 設定 rsync client #client 安裝rsync bbs:~# aptitude install rsync 8. 設定密碼 bbs:~# vi /etc/rsyncd.passwd 將剛剛設定的密碼貼在這邊 9. 更改權限與擁有 chmod 600 /etc/rsyncd.passwd chown root:root /etc/rsyncd.passwd 10.開始備份 rsync -arHz --progress --delete --password-file=/etc/rsyncd.passwd /home/ username@192.168.0.100::Home/home -a:保留權限,除了Hard Link -r:遞迴地複製目錄中的所有目錄 -H:保留 Hard Link -z:資料備份前先壓縮 --progress:顯示進度 --delete:如果要備份的主機上刪除了某個檔案,備份的主機也刪除某個檔案 --password-file:密碼檔的位置 這一行username@92.168.0.100::Home/home的意思是 帳號@server的ip::在server端/etc/rsyncd.conf中的名字/建立一個home來放資料 11.最後當然要讓他自動化 #vi /etc/crontab 加入 0 5 * * * root /usr/bin/rsync -arHz --progress --delete --password-file=/etc/rsyncd.passwd /home/ bbsce@192.168.0.100::Home/home 資料還原 1. 到要被還原資料的電腦(Client 192.168.0.100那一台) 2. 執行rsync還原 #rsync -arHz --progress --delete --password-file=/etc/rsyncd.passwd username@192.168.0.100::Home/home /home 這樣就可以把/back/home裡的資料還原到你的/home裡面了