家庭用サーバをUbuntu化
以前Debianで仕立てた初心者サーバが原因不明のエラーを起こし、SSHでログインできなくなってしまったので、Ubuntuでクリーンインストールすることにした。
インストール
もともと、Debianの頃から/, /boot, /usr/local、/homeを別パーティションにしてあったため、/homeはそのまま残して、その他のパーティションのみフォーマットをした。
このパソコンのCPUはAthlon64のため、日本ユーザー会がカスタマイズしたインストールCDではなく本家のCDからインストールを行った。インストール終了後、
$ sudo nano /etc/apt/source.list
として、source.list内のjp.archive.ubuntuをより高速な理研のサーバ(ftp.riken.go.jp/Linux)に置き換え。いちいち書き換えなくてもAlt-Rで一括置き換えする。そして日本語ローカライズされた追加パッケージをインストールするために、source.listに
deb http://archive.ubuntulinux.jp/ubuntu-ja gutsy/ deb http://archive.ubuntulinux.jp/ubuntu-ja gutsy-ja/
を加えて保存してから、パッケージリストを更新し日本語用の追加パッケージとSSH、NFSをインストールする。
$ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get install ubuntu-desktop-ja $ sudo apt-get install ssh nfs
MacBookからのNFS接続
Leopardではnetinfoがなくなったらしい。ネットワーク内にNFS共有されているものは自動的にマウントされるという話もあるらしいのだけど、どうもそういうものは見当たらないので、自分でマウントすることにした。
$ sudo mount_nfs -P 192.168.0.*:/home/hoge /Users/hoge/ubuntu /home/hogeは接続先のサーバの共有ディレクトリ名(フルパス)に置き換える /Users/hoge/ubuntuはクライアント側のマウントするディレクトリに置き換える
MacBookからのSSH接続
とりあえずはターミナル上で、
$ slogin -l hoge 192.168.0.*
で接続できた。鍵認証は後日。まあ外に公開しているわけでもないのでこのままでいいっちゃーいいんです。
MacBookからのリモート・デスクトップ
Ubuntuに戻って、上のメニューバーの[システム]-[設定]-[リモート・デスクトップ]で「他のユーザがデスクトップを表示できる」「他のユーザがデスクトップを操作できる」にそれぞれチェックを入れる。セキュリティの「パスワードの入力を要求する」にチェックを入れて、パスワードを設定する。この後MacBookに戻ると、Finder上の共有のところにサーバのリモート・デスクトップが現れるので、接続してみるとUbuntuのデスクトップが現れる。
Ubuntuでテレビを見る
こちらにubuntu + ivtv-1.0.2 + GV-MVP/RX2でテレビ視聴する方法が書いてあったので、これに従った。基本的にはivtvのソースにパッチを当ててコンパイルするという手順でいいらしい。
- ivtvdriver.orgで最新のivtvソースをダウンロードする。現時点ではカーネル2.6.22に対応するivtvのバージョンは1.0.3
- ダウンロードページに飛んで、firmwareもダウンロードしておく(これは要らないかもしれない)
- 次にmacmil.co.jpのパッチを取ってくる。カーネルのバージョンによってダウンロードするパッチが異なるので要注意。拡張子はtarにしているが実際はテキストファイル。今回持ってきたものは、s7115f8p.tar、tvau-f8p.tar、kb10-f8.tarの3つ
- ivtv、firmwareを解凍する
- macmil.co.jpから取ってきたパッチを展開したivtvのディレクトリの下のi2c-driversに名前を変えた上でコピー(移動でもいいけど)
$ cp s7115f8p.tar ivtv-1.0.3/i2c-drivers/saa7115.c $ cp tvau-f8p.tar ivtv-1.0.3/i2c-drivers/tvaudio.c $ cp kb10-f8.tar ivtv-1.0.3/i2c-drivers/Kbuild
- ivtv-1.0.3のディレクトリに移ってから、make; make install;でivtvをインストールする。
- firmwareをインストールする…どうやら/lib/firmwareの中に解凍したfirmwareのファイルの中身をコピーするらしいのだが、/lib/firmwareの下には`uname -r`で示されるカーネルのディレクトリしかなく、その下にはfirmwareと同名のファイルが入っているようだ。どうしていいかわからなくなったので、/lib/firmwareと/lib/firmware/`uname -r`の両方にコピーしておく。
- /etc/modprobe.confに以下の内容を記述(この辺からわけがわかってない)
options ivtv tuner=46 ntsc=j install ivtv /sbin/modprobe --ignore-install ivtv; /sbin/modprobe upd64031a; /sbin/modprobe upd64083; /sbin/modprobe tvaudio; /sbin/modprobe wm8739; install videodev /sbin/modprobe --ignore-install videodev; /sbin/modprobe i2c-core; /sbin/modprobe i2c-algo-bit; /sbin/modprobe tuner; /sbin/modprobe saa7115;
- モジュールをロードする。
$ sudo depmod -a $ sudo modprobe ivtv
Debianで使っていた録画スクリプトをいじって30秒間のテスト録画を行ってみたところ、きれいに映像が表示されたので録画はうまくいったらしい。ただしこのままでは録画したファイルが1時間あたり数ギガになってしまうので、これをxvidとlameで圧縮するよう、各種コーデックとmplayerをダウンロードする。