Damn Small Linuxの不思議

玄箱から、昔のThinkpad

LAN内のお遊びサーバーとして、玄箱Debianを入れて使っていたんだけど、WordPressを入れてみたらびっくりするほど動作がのろく、ページ遷移のあいだに眠ってしまいそうなくらい時間がかかったので、こりゃあ、やっぱりだめだなあ、と代替サーバーをでっちあげることにした。

数年前に買って、今はもう使われていないThinkpadがあったのを思い出し、(Windows MEがのっていた) それに、Linuxを入れてやろうと画策。

最近は、どんなディストリビューションがはやりなんじゃろう、と色々調べていくうちに、KNOPPIXに目が留まる。なんかHDDに入れて使うこともできるらしいので、じゃあこれでいこうかと思ったら、ISOが700MBあって断念。

もっと小柄なやつはないかな、と、ライブCDの部屋など、色々みてまわっていたら、Damn Small Linuxというのを発見。

Damn Small Linux

早速、CD-Rに入れて動かしてみる。快適だ。デスクトップ上のメニューから「HDDへインストール」を選ぶと、しょっぼいインストーラーが動いて、あっというまにインストール完了。

こりゃあ、便利な世の中になったもんじゃあ、と思ったら、様子がおかしい。

WordPressを動かしていると、mysqlが死ぬ。あれー、と思っていると、そのうち、つなげていたTeraTermも急に閉じてしまう。

しばらく考えて気づいたのが、スワップパーティションを用意してなかったなと。

Linuxのswap

fdiskからやりなおすのは面倒くさかったので、色々調べてみた。

  • partedで、パーティションをきりなおすと、全部入れなおさなくてもいいかもしれない(これはやってない)
  • swapdというデーモンがある。apt-get install swapdするだけ。動的にスワップ領域を確保してくれる素敵なデーモンらしい。が、説明書を読む限り、初期状態では、swapファイル一個4MBで、それが7個までしか作れない、と書いてあるように読める。これでは足りない。
  • パーティションきらなくても、ふつうの(?)ファイルを用意してスワップとして使える。備忘録としてメモ。
dd if=/dev/zero of=swapfile bs=1024 count=262144  (256MBの場合)
mkswap swapfile 262144
sync
swapon swapfile
/etc/fstabに追加
「/swapfile /swapfile swap sw 0 0」

で、これが簡単そうなのでこれ。とりあえず、落ちなくなった。(でもやっぱりWordPressは動作が緩慢に感じられる)

デスクトップは悪くないDamn Small Linux

この、ウィンドウマネージャっていうのかな、なんか必要最小限でいい感じ。


お遊びサーバーなんで、ふだんはGUI使わないんだけど。rdesktopが入ってて、Windowsマシンにつなげることもできる。

ちなみに、撮影したこの画面、拡張子がxwdとかいうのになってて、なんじゃーとおもって調べてみたら、ImageMagickのconvertというのでJPEGに変換できると。じゃあ、ってんで、早速入れてみたら、

root@0[root]# convert
convert: error while loading shared libraries: libdpstk.so.1:
 cannot open shared object file: No such file or directory

といわれた。色々調べてみた結果、libdps1というパッケージに「/usr/X11R6/lib/libdpstk.so.1.0」が入っていた。いちいち面倒くさい。

Damn Stupid Linux?

とりあえず、ここまでで、ひととおりはできたんだけど、なんだか様子が変だ。

  • apt-get installで、エラーになることがおおい。
  • unzipで、展開できないファイルがあった
  • sedがおかしい気がする

sedは、こんなふうになる。

root@0[/]# sed -e 's/hoge/fuga/i'
sed: bad option in substitution expression
root@0[/]# sed -e 's/hoge/fuga/I'
hoge
aaa
fuga
aaa
root@0[/]#

これって、普通のsedの挙動と違うような気がするんだけど、どうだろう? (これが原因でapt-get installのpostinstスクリプトがエラーになって大変なことになった。。

apt-get installは、ほかにも、色々な原因で失敗しているような気がする。

なんか、あやしげなので、ちゃんとしたLinuxに入れ替えるかもしれない。

chroot

debootstrapして、chrootしてapacheとかlighttpdとかphp4とphp5とか、色々動かしてやろうと思っているんだけど、慣れてないと色々と面倒くさい、ということが判明。

chrootした環境ごとにIPアドレスを割り振って、そこにtelnetなりsshなりで、ログインして色々する、って感じだと、わかりやすくて簡単なような気がするんだけど、そういうのは容易にはできないもんなんだろうか。(こういう使い方するもんじゃないようなきがしてきた)

IPエイリアスとかいう機能で、親環境のアダプタに余分なIPアドレスをわりふって……でも、ポートは同じ口をchroot環境ごとにあけることはでき……ないのかな? よくわからない。

色々調べてみると、FreeBSDの、jailというやつを使うと、おれのやりたいことが簡単にできそうだ。ああどうしよう。

とりあえず、増設メモリ買ってこよっと。64MBだとちょっときつい。