SPICEの導入

debian上で運用しているQemu/kvmベースの仮想化サーバにSPICEプロトコル経由でのアクセスを試してみる。

SPICEは、仮想マシンから他マシンに画面/音声/HID入力の転送を行うもので、VNCよりも高速らしい。
現在は、仮想化環境上ではサーバのみを運用しているが、今回はデスクトップ用途に用いるVMも集約することにしたため、
仮想ディスプレイドライバの含まれるSPICEの方がいいかと思い、導入を試みる。

参考ページ:http://docs.cslabs.clarkson.edu/wiki/SPICE

サーバ上での作業

前述ページにのっていた依存パッケージ群をいれる。適当にいらなそうなのは省く。
squeezeなので、testingをapt-pinningしてlibpixman-1-devをいれる。(けどいらなかったきもする)

spice-protocol-headers / celt-0.5.1.3 を./configure && make && make install

spice 本体に関してはMakefile.amのsubdirsからclientをはずす。configure.acからxrandrのチェックをはずす。

autoreconf && ./configure && make && make install

qemuを--enable-spiceでビルド

クライアント上での作業

testingなのでそのまま依存パッケージ群をいれる。

clientもビルドするのでspice本体は変更なしでいれる。

gcc -O4 -Sの出力とにらめっこするときにソースコードとの対応を取る方法

gccで-O4をつけると、がんがんインライン化された長い関数が吐き出される。
その中で目当ての場所がどのようにコンパイルされているのかを知るのは骨が折れる。

なんかもう-gの情報はほとんどあてにならないかんじなので、__asm__("# hogehoge")みたいなコメントをうめこむと良い。

ただ殆どの場合__asm__の存在で最適化レベルがおちて異なるコードが吐き出されるので注意。

DropBoxクライアントのインストール

追記:下記の方法だとapt-get upgradeの度に文句言われてつらい。結局ソースからいれるしかないのか

kouhei@havana:~$ cat /etc/debian_version 
wheezy/sid
kouhei@havana:~$ sudo dpkg --force-depends-version -i ~/Downloads/nautilus-dropbox_0.6.7_amd64.deb

ubuntu用のdebをインストールしたら問題なく動いた。なんか依存パッケージのバージョンでこけるけどそれを無視すればおk

Wifiの簡易Hotspotを作る

#!/bin/bash
sysctl net.ipv4.ip_forward=1

iwconfig wlan0 mode Ad-Hoc
iwconfig wlan0 essid SSID_NAME_HERE
iwconfig wlan0 channel 3
iwconfig wlan0 key s:WEPKEY_HERE
ifconfig wlan0 192.168.222.1 up

iptables -tnat -A POSTROUTING -s 192.168.222.0/24 -o tun0 -j MASQUERADE
iptables -tnat -A POSTROUTING -s 192.168.222.0/24 -o eth0 -j MASQUERADE

クライアント側を静的IPアドレスで適当に設定。
192.168.222.2 / 255.255.255.0 / gw 192.168.222.2 / DNS 8.8.8.8

NFSv4

メモ

# apt-get install nfs-kernel-server
# echo "NEED_IDMAPD=yes" >> /etc/default/nfs-common
あとNEED_STATDはnfsv3つかわないならいらん。(現在のwheezyではこいつ壊れてるっぽい)
# cat /etc/exports
/mnt            172.22.0.0/20(rw,sync,no_subtree_check,crossmnt,fsid=0)
/mnt/data       172.22.0.0/20(rw,sync,no_subtree_check)
/mnt/oldroot    172.22.0.0/20(rw,sync,no_subtree_check)
# exportfs -rav