82 votes

Comment installer un init.d script ?

J'essaie d'installer un init.d script, pour exécuter celery pour la planification des tâches. Voici les étapes que j'ai suivies :

  • a copié le fichier celeryd et l'a collé dans le dossier /etc/init.d/
  • a créé un fichier de configuration celeryd dans le dossier /etc/default/

Maintenant, quand j'ai essayé de le démarrer en sudo /etc/init.d/celeryd start il y a une erreur sudo: /etc/init.d/celeryd: command not found

J'ai cherché sur Google comment installer init.d, j'ai obtenu ceci SO-question .

il est dit d'émettre un uname -a et quand je le fais, j'obtiens ceci :

Linux capsonesystem8-desktop 3.2.0-43-generic-pae 
#68-Ubuntu SMP Wed May 15 03:55:10 UTC     
2013 i686 i686 i386 GNU/Linux

et il est également indiqué d'utiliser des utilitaires comme insserv pour activer init.d script donc essayé :

insserv /etc/init.d/celeryd mais il y a une erreur insserv: command not found

J'ai donc essayé d'installer insserv sudo apt-get install insserv . mais il dit qu'il est déjà installé :

insserv is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 222 not upgraded.

Alors, comment installer init.d script ? ? Toute aide sera appréciée.

mise à jour1 :

quand j'ai essayé :

$ sh -x /etc/init.d/celeryd start

il révèle quelques errors . c'est peut-être pour cela que le service ne démarre pas.

mettre à jour2 :

J'ai éliminé toutes les erreurs lorsque je lance $ sh -x /etc/init.d/celeryd start mais quand même sudo /etc/init.d/celeryd start jette command not found erreur

83voto

Tim Clemons Points 1185

Lorsque vous copiez le script en place, n'oubliez pas de le rendre exécutable et possédé par root :

sudo chmod +x /etc/init.d/celeryd
sudo chown root:root /etc/init.d/celeryd

Une fois que vous l'avez installé, vous pouvez le configurer pour qu'il démarre automatiquement au démarrage :

sudo update-rc.d celeryd defaults
sudo update-rc.d celeryd enable

57voto

Alaa Ali Points 29075

Votre celeryd script n'est probablement pas exécutable, c'est pourquoi sudo /etc/init.d/celeryd est de retour command not found . Vous devez donc d'abord le rendre exécutable.

Pour ce faire, exécutez les commandes suivantes :

sudo chmod 755 /etc/init.d/celeryd
sudo chown root:root /etc/init.d/celeryd

La première ligne change les permissions en -rwxr-xr-x et la deuxième ligne assure que le propriétaire et le groupe propriétaire du fichier est root .

Une fois que c'est fait, je suppose que vous devrez utiliser sudo /etc/init.d/celeryd start pour démarrer le démon.

3voto

Radu Rădeanu Points 156862

Si vous obtenez le command not found erreur lorsque vous exécutez insserv vous pouvez le corriger en exécutant la commande suivante :

sudo ln -s /usr/lib/insserv/insserv /sbin/insserv

Alors, voyez insserv -h o man insserv pour de l'aide.

Vous pouvez aussi essayer avec :

sudo update-rc.d celeryd defaults

Source : https://askubuntu.com/a/334043/147044

1voto

Oleg Bondar' Points 11

Il s'agit d'une séquence de commandes pour démarrer automatiquement votre démon au démarrage :

sudo cd /etc/init.d
sudo chown root:root celeryd
sudo chmod 755 celeryd
sudo ln -s /usr/lib/insserv/insserv /sbin/insserv
sudo insserv celeryd

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X