"Cygwin Setup" の "Select Packages" において、"System - sysvinit" を "Install" にします。 後は、通常通りインストールを続行します。
コマンドプロンプトにて、以下のコマンドを実行します。
$ /usr/binb/init-config
さて、ここで注意。 inittabを再構成してしまうと、どうも設定がいい加減なようですので、後で辛い目に遭います。 デフォルトのままのinittabを使うため、
"Overwrite existing /etc/inittab file?"
に対しては noと答えてください。後はyesで構いません。
※それでも、inittabをプチ壊した場合は、
$ /etc/postinstall/initscripts.sh.done
を実行すれば、元に戻ります。
初期自動設定で、勝手にサービスに登録されるみたいですが、 ここでは練習と"CYGWINのツールである"を明確にすることも兼ねて、 サービスを削除&再登録してみます。 コマンドプロンプトにて
$ cygrunsrv -R init $ cygrunsrv -I init -d "CYGWIN initd" -p /sbin/init -a -i -s INT
でOKです。
以下のコマンドを実行します。(unixと基本的に同じです)
$ /usr/sbin/chkconfig --add xinetd $ /usr/sbin/chkconfig --add sshd
あっ、これを実行する前に、xinetdやsshdの設定を済ましておいてくださいね。 (詳細は別ページにまとめてます)
では、initdを再起動します。
$ cygrunsrv -E init $ cygrunsrv -S init
上記の手順で起動した場合、initdおよびsshd,xinetdは、Windowsの"SYSTEM"権限で実行されます。 従って、ログ等の書き込み先(特に /var 以下)は、ディレクトリのパーミッションを "SYSTEM"グループにしておく必要があります。
$ chmod -r SYSTEM:SYSTEM /var
などと実行して、パーミッションを変更しておきましょう。(ユーザ名まで無理に"SYSTEM"にする必要はありませんので)