HowTo Setup:
基本的にはこのページ参考でOK。
http://www.geocities.jp/error_storm/
すばらしい解説です。
ここでは少し分かりづらい
1. default.colinux.xmlの書き換え
2. coLinuxを既存のネットワークに参加させる方法
3. coLinuxをWindowsサービス化する方法
をメモっときます。
1. default.colinux.xmlの書き換え
これはdebianのイメージのロケーションと、ネットワークの設定が書ければとりあえずまともに動きます。イメージはSourceForgeから.bz2形式でダウンロードしてきて解凍したもの。ちなみに、rootのpassが'root'であることに気付くのに時間かかった(:-<)
f:\coLinux\debian.1gb
がイメージのパスだとすると、default.colinux.xmlから該当する文を
<block_device index="0" path="\DosDevices\F:\coLinux\Debian.1gb" >
もひとつはネットワークの設定。これは2.項で必要になってくるんですが、TAPを利用してネットワークに参加させる場合
<network index="0" name="TAP" type="tap" />
2. 既存のネットワークに参加させる方法
結構苦労した。
coLinuxインストール時にTAP-win32も一緒にインストールしておきます。XP限定ですが、win2kでもフリーのツール使えば出来るそうです。
ToDo on Windows:
1. coLinuxを起動しておく
2. [ネットワーク接続]を開き、TAPを使用している接続を"TAP"に名前変更
3. [ネットワーク接続]内で、現在のPCがネットワーク接続に利用している接続とTAPを、ctrl押しながら両方選択する。その状態でコンテキストメニューから[ブリッジ接続]を選択
4. ブリッジ接続のプロパティからネットワークの設定(gatewayやらDNSやら)をPCの接続として書き直す
5. default.colinux.xmlを開き、1.項で示したnetworkタグを書く
[ネットワーク接続]の設定後。

