起動時に /var/run にディレクトリを作成するにはどうすればいいですか?

起動時に /var/run にディレクトリを作成するにはどうすればいいですか?

/etc/init.d の起動スクリプトが使用する、非ルート所有のディレクトリを /var/run に作成する必要があります。これを実現する適切な方法は何ですか? Ubuntu 14.04 を使用しています。

答え1

これをオンザフライで行う必要があります。tmpfs/var/run/なので、起動ごとに再作成します。

init スクリプトから:

  • 内部にディレクトリを作成し/var/run/、そのユーザーの権限を変更します。
  • 次に、/var/run/mydaemonではなくを使用するように指定します/var/run

このチェック方法の例が必要な場合は、以下を参照してください (他にも例があります):

/etc/init.d/ssh
/etc/init.d/bind9
/etc/init/dbus.conf
/etc/init/ssh.conf
/etc/init/cups.conf

それらすべてに何らかのものがありますmkdir。cups.conf:

mkdir -p /var/run/cups/certs

設定ファイル

pre-start script
    [ -x /usr/sbin/cupsd ]

    # load modules for parallel port support
    if [ -r /etc/default/cups ]; then
    . /etc/default/cups
    fi
    if [ "$LOAD_LP_MODULE" = "yes" -a -f /usr/lib/cups/backend/parallel \
     -a -f /proc/modules -a -x /sbin/modprobe ]; then
    modprobe -q -b lp || true
    modprobe -q -b ppdev || true
    modprobe -q -b parport_pc || true
    fi

    mkdir -p /var/run/cups/certs
    if [ -x /lib/init/apparmor-profile-load ]; then
    /lib/init/apparmor-profile-load usr.sbin.cupsd
    fi
end script

関連情報