と言う質問をはてなに投稿しました( question:1156655579 )。
配布サイズが20~30MBで、最低必要な用件は
- コマンドライン・インターフェース(sh)
- ネットワーク機能
- ext3対応
- x86
- kernelは2.4系以降
- パラレルポート
- 他のシステムにマウントして改造できること
- VMWare上で動かすことができる
です。自分自身でビルドする機能や、WEBブラウザ、メーラーは不要です。用途としては、ちょっとしたネットワークサービスを走らせるプラットフォームと考えてください。また、改変したものを再配布できることも条件とします。
パラレルポートを操作するプログラムをサーバーとして動かしたいのですが、そのために200MBもあるようなシステムを使いたくないですし、そもそも自由に配布できないのでこのようなシステムを探しています。
質問をキャンセル
結局キャンセルしました。有効な回答が来なかったのと、四苦八苦しながら何とか自分で満足の行くレベルに到達できたからです。以下、簡単な要約。
ディストリビューションにはDSL ( Damn Small Linux )を使いました。これは、Knoppixをベースにしてぎりぎりまで絞ったX Windowおよびそのアプリを集めたものです。
- CLOOPを使っているのでKNOPPIXのリマスタリング手法を使える。
- しかし、パッケージ・メンテナンスシステムをはずしているのでdpkgやapt-getを使えない
- そこで、必要のないファイルに目星をつけて次々に消していく
- /usr/binのうち、ls -lS | headで大きなものから表示し、必要のなさそうなものを消す
- /usr/local/binのうち、*.luaを残して全部消す
- /usr/shareのうち、必要のなさそうなものを全部消す
- /etc /bin など見て回って不要なファイルを適当に消す
- /etc/inittabを編集して、ランレベルを3にする
- /optに必要なソフトを入れる
これでisoimageを構築します。私は/dev/sda1の上で作業したのでDSLを再起動し、
dsl fromhd=/dev/sda1
とタイプして動作を確認しました。libXを参照するコードが一部エラーを吐きますが、コマンドラインで使う分には問題ありません。以上の作業で22MBまでISOイメージを縮小しました。時間をかければさらに小さくできると思います。
作業にはVMWareを使いました。スナップショットをいくらでも保存できるので、こういうきわどい作業にむいています。
DSLをVMWare上で走らせると、ランレベル3はあっという間に起動します。しかも1CD Linuxなので、いきなり電源を切っても大丈夫(メディアをマウントしていない場合に限る)。