OS X 10.5 以降で起動時に任意のコマンドを自動で実行したい場合、本来であれば launchd(8) を使用した制御が必要なので /System/Library/LanchDaemons/ 以下に plist ファイルを準備する必要がありますが、/Library/StartupItems にコマンド起動用のスクリプトファイルを設置する事で、起動時に任意のコマンドを実行できます。
基本は普通のシェルスクリプトですので、シェルスクリプトに慣れている場合はこちらの方が使いやすいかも知れません。
/Library/StartupItems に任意の名称のディレクトリを作成する
ここでは "サービス" とします。
# mkdir /Library/StartupItems/サービス
作成したディレクトリに起動スクリプトを作成する
スクリプトファイルは "サービス" と同じファイル名にします。
# cat << EOF > /Library/StartupItems/サービス/スクリプト
> #!/bin/sh
>
> . /etc/rc.common
>
> StartService ()
> {
> # 起動時に実行するコマンドを記述する
> }
>
> StopService ()
> {
> # シャットダウン時に実行するコマンドを記述する
> }
>
> RestartService () { StartService; }
>
> RunService "$1"
> EOF
サービスの説明を記述した plist ファイルを作成する
サービスの説明と提供するサービスの内容を書いたテキストファイルを作成します。
ファイル名は StartupParameters.plist とします。
# cat << EOF > /Library/StartupItems/サービス/StartupParameters.plist
> {
> Description = "サービスの説明";
> Provides = ("提供するサービスの内容");
> }
> EOF
正しい権限を設定する
セキュリティ上の理由から、ファイルの所有者が root 以外の場合は自動実行されない様なので権限を正しく設定します。
# chmod 755 /Library/StartupItems/サービス名/スクリプト名
# chown -R root:wheel /Library/StartupItems/サービス名
これで次回の起動時より指定したコマンドが自動で実行されます。