Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
upstart [Le 01/11/2009, 21:59]
Mathieu Comandon mise a jour de la page
upstart [Le 11/09/2022, 11:08] (Version actuelle)
moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892)
Ligne 1: Ligne 1:
 +{{tag>​système administration services}}
 +----
 +
 ====== Upstart ====== ====== Upstart ======
 +<note important>​upstart a été remplacé(([[https://​lists.ubuntu.com/​archives/​ubuntu-devel-announce/​2015-March/​001130.html|annonce du 5 mars 2015 sur ubuntu.com]])) par [[systemd]] à partir de [[vivid|Vivid]] (15.04)</​note>​
 +{{ https://​upload.wikimedia.org/​wikipedia/​commons/​7/​74/​Logo_for_Upstart_daemon.png?​350|Logo upstart}}
  
-===== Introduction =====+Upstart 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.
  
-Pour résumer, ​Upstart est un remplaçant du daemon init qui se base sur les événementsIl a été écrit par Scott James Remnant, un employé ​de Canonical LtdUpstart fonctionne de manière asynchrone. De la même manière qu'il gère le lancement des tâches ​et daemons au démarrage et leur arrêt à 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 sysinitDans 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 -- [[wpfr>​Inetd|inetd]]))\\
  
-Upstart est apparu dans Ubuntu 6.10 "Edgy Eft" en remplacement de sysinit. Dans les versions suivantes, Upstart a vu son rôle étendu et remplace ou devrait remplacer dans le futur cronatd, anacron et inetd.+<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=====
  
-===== Contrôler ​les services ​Upstart ​======+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**.\\ 
 +Il est généralement utilisé ainsi dans un [[:​terminal]]:​ 
 +<​code>​sudo initctl ACTION NomService</​code>​ 
 +Où 
 +  * ACTION sera la commande que l'on souhaite appliquer au dit service: 
 +      * // start // : démarrer le service 
 +      * // stop // : arrêter le service 
 +      * // restart // : relancer le service 
 +      * // reload // : recharger le service 
 +      * // status // : connaitre l'​état du service 
 +  * NomService est le nom du service visé. 
 +  
 +Quelle que 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]].
  
-L'​outil qui permet de contrôler ​les services Upstart se nomme **initctl**, ​pour une explication détaillée vous pouvez consulter ​la page de manuel ​+Pour une explication plus détaillée et les autres actions possibles n'​hésitez pas à consulter le [[:​man|manuel]] d'**initctl**
-<​code>​man initctl</​code>​ + 
-Des liens vers les commandes principales d'​initctl sont installés par défaut. Il s'agit de start, stop, restartstatus. Ansi //​restart ​gdm// est équivalent ​a //initctl restart gdm//.+===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 lightdm</​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 ​lightdm** est équivalent à **sudo initctl restart lightdm**.<​/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. 
 + 
 +<note tip> 
 +Pour obtenir une liste ordonnée, tapez : 
 +  initctl list | sort 
 +</​note>​ 
 + 
 +=====Modifier l'​exécution d'un service===== 
 + 
 +Contrairement aux [[script_sysv|scripts system V]] qui utilisent 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 tout ce qui concerne lightdm n'est pas à jour. 
 +  * Si vous souhaitez désactiver [[:​lightdm]],​ 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 [[:​lightdm]],​ plutôt que de renommer le fichier comme indiqué plus avant, il faudra [[:​tutoriel:​comment_modifier_un_fichier|modifier le fichier]] **/​etc/​init/​lightdm.conf** pour ajouter //never// à la ligne //start on (// comme ceci: 
 +<​file>​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] 
 +...</​file>​Vous pouvez constater que [[:​lightdm]] dépend également d'​autres événements ([[:​systeme_de_fichiers|fichiers système]] montés, [[:hal]] démarré...). 
 + 
 +  * Si vous souhaitez pouvoir lancer [[:​lightdm]] uniquement après vous être connecté dans une [[:​console]],​ [[:​tutoriel:​comment_modifier_un_fichier|modifiez le fichier]] **/​etc/​init/​lightdm.conf** comme ceci: 
 +<​file>​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] 
 +...</​file>​ 
 + 
 +==== Personnaliser un fichier de configuration UpStart ==== 
 + 
 +Quand on besoin de personnaliser un fichier de configuration upstart (.conf), il est préférable de le faire dans un fichier .override que modifier le .conf , celui-ci pouvant être écrasé lors d'une mise à jour évolutive (ex. nouvelle version du service). 
 + 
 +Par exemple, pour rajouter une [[https://upstart.ubuntu.com/cookbook/#​stanzas-by-category|stanza]] comme un pre-stop à /​etc/​init/​mysql.conf,​ il convient de créer /​etc/​init/​mysql.override et d'y placer la stanza pre-stop. 
 + 
 +Cf. [[https://​upstart.ubuntu.com/​cookbook/#​override-files|ici]] (en anglais) pour de plus amples informations. 
 +=====Logiciels===== 
 + 
 +Vous trouverez sur la page <<** [[Services]] **>> une liste non exhaustive de logiciels permettant la gestion des scripts Upstart.
  
 ===== Ressources ====== ===== Ressources ======
-  * [[http://​upstart.ubuntu.com/​|Site web d'​Upstart]] ​ +  * [[https://​upstart.ubuntu.com/​|Site web d'​Upstart]]
-  * [[https://​launchpad.net/​~scott|Scott James Remnant]], créateur d'​Upstart+
   * [[https://​launchpad.net/​upstart|Upstart sur Launchpad]]   * [[https://​launchpad.net/​upstart|Upstart sur Launchpad]]
   * [[https://​wiki.ubuntu.com/​ReplacementInit|Upstart sur le Wiki anglophone]]   * [[https://​wiki.ubuntu.com/​ReplacementInit|Upstart sur le Wiki anglophone]]
 +  * [[https://​ubuntuforums.org/​showthread.php?​t=1305659|Thread anglais]]
 +  * [[https://​ubuntuforums.org/​archive/​index.php/​t-1519273.html|Archive d'un thread anglais]]
 +  * [[http://​wiki.frugalware.org/​index.php/​Upstart_Job_HOWTO|cette page du wiki frugalware]] (en) pour [[:​tutoriel:​comment_transformer_un_programme_en_service|démoniser]] mais avec upstart.
 +
 +----
 +//​Contributeurs:​ [[:​utilisateurs:​fabux]],//​
  • upstart.1257109194.txt.gz
  • Dernière modification: Le 01/11/2009, 21:59
  • par Mathieu Comandon