Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
utilisateurs:fabux:brouillons:upstart [Le 20/01/2011, 18:46] fabux màj | |
— (Version actuelle) | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>système administration services}} | ||
- | ---- | ||
- | ====== Upstart ====== | ||
- | |||
- | <note important> page en cours d'élaboration</note> | ||
- | =====Introduction===== | ||
- | {{ http://upload.wikimedia.org/wikipedia/fr/e/e9/Upstart-header.png?350|Logo upstart}} | ||
- | |||
- | <note>Cette page traite des [[services]] gérés par Upstart. Vous trouverez d'autres informations à leur sujet sur la page <<** [[script_sysV|Les scripts System V]] **>>.\\ | ||
- | Il est utile de prendre connaissance de ces deux pages pour appréhender au mieux la gestion des services installés sur votre machine.</note> | ||
- | Upstart, écrit par [[https://launchpad.net/~scott|Scott James Remnant]]((employé de Canonical Ltd)), est un successeur des [[script_sysV|scripts system V]] et se base sur les événements.\\ | ||
- | Il fonctionne de manière asynchrone: de la même manière qu'il gère le lancement et l'arrêt des [[services]] au démarrage et à l'arrêt de la machine, il les supervise pendant que le système tourne. | ||
- | |||
- | Upstart est apparu avec [[:edgy|Ubuntu 6.10 "Edgy Eft"]] afin de remplacer sysinit. Dans les versions suivantes, il a vu son rôle étendu et devrait remplacer dans le futur [[:cron]], [[:init_d#atd]], [[:anacron]] et peut-être inetd ((démon Unix qui permet de gérer les connexions à des services réseau. [[http://fr.wikipedia.org/wiki/Inetd|Wikipedia]]))\\ | ||
- | Fedora utilise aussi Upstart depuis sa version 9 et l'équipe de Debian envisage de l'intégrer dans Debian 6 "Squeeze". | ||
- | |||
- | <note important>Vu le risque que peut engendrer la mauvaise gestion des [[services]], la plupart des commandes indiquées nécessite les droits [[:sudo|administrateur]].</note> | ||
- | |||
- | =====Utilisation===== | ||
- | |||
- | Il existe des [[#logiciels]] qui prennent en charge les scripts Upstart, néanmoins l'outil qui permet de les contrôler ponctuellement se nomme ''**initctl**''.\\ | ||
- | Pour une explication détaillée n'hésitez pas à consulter sa page de [[:man|manuel]] mais il est généralement utilisé ainsi dans un [[:terminal]]: | ||
- | <code>sudo initctl ACTION NomService</code> | ||
- | Où | ||
- | * NomService est le nom du service a impacter, | ||
- | * ACTION est la commande que l'on souhaite appliquer au dit service. | ||
- | |||
- | La plupart des actions utilisées sont: | ||
- | * start ((démarrage)) | ||
- | * stop ((arrêt)) | ||
- | * restart ((relancer)) | ||
- | * reload ((recharger)) | ||
- | * status ((état)) | ||
- | * list ((lister)) | ||
- | * emit ((émettre un évenement)) | ||
- | |||
- | Quelque-soit l'action menée sur un service, au prochain démarrage de la machine celui-ci devrait retrouver le status qui lui a été [[#Modifier l'exécution d'un service|défini par défaut]]. | ||
- | |||
- | ===Exemples=== | ||
- | |||
- | <code>initctl status udev</code>donnera l'état du service [[:udev]] ainsi que son PID si celui-ci est actif, | ||
- | <code>sudo initctl stop tty3</code> arrêtera la connexion au [[:console|tty]]3 , | ||
- | <code>sudo initctl restart gdm</code> relancera le serveur graphique.\\ | ||
- | L'action ''restart'' renverra l' erreur ''initctl: Unknown instance'' si le service n'est pas en cours de fonctionnement ou est géré pas un [[script_sysV|script system V]]. | ||
- | |||
- | <note>Des liens vers les commandes principales d'initctl sont installés par défaut. Il s'agit de ''start'', ''stop'', ''restart'' et ''status''.\\ | ||
- | Par exemple ''**sudo restart gdm**'' est équivalent à ''**sudo initctl restart gdm**''.</note> | ||
- | |||
- | =====Lister les services démarrés===== | ||
- | |||
- | Saisissez dans un [[:terminal]] : | ||
- | <code> | ||
- | initctl list | ||
- | </code> | ||
- | Vous obtenez la liste des services Upstart accompagnés de leur état ainsi que leur pid. | ||
- | |||
- | =====Modifier l'exécution d'un service===== | ||
- | |||
- | Contrairement aux [[script_sysv|scripts system V]] qui utilise l'outil ''update-rc.d'', Upstart utilise des fichiers de configuration correspondant aux différents services à manipuler.\\ | ||
- | Ces fichiers de configuration, qui se trouve dans ''**/etc/init/**'', permettent d'indiquer les conditions d'activation ou désactivation d'un service ou d'y insérer ses propres scripts. | ||
- | <note important>Ce dossier étant essentiel au bon fonctionnement de votre système, il est conseillé d'en faire une sauvegarde avant toute modification de fichier.\\ | ||
- | Dans un [[:terminal]] saisissez: | ||
- | <code>sudo cp -r /etc/init/ /etc/init.save$(date +%Y%m%d)</code></note> | ||
- | Pour désactiver définitivement un service de **tous** les runlevel, il suffit de renommer le fichier de configuration.\\ | ||
- | Néanmoins si vous souhaitez modifier l'état d'un service selon certaines conditions, vous devrez [[:tutoriel:comment_modifier_un_fichier|modifier le fichier]] **/etc/init/NomService.conf**.\\ | ||
- | |||
- | ===Exemples=== | ||
- | FIXME: **Je n'ai pas testé :-D** | ||
- | |||
- | * Si vous souhaitez désactiver [[:gdm]], dans un [[:terminal]] saisissez: | ||
- | <code>sudo mv /etc/init/tty6.conf /etc/init/tty6.conf.noexec</code> | ||
- | Pour réactiver le service, il faudra faire la manipulation inverse: | ||
- | <code>sudo mv /etc/init/tty6.conf.noexec /etc/init/tty6.conf</code> | ||
- | |||
- | * Si vous souhaitez ne jamais lancer [[:gdm]], plutôt que de renommer le fichier comme indiqué plus avant, il faudra [[:tutoriel:comment_modifier_un_fichier|modifier le fichier]] **/etc/init/gdm.conf** pour ajouter ''never'' à la ligne ''start on ('' comme ceci: | ||
- | <code>start on (never | ||
- | and filesystem | ||
- | and started hal | ||
- | and tty-device-added KERNEL=tty7 | ||
- | and (graphics-device-added or stopped udevtrigger)) | ||
- | stop on runlevel [016] | ||
- | ...</code>Vous pouvez constater que [[:gdm]] dépend également d'autres évènements ([[:systeme_de_fichiers|fichiers système]] montés, [[:hal]] démarré...). | ||
- | |||
- | * Si vous souhaitez pouvoir lancer [[:gdm]] uniquement après vous être connecté dans une [[:console]], [[:tutoriel:comment_modifier_un_fichier|modifiez le fichier]] **/etc/init/gdm.conf** comme ceci: | ||
- | <code>start on (runlevel [3] | ||
- | and filesystem | ||
- | and started hal | ||
- | and tty-device-added KERNEL=tty7 | ||
- | and (graphics-device-added or stopped udevtrigger)) | ||
- | stop on runlevel [0126] | ||
- | ...</code> | ||
- | |||
- | =====Logiciels===== | ||
- | |||
- | Vous trouverez sur la page <<** [[Services]] **>> une liste non exhaustive de logiciels permettant la gestion des scripts Upstart. | ||
- | |||
- | ===== Ressources ====== | ||
- | * [[http://upstart.ubuntu.com/|Site web d'Upstart]] | ||
- | * [[https://launchpad.net/upstart|Upstart sur Launchpad]] | ||
- | * [[https://wiki.ubuntu.com/ReplacementInit|Upstart sur le Wiki anglophone]] | ||
- | * [[http://ubuntuforums.org/showthread.php?t=1305659|Thread anglais]] | ||
- | * [[http://ubuntuforums.org/archive/index.php/t-1519273.html|Archive d'un thread anglais]] | ||
- | |||
- | ---- | ||
- | //Contributeurs: [[:utilisateurs:fabux]],// |