Z
zsh恐るべし。
TAB2回押しでリスト選択するなど、ただでさえ強力な補完ですが、長らく使っていて全然気づかなかった機能が。
/u/s/d/zsh [TAB]
とすると、
/usr/share/doc/zsh [TAB]
と補完される。このとき上位が曖昧でも(例えば/usrにはshareの他にsrcやsbinもsで始まる)、下位を見て(doc)補完してくれます。
素晴らしい…
zsh恐るべし。
TAB2回押しでリスト選択するなど、ただでさえ強力な補完ですが、長らく使っていて全然気づかなかった機能が。
/u/s/d/zsh [TAB]
とすると、
/usr/share/doc/zsh [TAB]
と補完される。このとき上位が曖昧でも(例えば/usrにはshareの他にsrcやsbinもsで始まる)、下位を見て(doc)補完してくれます。
素晴らしい…
GbEスイッチにメインマシンと同じセグメントでサーバを繋ぐため、以前は丸ごとDMZに置いていた機能を一部切り離す必要が出てきました。
ホスト(Linux: 192.168.1.a/24)でVMWare Serverを走らせ、
ルータ用に、以下の3ネットワークのアダプタを持つ仮想マシン(Debian)を作成。
vmnet3, vmnet4はhost-onlyです。更にルータなのでフォワーディングを有効にする(/etc/sysctl.conf)
LAN側に存在するホストで、DMZ二種(192.168.4.0/24, 192.168.2.0/24)のルーティングをルータのLAN側(192.168.1.b/24)に設定。
最初これを忘れていて、ルータを通さずにパケットが行き来したりしなかったりしていました。
あとはiptablesで色々設定。基本DMZ1, DMZ2からは、
という感じ。
そしてDMZ内のサーバとして、
のネットワークカードを刺した仮想マシンを作成。www用とSSHの受け皿等で数台用意します。
以上でホストマシンからは問題なくルーティングされますが、他の実機からではDMZ側への経路が分からないので、それらのデフォルトゲートウェイ(=インターネットにPPPoE介して繋げているPR-200NE)のルーティングもホスト(192.168.1.a)に向けて設定します。
このルータ(PR-200NE)の設定はGUIで何かと面倒。やたらレスポンスが遅い上、設定変更と有効化が分かれていて二度手間になることが多くなります。
まだ外部からSSHを通せるようになった程度ですが、ろくに理解していなかったルーティング関連の挙動が少し分かってきた気がする。
それにしても研究しながら作業すると(当の研究以外は)何でも捗りますね。昔買ったきりあまり聴いていなかったDivision Bell/Pink Floydなどをかけながら大仰な気分でパケットフィルタリング。viで設定ファイル弄るのが忙しい中の清涼剤です。
長年coregaの100BASE-TXルータBAR Pro3を使っていましたが、気づけばメインマシンもファイルサーバもGbE対応。
せっかくなので1000BASE-Tの性能を生かせるようGbE スイッチを導入してみました。


それにしてもあまりいい話を聞かないcoregaの安物ですが、365日x数年の連続稼働でよく壊れなかったものです。
買ったのはNETGEAR GS605。16ポートの金属ケースのハブはよく見ますが、5ポートでこんな安っぽい丸々したデザインのも作っていたとは知りませんでした。
NTT-Xで2400円弱と価格も非常に手頃。
早速ML115(NAS)とメインマシン・ルータを繋いで速度を測ってみました。
以前の計測結果が以下。

tmpfs(RAM上)、HDD上のファイルをsambaで転送しています。最後のはHDD上のファイルをsamba越しに再生しています。
パーセント表示で見にくいですが、上限7.6MB/s程度。再生(2MB/s)には困らないが、やや遅い。
そして今回のスイッチ導入後。最初全くスピードが変わらないので焦りましたが、
ML115とメインマシンのセグメントが違ったため、いったん遅いルータまでパケットが回されていたためのようです。
ちょっと設定変更して同じセグメントに配置したら速くなりました。

上限が48MB/s(=380Mbps)程度まで上がっています。それでもLANがボトルネックなのは変わらないようで、HDDは依然tmpfsと変わらない速度です。
今までの6倍くらい出るようになって非常に快適です。ただML115とメインマシンはセグメント分けておきたかったのですが、そうも行かなくなってしまったのでSamba以外の機能を仮想マシンに移行してNATを構成しないといけません。
ネットワークをあまり理解していないので作業が難航しそう。その上クソ忙しいのでいつになるか分かりませんが…
ML115用のCPUとしてAthlon64 X2 5200+(TDP 65W, 2.7GHz, L2 512×2)を買いました。
元は安いが換装を重ねるに従い、独自規格のM/BとケースがネックになってくるML115にうっかりさらなる投資をしてしまった。

