web-dev-qa-db-fra.com

Comment créer un répertoire dans / var / run au démarrage?

J'ai besoin de créer un répertoire appartenant à la racine dans/var/run qu'un script de démarrage dans /etc/init.d utilisera. Quel est le bon moyen d'y parvenir? J'utilise Ubuntu 14.04.

2
prasopes

Vous devez le faire à la volée. /var/run/ est un fichier tmpfs, donc recréé à chaque démarrage.

A partir du script init:

  • Créez un répertoire à l'intérieur de /var/run/ et modifiez les autorisations de cet utilisateur.
  • Puis spécifiez d'utiliser /var/run/mydaemon plutôt que /var/run.

Si vous voulez des exemples sur la façon de faire cette vérification (il y en a plus):

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

Tous ont une sorte de mkdir dedans. cups.conf:

mkdir -p /var/run/cups/certs

/ etc/init/cups.conf

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
4
Rinzwind