マルチユーザモードでは,
init によって /etc/rc
が実行されます.
/etc/rc
は /etc/rc.common
を読みこんで実行し,
通常の UNIX のスタートアップ手順を実行した後,
ファイルシステムのマウント, スワップの設定などを行い,
/sbin/SystemStarter
を実行します.
/sbin/SystemStarter
により,
/System/Library/StartupItems
に存在するサービスを実行していきます.
以下のスクリプトのほとんどは, /etc/rc.common
を通じて,
/etc/hostconfig
を読み出します.
/etc/hostconfig
に設定した内容により,
起動されるかどうかが決まるものが多数を占めます.
-
Accounting
システム・アカウンティングを起動します.
/var/account/acct
が存在するときのみ有効です.
-
Apache
HTTPD サーバ (apache) を起動します.
WEBSERVER="-YES-"
の時のみ有効です.
-
AppServices
デスクトップ環境, FONT キャッシュ,
入力マネージャ, プリントマネージャを起動します.
-
入力マネージャは,
/System/Library/InputManagers
が
存在するときに起動されますが, インストール時には存在していません.
-
プリントマネージャは
/System/Library/Frameworks/PrintCore.framework/Libraries/PrintStater
によって起動されますが,
詳細は不明です.
-
AppleShare
AppleShare ファイルサーバ ( /usr/sbin/AppleFileServer
) を起動します.
AFPSERVER="-YES-"
の時のみ有効です.
/etc/afpovertcp.cfg
を読むのではないかとは思いますが,
詳細は不明です.
-
AppleTalk
AppleTalk を有効にします.
-
APPLETALK="-YES-"
の時有効.
-
APPLETALK="-ROUTER-"
の時, ルータ動作
-
APPLETALK="-MULTIHOME-"
の時, マルチホーム, 非ルータモード
-
AuthServer
Authentication サーバ /usr/sbin/tim
を起動します.
AUTHSERVER="-YES-"
の時のみ有効です.
-
Cleanup
各種ファイルとデバイスを初期化します.
/etc/ptmp
, /tmp
, /etc/nologin
,
/private/tmp
, /private/Network
,
/var/run/*.pid
, /var/run/utmp
などをクリアします.
-
ConfigServer
/usr/sbin/configd
を起動します.
AUTOCONFIG="-YES="
の時のみ有効です.
-
Cron
/usr/sbin/cron
を起動します.
-
DirectoryServices
NetInfo, NIS (YP), resolver ( /usr/sbin/lookupd
) を起動します.
NISDOMAIN="-NO-"
で無い場合のみ NIS が有効になります.
-
Disks
オートマウント ( /sbin/autodiskmount
) などを利用して, ディスクをマウントします.
-
AUTODISKMOUNT="-EJECT-"
の時,
removable media を eject します.
-
AUTODISKMOUNT="-REMOVABLE-"
の時,
removable media をマウントします.
-
IPServices
/usr/sbin/inetd
, /usr/sbin/bootparamd
,
MacintoshManagementServer
などを起動します.
-
CONFIGSERVER="-YES-"
の時,
bootparamd を起動します.
さらに, NETBOOTSERVER="-YES-"
の時,
bootpd を起動します.
-
MANAGEMENTSERVER="-YES-"
の時,
MaintoshManagementServer (netboot client の manage をする) を起動します.
-
NFS
NFS を起動します.
はじめに nfsiod
を起動して,
NFS クライアントの設定をします.
/etc/fstab
が存在すれば, NFS マウントを実行します.
-
AUTOMOUNT="-YES-"
の時には,
automount -m /Network/Servers -fstab
を実行します.
fstab
に
polaris:/Library/Font
と記述してある時には,
このコマンドにより,
/Network/Servers/Library/Font
にマウントされます.
インストール時には, /etc/fstab
は存在しません.
実際には NetInfo の fstab
のエントリを読んでいるようです.
-
Network
IP インターフェースなどを設定します.
-
/etc/iftab
の記述により,
IP インターフェースを起動します.
これは, /usr/sbin/ipconfigd
/usr/sbin/ipconfig
によって起動されます.
-
HOSTNAME="-AUTOMATIC-"
の場合には,
ipconfig getoption "" host_name
の結果をホスト名に設定します.
その他の場合には, HOSTNAME
にかかれた名前をホスト名に設定します.
-
IPFORWARDING="-YES-"
の場合には,
カーネルパラメータ net.inet.ip.forwarding=1
を設定し,
ルータ動作を実行します.
- カーネルパラメータ
kern.hostid
を設定します.
- BSD にある shared IP の設定を行います.
-
NetworkTime
ネットワーク時刻同期を起動します.
TIMESYNC="-YES-"
の時には,
/usr/sbin/ntpdate -bvs
を実行し,
/usr/sbin/ntpd
を起動します.
-
Portmap
ポートマッパを起動します.
-
QuickTimeServer
QuickTime ストリーミングサーバを起動します.
QTSSERVER="-YES-"
の時に有効です.
-
SSH
SSH daemon を起動します.
SSHSERVER="-YES-"
の時に有効です.
-
SecurityServer
/System/Library/CoreService/SecurityServer
を起動します.
/System/Library/StartupItems/SecutiryServer/enabled
が存在するときのみ有効です.
詳細は不明です
-
Sendmail
sendmail daemon を起動します.
MAILSERVER="-YES-"
の時のみ有効です.
-
SystemLog
syslog daemon を起動します.
/etc/syslog.conf
が存在するときのみ有効です.
-
SystemTuning
サーバ動作が必要かどうかの変数を設定します.
SERVER="-NO-"
であっても,
AFPSERVER="-YES-"
または,
QTSSERVER="-YES-"
の時には,
SERVER="-YES-"
に設定を行います.
-
COREDUMP="-YES-"
が指定されていると,
ulimit -c unlimited
が実行されます.q
StartupItems
に内容を追加したい場合には,
以下の方法をとります.
- サービスのためのディレクトリを作成
- ディレクトリと同じ名前の
/bin/sh
スクリプトを作成.
このスクリプトで, 実行を行います.
- ディレクトリ内に
StartupParameters.plist
を作成.
このファイルの中身は,
{
Description = "secure login server";
Provides = ("SSH");
Requires = ("Resolver");
OrderPreference = "None";
Messages =
{
start = "Starting secure login server";
stop = "Stopping secure login server";
};
}
のように作ります.
-
Provides
に指定した名前は,
他のサービスでこのサービスとの依存関係を調べるために使われる名前です.
-
Requires
は, このサービスを実行するために必要な,
他のサービスの名前です.
- これらの設定の後,
必要なら
/etc/hostconfig
に変数を追加します.
naito@math.nagoya-u.ac.jp
$Id: boot.html,v 1.3 2001-05-21 16:19:51+09 naito Exp $