fc2ブログ
vsLinux は Linux の新しいデストリビューションです。 うそです。

ここは私の linux やネットワーク周りに関する知識の備忘録です。
いかん
すっかり存在を忘れていたけど
とりあえず微妙に嘘ついてた記事を片付けました。

半年ほど前にxreaでサーバ借りて NucleusCMS という
フリーのphp製blogを運用し始めた。
URLは書きませんけど。

ここ(fc2)はいろんな機能が初めからごちゃごちゃついてるけど
nucleusはインストール時、トラックバック機能さえなくて
(有志の作るプラグインで機能を継ぎ足してゆく必要がある)
はじめは苦労した。でも好きなようにいじり倒せて楽しい。


でこのblogはどうしたもんかな…
時々検索して流れ着いてくる人がいるようなので閉鎖する気はないです
スポンサーサイト



Binary 2.0
OutlookでAPOPやSSH portforwarding
windows上で、APOPやsshに対応してないメーラにそんな機能をつけてくれるツールが。
Useful Mailer

要はメールクライアントとサーバの間に立って中継してくれるツールです。
使ってみてますが問題なく稼動中。いや、時々エラーが出るな。なぜ?
使用方法はツールに付属のdocを参照。
Setup! coLinux
linux専用virtual machineといった体のcoLinuxをセットアップしてみました。これ、面白い。SandBoxに最適。

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" >

と書き換えればOK。

もひとつはネットワークの設定。これは2.項で必要になってくるんですが、TAPを利用してネットワークに参加させる場合

<network index="0" name="TAP" type="tap" />

networkタグを上記のようにします。詳細は2.項にて。


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タグを書く


[ネットワーク接続]の設定後。
coLinuxSetup

ここまでが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

gatewayはネットワーク内のゲートウェイです。ちゃんとブリッジ接続してないとこれが出来ないです。TAPだけでネットワークにつなげようとすると、ホストPCがルータとして動いてました。
あと拾ってきた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

で終了。xmlはフルパスで渡します。
実際にサービスとして起動するのは、コントロールパネルから[管理ツール]-[サービス]内にあるCooperative Linuxの[プロパティ]から起動します。
自動起動(スタートアップ)にしたければ、このプロパティの項目で自動を選択しておけばOK。
もしもしrunlevel?
linuxの起動プロセスがようやく理解出来た気がする。

linuxには幾つかの処理モードがあって、これをランレベル(run level)と呼ぶ。実際に利用されるのは6つくらい。









lev.details
0shutdown mode
1single user mode (root mode)
2multi user mode without Network
3multi user mode ( Text login )
4N/A
5multi user mode ( Graphical login )
6reboot mode

ちょっと英語で気取ってみました。ランレベルはinitっていうbinが管理してて、例えばシステム起動時画面をよく見ていると「INIT: ランレベルを3に移行しています」とかいうメッセージが英語で出てます。
ランレベル0、6はshutdownやrebootする時に移行するモード。起動しているプロセスを停止する。4は普通使われません。
ランレベル3というのは、テキストでlinuxが起動するモード。5というのはグラフィカルな、つまりいきなりX-Windowからログインするモード。普段は3か5から起動するようにしておけばOK。

普段どのランレベルから起動するのか、また各モード起動時にはどんなプロセスを起動するのか、を全体的にまとめてある設定ファイルがこれ。


/etc/inittab



inittabを見ると、

id:3:initdefault:

という行が最初にあります。これがdefaultの起動レベル(ここでは3)。さらに

l3:3:wait:/etc/rc3.d/

という行で、runlevelが3のときの起動ディレクトリが指定されています。

/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

3というのが現在のレベル、Nは以前の(変更する前の)ランレベルを表します。ずっと3だったからN/A。

また一時的にランレベルを変更するのであれば、root権限でtelinitコマンド。

# telinit 5

これで5に移行します。
この記事のタイトルはこのコマンドからとったりした。