2013年5月21日

遠端管理 VirtualBox-RemoteBox

RemoteBox 是用來遠端管理 VirtualBox,參見 openfoundry 所介紹之文章。看起來還不錯用!

我在 ubuntu 10.04 試的結果無法執行,因為它要求 gtk+ 2.2 以上,但我的只有 2.20....

換了 Mint 14 來試,先依官方 說明 PDF 安裝了這些

sudo apt-get install libgtk2-perl libsoap-lite-perl rdesktop

才發現還要做一些設定才能用, 有空再試吧!

RemoteBox 官網: http://remotebox.knobgoblin.org.uk/

RemoteBox 1.5 on UbuntuRemoteBox 1.5 on Mint

2013年5月17日

有趣的 route 指令

當網路不通時, 大概都是 route 出現問題, google 後發現有趣的 route 指令, 紀錄下來備忘

 
要加入 gateway ip 指令
sudo route add -net default gw GATEWAY_IP dev wlan0
或
sudo route add default gw 192.168.1.1 eth0
 
使用以下兩行其中一行就可以:
sudo route add default gw 192.168.1.1
或是
sudo route add default gw dev eth0
 
要永久改變的話, 
編輯 sudo vi /etc/rc.local
找到 exit
在 exit 前面加以上的指令

想要新增一個路由至 10.0.0.0 的網段,所有 10 開頭的封包將透過 eth0 的網卡送出

#route add -net 10.0.0.0 netmask 255.0.0.0 dev eth0

刪除透過 eth0 的網卡至 10.0.0.0 的網段的路由

#route del -net 10.0.0.0 netmask 255.0.0.0 dev eth0

新增一個路由至 10.0.0.0 的網段,所有 10 開頭的封包將透過下個設備的 ip 192.168.1.1 送出

#route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.1.1

參考:
https://sites.google.com/site/hcsvieken/fedora-xue-xi/route-lu-you-zhi-ling
route 指令參考: http://people.ofset.org/~ckhung/b/gnu/network.php

2013年5月16日

無線分享器當成 bridge 和 repeater 的規畫佈置

我在家中裝了一個有點複雜的網路

(a) Cable model 從家外面拉進來,有固定位置,裝了一台無線分享器 A (dlink DI-624S)
      192.168.0.1
      DHCP   192.168.0.50~90
(b) 我的書房有一堆電腦, 都需要網路連外, 所以也裝了一台無線分享器 B (Edimax BR-6228NC), IP 設成
     192.168.0.10 LAN
     192.168.0.99 Wlan (固定IP)
     DHCP  關閉 (因為它經由 無線分享器 C 取得 ip 和上網)

無線分享器 A 是 dlink DI-624S, 這台可以讓我的電腦 (XP 和 ubuntu), 都用 VPN 的方式連到工作地方的 vpn server (其它兩台都不行, 不知原因...), 但它似乎又不能讓無線分享器 B 當成 Universal Repeater 來連, 所以只好再拿另一台 AbCom WR254G 來中繼連接

(c) AbCom WR254G (無線分享器 C)
     AboCom    當橋接主 AP1    192.168.0.3 WAN
                                               192.168.0.2 LAN
                              DHCP        192.168.0.91~200
     將無線分享器 C 的一般孔 (不是WAN 孔) 連上無線分享器 A 的一般孔,
     這樣的好處是, 可以用任一台電腦, 連接上以管理這 3 個無線分享器:
     192.168.0.1
     192.168.0.2
     192.168.0.10

可是發現房間中的電腦 (連上無線分享器 B) 無法上網, google 了以後, 應該是 gateway 有問題, 將無線分享器 C 的 gateway 也設成 192.168.0.1 即可

ubuntu 架設 LVS/DR in virtualbox 實作成功紀錄

LVS (linux virtual server) 是用來做 server 負載平衡的軟件。它有三種模式, 我挑了一種比較簡單的 Direct Routing (DR) 來試做, 需要同一網段的 IP, 利用 virtualbox 先裝了 3 台 ubuntu server 12.04

(A) 當入口的 VIP server: 192.168.0.64
    對外的 IP:  192.168.0.90


(B) Real server 1: 192.168.0.65
(C) Real server 1: 192.168.0.66

步驟:
1.安裝 ipvsadm
    apt-get install ipvsadm

2. 在 VIP server 新增一個虛擬網卡, 設成對外的 IP:  192.168.0.90
    修改 VIP server 的 ip 見以下內容
    我是用 dhcp 的方式取得 ip (在分享器設定分享固定 ip)
    下指令然後編輯 interfaces 檔:

sudo vi /etc/network/interfaces


# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth1
iface eth1 inet dhcp

auto eth1:0
iface eth1:0 inet static
address 192.168.0.90
netmask 255.255.255.255
broadcast 192.168.0.90

3. 在 VIP server 建立一個 sh 指令檔, 以執行 ipvsadm 指令 
(目前重開機以後要再執行一次,還沒弄清楚如何解決)
vi lvs.sh

