GNU Debian/Linuxに入門してみた
最近、仕事のペースがまたーりで、かなり自分の好きなことに時間を費やせる状況なので、じっくり時間をかけていろいろやってみることにした。
で、今まで Linux というと RedHat系のLinux (RHEL/Fedora/CentOS/SL) ばかり触ってきてて、たまには違う世界に触れてみようということで、 知っている人がけっこう Debian 使っていたり、GREEとかけっこう大規模なWebサイトで使われてたりして興味があったので、Debian にいまさら入門することにした。
最初 Debian か Ubuntu か Gentoo で迷って、別にデスクトップで使うわけじゃないから 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 とか入ってとりあえずここまで。まだ Fastcgi と Rails つないでない。。まだまだだ。
まぁ、ここ2・3日使った感じだと、やっぱ Fedora/RedHat の方が自分的には使いやすい。慣れっていうのもあるんだけど、設定周りとかが整備されてるから、そこらへんに時間とられなくていいっていうのはデカイ。あと yum。やっぱ yum の方が使いやすいなぁ。 "apt-get install xxxx"ってやると、たまに確認もなくインストール始めたりするし、 レポジトリからパッケージを検索したりできないっぽい (yum なら "yum search xxxxxx"とか"yum info xxxxx") のはイタイ。
Debian と同じタイミングで Fedora Core 5 な鯖も立ててみたりしたから、なんかそっちがメインになりそうだな。Debian機はもっぱら Debianの練習っていう感じで。