‘TinyMe’ のタグが付いてる分
TinyMe – Linux LiveCD ディストロ(2)
で、続き。
とりあえず、ApacheとPHPおよびpear経由でのsymfonyは何とかインストール出来た。ちょっと、問題といえば、phpのバージョンが古くて、Symfony1.2はインストールできず、Symfony1.1にした。今からだったら、1.2の方がよかったのだが、まぁ、1.1でもそれほど何かが不足しているというわけでもないから、よしとしよう。
だが…問題は MySQLである。どうも PCLinuxOSが配布している MySQLのパッケージだと、ライブラリの依存を解決しようとして、新しいライブラリを入れようとするのだが、そうするとイモずる式にそのライブラリに依存しているもろもろがアンインストールされてしまう。

なんとかここまで
その過程に何か「やってはいけない何か」が含まれるらしく、その後 X が起動しなくなる。Xサーバーの起動の途中でなんかのドライバがないだかなんだかと怒られて Xの起動に失敗し、コマンドプロンプトに戻ってしまうのだ。
ちょっとだけ調べてみたが、容易な解決方法はなさそうだし。このコンパクトさゆえの制限でもあるから、残念だが MySQLはあきらめることにした。
とはいえ、RDBMSなしでは、Symfonyのいいところが半分以上削がれてしまうわけで、MySQLはだめでも、他の何かで代用しなければならない。
とはいえ、Symfonyで、すんなり使用可能そうな選択肢といえば PostgreSQLかOracleか…って感じになって…し・ま・う?おぉ、そうだもっとも安直な解決策 SQLite があるじゃないかぁ~。
SQLiteはDBサーバーではない。単なるライブラリ。DB本体は、普通の1個のファイルとして作られ、そのDBとのインターフェースがSQLになっているってこと。これは、もうまさしくMicrosoft Access のDAOっていうか、Jetエンジンとまったく同じしくみだな。そういうわけで、使い方は極めて簡単。っていうか、今回はphpがSQLiteと会話するプラグインをロードできていればいいわけで、これはSQLiteのインストールと一緒にインストールしてしまった。
ってな感じで、ようやく、このTinyMeの小さな環境でSymfonyを使った開発までできる環境がそろった。メモリは192MBで、普段の使用率はだいたい30%ほどでまるで余裕。むしろ、CPUが非力だと、そっちの方がすぐ100%に行ってしまうのが悲しいところ。
この段階で仮想マシンイメージを7zipで固めると、240MBほどになる。いやぁ、まだまだ余裕だなぁ~。なんちゃって。
TinyMe – Linux LiveCD ディストロ(1)
メモリが512MBしか積まれていない、CPUもセレロンとか…なんて2003年モデルくらいのノートPCの Windows XP上でどうにかLinuxを走らせたいなんて、結構無茶な要求なのはわかっているのだが…。
しかし、もしかするとその願いをかなえてくれるかもしれないLinuxのディストリビューションというか、リマスターというのだそうだが、最近は、なんでかというともともとのディストリビューションは PCLinuxOS というLinuxのディストリビューションなんであって、それを1CD にまとめなおした、ってことだかららしい。すなわち、TinyMe は、1CD サイズの iso ファイルとして配布されているわけ。VMware image もあるのだが、それは、このisoファイルを CD にマウントしてあるだけの仮想マシンイメージだし。なんと、HDDさえない仮想マシンだったりする。
しかし、この TinyMe のすごいところは、そのコンパクトさ。見ての通り、ちゃんとXも走っていて、Disktop もそれなりにちゃんとしている。メモリは128MBの仮想マシンでも特にストレスなく走っていたりする。
が、さすがに、そのままでは、少ない128MBのメモリのうちのそれなりの領域をRAMディスクに使っているだろうし、新たに何かをインストールしても電源を切ると全部消えてしまうというのも悲しい、っていうか、それじゃ実質実用には具せないので、HDDにインストールすることになる。
もちろん、仮想マシンにインストールするので、フリーのVMware Server 1.0.8 のLocal Console で新規の仮想マシンを作成し、それにはHDDを8GBほどつけて、メモリも最初は余裕で512MB程にして、もちろん CDドライブには TinyMeのisoファイルをマウントする。
それでおもむろにCDから起動するようにして、起ちあがった後に「Install to HDD」のアイコンをクリックする…。そうするとWizard風のアプリが起動するのだが、最初HDDを見つけることができずに何度やっても「インストールする領域がない」と怒られてばっかり。結局、TinyMe LiveCD は scsi のドライバを標準では持っていないので、仮想マシンのscsiのHDDを見つけることが出来なかったのが原因だった。
面倒なので、結局 VM Server の仮想マシン側で、IDEのHDDを作成することにして解決。すんなり、HDDにインストールできて、CDなしでもHDDから起動するようになった。
が、もう一息環境を整えたい、まずはそんなに完全でなくていいのだが、そこそこの日本語環境。せめて日本語が表示できるくらいは最低でもないと使えない。ってことで、locale-ja とか、scim や scim-anthy とかをインストール。システムロケールを locale-ja にセットすることで、それなりに日本語化出来てきた。微妙に中途半端というか、おかしなところも多々あるが、とりあえず、そんなに気にならないのでよしとする。
また、Emacs派の自分としては emacs を入れなければならないのだが、どうもこれが思いきり不安定。おそらくライブラリの問題だと思われるが、Ctrl+マウスクリックとかで、すぐSegmentation Fault してしまうので、使いものにならない。とはいえ、Emacsなしで我慢できるわけもなく、次善ではあるが XEmacsを入れてみた。もちろん、XEmacs-Muleも。
こちらは幸か不幸か、emacsほどの不安定さもなく順調に動いている。coding-systemにutf-8系を選べずに最初困ったが、とあるblogで、.xemacs/init.el に
(require 'un-define) (unless (emacs-version>= 21 5 6) (require 'mule-ucs-unicode "unicode")) (set-coding-category-system 'utf-8 'utf-8) (set-coding-priority-list '(utf-8))
なんて書いておけばOKとあったので、そのままパクらせてもらった。うちでは emacs-versionの比較の部分がエラーになるので、無条件に require するようにしたけど。
ちなみに XEmacsでの日本語入力は skk を使っていたりする。scimで入力できるようにするのを調べるのが面倒だったというのが一番の理由。っていうか、そもそも可能なのかもよくわからないし。
実は、当初の目的はこれでほぼ達成。この段階で仮想マシンのHDDは約900MBを消費している。しかし、これは自分でも驚いたのだが、この状態の仮想マシンイメージフォルダを、そろそろ主流に躍り出もいいのでは?と思える新興圧縮アーカイバーの「7zip」を使い、「高圧縮」で固めると、なんと200MBほどになってしまう。すごいな、この圧縮率って感じ。まぁ、圧縮に15分ほどかかっちゃうのが難点だけど。
だが、その後でやっぱ symfony の開発環境も欲しいやと思い立った…のだが、なんと、さすが TinyMe、Apache も PHP さえも、もちろん MySQL も入ってない…。
to be continued…