ここまでがwindows上で行う設定。
終わったらcoLinux再起動して、今度はlinuxの設定を行う。
ToDo on coLinux:
1. /etc/network/interfacesを書き換え。新たにネットワーク内のコンピュータとして動作するのに必要な設定を書く(後述)
2. /etc/hostsにもネットワークでのIP書く。
3. /etc/resolv.confにDNSを書く。
4. #/etc/init.d/network restart
/etc/network/interfacesはこう。
# cat interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.hoge
gateway 192.168.1.hoge
netmask 255.255.255.0
bloadcast 192.168.1.255
あと拾ってきたdebianにviが入ってなくて…ファイル編集できなかったので、これリダイレクトやらperlの置換やら使って書きました。どうしろと…なぜかperlは入ってたという。
これでネットワークに繋がった。やったぜ。apt-getやっと出来る。
3. coLinuxをWindowsサービス化する方法
これ感動した。
Windowsでサービス化すればcoLinuxを直接exeで起動せずともwindowsのスタンドアロンデーモンとして起動してくれます。すげー。
coLinuxに標準でついてくるコンソールって、DOS窓まで立ち上がる上にrepaintがうまく機能してないので、はっきり言って使えません。だから普段はputtyで繋ぐことになるので、coLinuxの窓はとても邪魔。Windowsのサービスとして起動しておけば、バックグラウンドでcoLinuxが走ってる状態になるので、繋ぐときもputty起動するだけでOK。(もちろん、colinux内でsshサーバ立てておく必要あり)
サービス化は至って簡単。コマンドプロンプトから
F:\coLinux>>colinux-daemon.exe -c "f:\coLinux\default.colinux.xml" --install-service
実際にサービスとして起動するのは、コントロールパネルから[管理ツール]-[サービス]内にあるCooperative Linuxの[プロパティ]から起動します。
自動起動(スタートアップ)にしたければ、このプロパティの項目で自動を選択しておけばOK。
linuxには幾つかの処理モードがあって、これをランレベル(run level)と呼ぶ。実際に利用されるのは6つくらい。
lev. | details |
0 | shutdown mode |
1 | single user mode (root mode) |
2 | multi user mode without Network |
3 | multi user mode ( Text login ) |
4 | N/A |
5 | multi user mode ( Graphical login ) |
6 | reboot mode |
ちょっと英語で気取ってみました。ランレベルはinitっていうbinが管理してて、例えばシステム起動時画面をよく見ていると「INIT: ランレベルを3に移行しています」とかいうメッセージが英語で出てます。
ランレベル0、6はshutdownやrebootする時に移行するモード。起動しているプロセスを停止する。4は普通使われません。
ランレベル3というのは、テキストでlinuxが起動するモード。5というのはグラフィカルな、つまりいきなりX-Windowからログインするモード。普段は3か5から起動するようにしておけばOK。
普段どのランレベルから起動するのか、また各モード起動時にはどんなプロセスを起動するのか、を全体的にまとめてある設定ファイルがこれ。
/etc/inittab
inittabを見ると、
id:3:initdefault:
l3:3:wait:/etc/rc3.d/
/etc/rc3.d/ を ls -F してみると、
# ls -F
K20inetd@ S10sysklogd@ S20makedev@ S89cron@
K20ssh@ S11klogd@ S20xinetd@ S99rmnologin@
このディレクトリは特別な意味を持っていて、該当するランレベルに移行した際、これらのリンク先が呼び出されます。
S(or K) + number + bin
という名前については、頭文字のSは起動(start)、Kは終了(kill)を意味し、続く数字は起動する優先順位を示しています。
これらシンボリックリンクのリンク先は/etc/init.dのbinたちとなっています。
んで、最初に示した表みたいにランレベルの使い分けがちゃんとされているかっていうとそうでもないです。Xを入れたらランレベル2なのに自動でX立ち上がるようになってたり。
使い分け自体は自分でするものらしい。デフォルトの起動レベルを3にして、rc3.dのシンボリックリンクをKに変えたりしてちまちまいじっています。
現在のランレベルを知りたいときは、runlevelコマンドを使います。
# /sbin/runlevel
N 3
また一時的にランレベルを変更するのであれば、root権限でtelinitコマンド。
# telinit 5
この記事のタイトルはこのコマンドからとったりした。
aptの設定で四苦八苦しました。
aptはパッケージ管理ユーティリティで、外からパッケージを落としてくれるのはもちろん、他のパッケージとの依存関係を調べてくれて必要なものまとめてインストールしてくれます。debianが初めて使うlinuxなのであんまりこの恩恵を体感してない気がする。
aptのサーバ(パッケージ落としてくるところ)の設定は
/etc/apt/sources.list
このファイルで行います。世界中にdebianのミラーサーバがあるので、適当な所(日本なら日本のミラーかと)に設定変更し、効率化を謀りましょう。
現在の私の設定はこんな。
roots:/etc/apt# cat sources.list
deb http://ring.fujixerox.co.jp/pub/linux/debian/debian stable main contrib non-free
deb http://ring.fujixerox.co.jp/pub/linux/debian/debian-non-US stable/non-US main contrib non-free
deb http://ring.fujixerox.co.jp/pub/linux/debian/debian-jp stable-jp main contrib non-free
deb http://ring.fujixerox.co.jp/pub/linux/debian/debian proposed-updates main contrib non-free
deb http://security.debian.org/ stable/updates main contrib non-free
deb http://ring.fujixerox.co.jp/pub/linux/debian/debian sarge main contrib non-free
deb http://ring.fujixerox.co.jp/pub/linux/debian/debian-non-US sarge/non-US main contrib non-free
これを保存し、
# apt-get update
でデータベース更新して設定完了。あとは好きなようにapt-get! apt-get!
以下手順の詳細です。
まずサーバの探し方は、apt-spyやwget、netselectってパッケージ使います。各ミラーサーバにping送って速度測るらしいよ。主にこのnetselectに詳しいページを参考にしました。
とりあえず日本ではリングサーバが使えるようなのでfujixeroxのdebianミラーを使うことにしました。各サーバごとにsources.listのフォーマットが用意してあるのでこれを参考に設定(fujixeroxのフォーマット)。先に示したsources.listの前半部はこれの書き写しです。
但し、上のフォーマットでは設定が全てstable中心になっていました。
debian使うなら知ってて当然ですが、debianにはstable、testing、unstableっていうディストリビューションから成り立っていて、現在
unstable -- "sid"
testing -- "sarge"
stable -- "woody"
(カーネルのソースが見付からなかったのは、sargeのカーネル使いながらそのソースをwoodyで探してたのが原因だったようです。)
さて、というわけでsources.listにsargeを加える事にしました。このサイト(このサイトは日本語化など、色々な点でお世話になっています)を参考にして以下の二行を追加。
deb http://ring.fujixerox.co.jp/pub/linux/debian/debian sarge main contrib non-free
deb http://ring.fujixerox.co.jp/pub/linux/debian/debian-non-US sarge/non-US main contrib non-free
ここで注意しておくことは、この二行ではディストリビューションを"sarge"と指定しているのに対し、先のfujixeroxのフォーマットでは"stable"と書いていることです。ゆくゆくsargeがstableになった場合(てか5/30/2005になるらしい)内容が重複してしまいます。まあしばらくsargeで様子見するのでOKかと…
最後に apt-get update とは、パッケージのリストをサーバからダウンロードしておく命令です。このリストをカタログの様に眺め、欲しいパッケージを apt-get で注文するような形をとるので、updateして最新のものにしておく必要があるわけです。
aptにも色々ファミリーがいるので、今度その話も書きたいと思います。
USBフラッシュメモリを使うには
usbメモリ+linux でぐぐったらトップにヒット(@@;
このページに従うと、
# dmesg
でデバイス関係の情報を確認出来ました。
とりあえずスティック挿す。ぷすっ
…おーすげー、ほんとに検出されてるよ! USBメモリはSCSIデバイスとして認識されるようです。
そして間髪いれずマウント…いまいちマウントという概念も把握できてなかったんだけど今回のでがっちりキャッチ。
上記ページでは/dev/sda1をマウントしてるけど、エラー出てうまくいかなかった。debian公式ページ見ると、どうもdebianではscsiがsdaから始まるらしい。
# mount -t vfat /dev/sda /mnt/usbfm/
vfat形式で/dev/sdaを/mnt/usbfm/として読めるように設定するってこと。
どれどれ、とおそるおそる/mnt/usbfm/でls
出来ちゃったよ…こんな簡単にデータ読めるとは…(@@