GNU Debian/Linuxに入門してみた

最近、仕事のペースがまたーりで、かなり自分の好きなことに時間を費やせる状況なので、じっくり時間をかけていろいろやってみることにした。


で、今まで Linux というと RedHat系のLinux (RHEL/Fedora/CentOS/SL) ばかり触ってきてて、たまには違う世界に触れてみようということで、 知っている人がけっこう Debian 使っていたり、GREEとかけっこう大規模なWebサイトで使われてたりして興味があったので、Debian にいまさら入門することにした。

最初 DebianUbuntuGentoo で迷って、別にデスクトップで使うわけじゃないから Ubuntu じゃなくていいし、「root 禁止」みたいな Ubuntu ルールは受け入れにくいし、Gentoo で Stage1 から Glibc とかコンパイルオプション付けまくってハードの性能をフルに引き出すのはそれはそれで楽しいんだけど、それよりも普段 Java で開発している自分としては LL な Rails とか Catalyst とかでの Web開発ためしてみたいのがメインのテーマでもあったので Debian にしてみた。


で、とりあえず Sarge の Testing版をネットワークインストール。RedHat系だとネットワークインストールするときにプロキシ通せなくて(カーネルパラメータでいけるのかな)結構面倒なんだけど、Debian はちゃんとプロキシの設定もあってかんたんにいけた。途中で SSH 経由でインストールできたりできるのはイイ。けど、再起動した後は SSH 経由でインストールできなくなるのはどうかと思う。

インストールした後になって、Etch の Testing版にしたほうが面白かったかも…と思った。けど、まだ Sarge と Etch のパッケージの差とか良く分からないから、とりあえずいいや、ということにしておく。


で、まず困ったのが SSH から設定しようとしたら SSH つながらない。っていうか入ってない。ってことで、apt からインストール。SSH がデフォで入ってない Linux はひさびさ。

つぎに、いつも Fedora/RHEL にあわせて UTF-8 でターミナル使ってるから UTF-8 で表示してほしいとこなんだけど、EUC-JPのまま。ちゃんとインストール中に UTF-8 をデフォで設定したのにダメポ。Fedora だと /etc/sysconfig/i18 に Supportedとかに書けばいいんだけど、当然そんなファイルないので、それらしい/etc/locale.gen を見つけて手書きで EUC-JP => UTF-8 に変えてみた。けど変わらず。そのあと、locale-gen とか dpkg-reconfigure locales とかで再設定してもダメポなので、強引に シェルの初期ファイル /etc/zsh/zshrc に

LOCALE=ja_JP.UTF-8

って書いたらいけたw なんじゃそれ。


そのあと apt で GCC4.1 入れたりして、Rails する準備しようかなぁ…と思って、esehttpd をビルドしようとしたけど、「OpenSSL ねーよ」っていわれて Configureエラー。apt で探しても OpenSSL とか出てこないし。

で、仕方がないから Lighttpd + Fastcgi + Rails かなぁ…と思って、apt から Lighttpd 入れようかと思ったけど、なんかハマリそうなのでソースからインストール。Ruby は apt 版だと Gem 入れたときにパス通しても「ライブラリねーよ」とかいってくるので、apt 版捨ててソースから再インスコでおk。で、Gem から Rails とか ActiveRecord とか入ってとりあえずここまで。まだ FastcgiRails つないでない。。まだまだだ。


まぁ、ここ2・3日使った感じだと、やっぱ Fedora/RedHat の方が自分的には使いやすい。慣れっていうのもあるんだけど、設定周りとかが整備されてるから、そこらへんに時間とられなくていいっていうのはデカイ。あと yum。やっぱ yum の方が使いやすいなぁ。 "apt-get install xxxx"ってやると、たまに確認もなくインストール始めたりするし、 レポジトリからパッケージを検索したりできないっぽい (yum なら "yum search xxxxxx"とか"yum info xxxxx") のはイタイ。

Debian と同じタイミングで Fedora Core 5 な鯖も立ててみたりしたから、なんかそっちがメインになりそうだな。Debian機はもっぱら Debianの練習っていう感じで。