sudo ipvsadm -C
route add -host 192.168.0.90 dev eth1:0
sudo ipvsadm -A -t 192.168.0.90:80 -s rr
sudo ipvsadm -a -t 192.168.0.90:80 -r 192.168.0.65:80 -g
sudo ipvsadm -a -t 192.168.0.90:80 -r 192.168.0.66:80 -g
sudo ipvsadm -S


4. 編輯 /etc/sysctl.conf, 在檔案最下方加入以下內容
sudo vi /etc/sysctl.conf

net.ipv4.ip_forward=0
net.ipv4.conf.all.send_redirects=1
net.ipv4.conf.default.send_redirects=1
net.ipv4.conf.eth1.send_redirects=1


5. 在 real server1 上 (已裝好 apache), 新增一個虛擬網卡 lo:0
可以下指令然後編輯 interfaces 檔:

sudo vi /etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth1
iface eth1 inet dhcp

auto lo:0
iface lo:0 inet static
address 192.168.0.90
netmask 255.255.255.255
broadcast 192.168.0.90

改完重啟網卡 (我是重開機), 有網頁說還要加上這一行的指令, 但我發覺重開機後好像不用再下這個指令一次:


sudo route add -host 192.168.0.90 dev lo:0

最後,在 real server2 也做同樣的事。

6. VIP server 重開機後,要執行剛剛建的 lvs.sh 指令檔, 再下指令看看有沒有成功:
~$ ./lvs.sh
~$ sudo ipvsadm

看到以下結果,大致上應該成功了

IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port       Forward Weight ActiveConn InActConn
TCP  192.168.0.90:http rr
  -> 192.168.0.65:http        Route   1      0          0
  -> 192.168.0.66:http        Route   1      0          0 



But ...

我卻發現從同網段的其它機器連不進來,ping 192.168.0.90 的結果,說是有重覆 ip, 不知問題何在?

~$ ping 192.168.0.90
PING 192.168.0.90 (192.168.0.90) 56(84) bytes of data.
64 bytes from 192.168.0.90: icmp_seq=1 ttl=64 time=67.9 ms
64 bytes from 192.168.0.90: icmp_seq=2 ttl=64 time=2.38 ms
64 bytes from 192.168.0.90: icmp_seq=1 ttl=64 time=1090 ms (DUP!)
64 bytes from 192.168.0.90: icmp_seq=2 ttl=64 time=88.7 ms (DUP!)
...


好像在 /etc/rc.local 中加入原來在 lvs.sh 中的指令就可以在開機後自動執行。

參考:

2013年5月15日

mySQL 相關指令

在 ubuntu 12.04 之下

停止 mysql
sudo stop mysql

啟動
sudo start mysql

進入 mySQL 指令列
mysql -u username -p

 看 set varaibles (記得要在最後加上分號 ;)
 show status;

 看佔用 CPU  資源
 show processlist;

2013年4月19日

ibus 的倉頡第三代輸入法有問題

我在更新許多有關於 *gtk* 的套件後,ibus 的倉頡第三代輸入法出現問題:
"的" 的倉頡碼應該是 hapi ,但無法輸入。總之,很怪就是了。

後來重裝 ibus 1.3.9 (ubuntu 10.04 Lucid 的 ibus 最高版本)

sudo add-apt-repository ppa:shawn-p-huang/ppa 
sudo apt-get update
sudo apt-get install ibus ibus-gtk ibus-qt4
 
再安裝其它輸法 (已安裝不用重安裝)
sudo apt-get install ibus-pinyin # or other engine(s) you want
im-switch -s ibus# logout and re-login
ibus-setup # add input methods you want
 
以前慣用的 ibus + 倉頡第三代輸入法仍有問題
改用 ibus 1.3.9 + 倉頡第五代輸入法後,比較 OK
也有動態選字功能。 
 
 

2013年4月18日

在 ubuntu 10.04 下的 gretl cvs

要在 ubuntu 10.04 下的 gretl cvs 變成可 commit 修改 .PO 檔,不能用 gretl 手冊中所寫的下這兩行指令

cvs -d:pserver:anonymous@gretl.cvs.sourceforge.net:/cvsroot/gretl login
(不必輸入,直接按空間棒)
cvs -z3 -d:pserver:anonymous@gretl.cvs.sourceforge.net:/cvsroot/gretl co -P gretl


我在 ubuntu 11.04 下實測 (參考:CVS#Read-Write access),先下指令

export CVS_RSH=ssh
cvs -z3 -d:ext:xxi-xxxx@xxx.cvs.sourceforge.net:/cvsroot/gretl checkout gretl

(輸入帳密就 OK 了)

./configure 後說少了 libcurl 和 gtksourceview2.0, 又裝了以下

sudo apt-get install libcurl4-openssl-dev libgtksourceview2.0-dev

再下指令
(如果已下載更新多次, 可能要再下指令
make clean)
./configure
make
sudo make install
sudo cp /usr/local/lib/libgretl* /usr/lib

這樣就 OK 了

搭配 Cervisa + POedit 就可以正常地更新新的 zh_TW.po 檔