CPUとヒートシンクを剥がし易くするため、ffmpegで少し負荷を与え、電源断、開腹。

T15(以前買った小さいドライバは届かなかったので買い直した…)でヒートシンクと基板を固定しているネジを外す。
バネでテンション掛かっているので、最後まで外すとベキッと心臓に悪い音がする。
対角線で徐々に外していったほうが良い。

埃まみれです。
売っても大した値段にならないCPUですが、一応グリスを拭き取っておく。

ソケットに装着してグリスを塗りたくる。

やや塗りたくり過ぎたか。
ついでにデスクトップからメモリ2Gを毟ってきてこっちに挿しました。合計3.5G。
何事もなく起動、認識し、
sudo cpufreq-set -u 2700000
の後2.7GHz稼働を確認。/etc/rc.localに書いておきます。
元のAthlon64 3500+の時にベンチマークを取っておくのを忘れたのでパフォーマンスは比較できない。
/etc/fstabでtmpfsに2Gを割り当てて仮想マシンを同時に4つくらい起動してみましたが、同時にHDDアクセスするともたつくのは仕方ないとして、それ以外は割と快適です。
ついでに軽くディスプレイやキーボードを見て回りましたが、RDT261WHがsofmapで99800円20%。安すぎる…MDT242WGを7万くらいで売っぱらって買いたい。
慣れない環境でデスクワークするとすぐ節々が痛くなる。風呂に入ったら治ったが。
さて先日Ubuntu 8.10がリリースされたのでVMWareで動かしてみたところ、VMWareToolsがどうも入らない。カーソルGrab/Ungrabの切り替えが自動で行われないのは非常にストレスフルなので、日本語RemixがVMWareイメージをリリースするのを待つことにします。
最近母艦のデータ用HDD320GのS.M.A.R.T.の代替セクタ数の指標が上がっている(使用時間約5800)。このご時世にあって未だにRAIDを組んでいないので、壊れたら面倒なことになりそうです。
どうしよう。無職なのに出費が多い。
ついでだからこの機会にメモリを6GB丸々使えるVista Business 64bitにすることも視野に入れています。色々あるデバイス(特にペンタブレットやキャプチャーカード)が動いてくれるのか不安ですが…
グラフィックのレスポンスがもっと良ければ・AutoHotKey並の平易なキーカスタマイズがあれば・ATOKが動けばホストをLinuxにしてWindowsはVMで済ませるんですが。
ATOK2007はWine+wimeで動くという話ですが、wimeがLoadLibraryに失敗して落ちるので自分の環境で再現できていません。
Windowsと比べればAAの品質には大差ないにしても、Ubuntuは標準で全てアンチエイリアスにするので、ターミナル等で小さいフォントを使うと汚い。
今まではgnome-terminalでアンチエイリアスを無効にして対処していましたが、.fonts.confを弄ることで指定サイズ以下のフォントに対してAAをOFFにできます(hiromasa.another :o) » Blog Archive » Ubuntu 8 のデスクトップガジェット - screenlets)。
全然知らなかった。
論文の検索のためにNamazuでインデックスを作ろうと思い、PDFからテキストを抽出するpdftotextを導入してみた。
apt-get install xpdf xpdf-japaneseで入るpdftotext(3.00)はなぜか設定ファイルを読んでくれないらしく、(/etc/xpdf/xpdfrcも、/usr/local/etc/xpdfrcも)
Error: Couldn't find unicodeMap file for the 'EUC-JP' encoding
こんなエラーがでて日本語PDFを変換できない。
仕方ないので開発元からxpdf-3.02.tar.gzをダウンロードし、pl1、pl2パッチを当てる。
configure, make pdftotextすると、今度は無事通る。
ただpdftotext pdffile [textfile]の仕様が、textfileの指定をしない場合、拡張子をtxtに変えたファイルをpdfと同じ階層に作る、というやっかいなもののため、ラップするスクリプトを書いた。
#!/bin/sh
TMP_PATH=~/.pdf2txt_tmp
NKFTMP_PATH=~/.pdf2txt_tmp.nkf
pdftotext -enc Shift-JIS -raw "$1" "$TMP_PATH"
cat "$TMP_PATH" | sed 's/^L//g' | nkf -Z1Sw > "$NKFTMP_PATH"
# output file specified
if [ "$#" -ge 2 ]; then
cp "$NKFTMP_PATH" "$2"
else
cat "$NKFTMP_PATH"
fi
rm "$TMP_PATH"
rm "$NKFTMP_PATH"
<C-L>がなぜかファイルの末尾に出来るようなので、削除するようsedを挟む。
動画専用ディスプレイ快適です