web-dev-qa-db-fra.com

Quel est l'équivalent systemctl

Je suis en train de convertir un paquet de .rpm à .deb en utilisant ce tutoriel . Cependant, pour tester et déboguer l'application, je dois l'exécuter. Le readme du programme explique comment l'exécuter en tant que service avec:

systemctl enable progname.service
systemctl start progname.service

Quel est l'équivalent sur ubuntu pour ces commandes?

29
Marnaw

Ubuntu envisage/développe actuellement d’utiliser systemd à l’avenir. Voir les liens suivants pour info: Vivid passera au démarrage avec systemd ... et Notes de version: Gestion du démarrage et des services

J'utilise 14.04.

Vous pouvez utiliser la commande plus native update-rc.d. Consultez la page de manuel.

Activer un service avec des valeurs par défaut (voir la page de manuel):

Sudo update-rc.d foo_service defaults

Désactiver un service:

Sudo update-rc.d foo_service remove

Notez que pour supprimer sans message d'erreur le fichier foo_service ne doit pas être présent. Cependant, vous pouvez forcer:

Sudo update-rc.d -f foo_service remove
12
Ely

Le package par défaut sur 14.04 est systemd-services qui ne fournit pas la commande systemdctl.

Lis

Vous devez lire l'article Comment installer et tester Systemd sur Ubuntu 14.04 Trusty Tahr et Ubuntu 12.04 Precise Pangolin si vous voulez utilisez systemd.

Pitti PPA

Il existe un PPA ppa:pitti/systemd qui fournit le package adéquat pour LTS 12.04, 14.04 et à venir.

5
Édouard Lopez

systemctl est l'utilitaire de contrôle pour systemd:

http://www.freedesktop.org/software/systemd/man/systemctl.html

Notez que Ubuntu n'utilise pas systemd, il utilise upstart, ce qui en principe fait les mêmes choses, mais présente des concepts différents.

Sans beaucoup de connaissances sur systemd et sur la base de ce que j'ai lu dans le document que j'ai publié, je pense que vous n'avez pas besoin d'activer un service. Si vous supprimez simplement le fichier .conf de votre service dans/etc/init, vous devez en prendre conscience.

C’est pourtant le noeud du problème: le fichier de configuration systemd de votre service ne fonctionnera pas sans modification sous Ubuntu, vous devez la "traduire" en une version équivalente pour Upstart. Voici la documentation pour Upstart:

http://upstart.ubuntu.com/cookbook/

Une fois que vous avez un fichier .conf upstart approprié, vous pouvez démarrer un service (équivalent, je pense, à systemctl start) en utilisant:

start your-service
5
roadmr