[debian] AudioGalaxy on Wine on Debian/wheezy
AudioGalaxyで自宅サーバにはいってる音楽を外から聞けるように。Win/mac用のサーバしかないのでwine経由でうごかしてやる。
cf. http://www.avidandrew.com/guides/67-audiogalaxy-linux
Wineをいれる
http://dev.carbon-project.org/debian/wine-unstable/
sudo apt-get ia32-libs lib32z1 sudo dpkg -i libwine-unstable_1.4~rc3-0.1_amd64.deb sudo dpkg -i libwine-bin-unstable_1.4~rc3-0.1_amd64.deb sudo dpkg -i wine-bin-unstable_1.4~rc3-0.1_amd64.deb
AudioGalaxyクライアントを設定する
audiogalaxyの公式からログインすると、認証設定済みのサーバexeがダウンロードできる。
とりあえず起動してみるとえらー:
$ wine Audio*.exe wine: Call from 0x7b83ad72 to unimplemented function msvcp90.dll.??0?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z, aborting
なんかFAQらしい?のでworkaround
$ cd .wine/drive_c/windows/winsxs/ $ mv x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4148_none_deadbeef.manifest x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4148_none_deadbeef.manifest.bak
My Musicを対象フォルダへのsymlinkに
cd .wine/drive_c/users/$USER rm "My Music" ln -s /mnt/hogehoge/music "My Music"
$ wine Audio*.exe
ちゃんと起動することを確認。
Xvfb経由で起動するように
sudo apt-get install xvfb
#!/bin/bash if pgrep Audiogalaxy; then echo "AudioGalaxy already running" exit 0 fi cd /home/$USER/ag nohup Xvfb :0 -screen 1 800x600x24 & DISPLAY=localhost:0.0 nohup wine Audio*.exe & echo "seeing if the program runs >10sec..." sleep 10 if pgrep Audiogalaxy; then echo "seems ok" exit 0 else echo "fail" exit 1 fi
はじめてのEC2
とっても今更感があるけど、実はいままでAmazon EC2をつかったことがないのであった。
勉強を兼ねてmicro instanceでいろいろ遊んでみて、最終的には開発レポジトリのバックアップと、落ちると痛いIRCログサーバを載せることを目標にする。
手順はGetting Started Guideがかなり親切なのでそちらを参照ということにして、躓いた点とか驚いた点を書いていく。
Block Deviceの取り扱い
- Elastic Block Store(EBS): 仮想ブロックデバイスのEC2用語。実体が謎なんだけど、SAN越しのストレージサーバ上にあるボリュームと考えると納得いくようないかないような。ストレージサーバにファイルだかLVMボリュームがあって、計算ノードはFCかiSCSIか何か経由でこれにアクセスするように設定されるのかな。EucalyptusはEBSを実装するのにLVMをATAoEで使ってるらしい(参考)
- Instance Store(Ephemeral Store): 計算ノード上にあるディスク。micro instanceだと使えない。おそらくEBSよりはやいしなんかキャッシュにつかうのかな。データベースとか置きたくなるけど、信頼性ないよね。
みんなだいすきS3にEBSやその差分スナップショットをアップロード/ダウンロードできる。
最初にEC2インスタンスを起動させる際には、S3上のテンプレート(このことをAMIという?)->EBSにコピーされて起動する。
逆にテンプレができたらそれをS3上にAMIとしてexportすることもできる。
S3のファイルサイズ制限どうするんだろとおもったら、100MBずつ分割されて保存されるぽい。なるほどね。とおもったら今はサーバ側で自動分割とかもあるのか
インスタンスのStopとTerminateの違い
実行中のインスタンスを停止させるにはStopとTerminateの二種類がある。最初これは、gracefulなshutdownと電源ぷちの2種類かとおもっていたんだけど、どうやら違うみたい。
- Stop: VMをshutdown。仮想ブロックデバイス(EBSというらしい)はdetachされるが、内容は消去されない。EBS分の課金は継続
- Terminate: VMをshutdown。EBSの内容も破棄。
なんかTerminateしたあともリストに残るのが気持ち悪い。再スタートできるぽい?なんかいつのまにかリストから消えてる・・・!こわい
これで、データはおいときたいけど起動してなくていいよというときに、課金されないで済む。
Arch Linuxでplatex環境の構築
yaourt texlive-core texlive-langcjk sudo vim /etc/texmf/dvipdfmx/dvipdfmx.cfg
f cid-x.map % 先頭の%コメントアウトを外す
sudo mktexlsr
おわり
VMWare player 4.0.2 on Arch Linux 3.2 kernel
3.2用パッチあて
curl -O http://weltall.heliohost.org/wordpress/wp-content/uploads/2012/01/vmware802fixlinux320.tar.gz tar -xvf vmware802fixlinux320.tar.gz ./patch-modules_3.2.0.sh
init scriptのりんく
sudo ln -s /etc/init.d/vmware /etc/rc.d/vmware rc.confのDAEMONSに追記
initscriptが/sbin/lsmodを参照するがArch Linuxはへんなぱすにある
cd /sbin sudo ln -s `which lsmod` sudo ln -s `which insmod` sudo ln -s `which rmmod` sudo ln -s `which modinfo`