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
utilisateurs:stepho:creer_un_service_avec_systemd [Le 12/01/2016, 11:45]
stepho
— (Version actuelle)
Ligne 1: Ligne 1:
-{{tag>​Vivid Wily tutoriel systemd service BROUILLON}} 
----- 
  
-====== Comment créer un nouveau service avec Systemd ====== 
-Ce tutoriel décrit la démarche à suivre pour faire transformer un programme en un service Systemd pouvant être lancé automatiquement au démarrage du système. 
- 
-Pour notre exemple, nous allons créer un service pour lancer le daemon [[Deluge]] au démarrage (deluged), mais cela peu s'​appliquer à n'​importe quel programme. 
- 
-===== Contexte ===== 
-[[:​Systemd]] ([[https://​fr.wikipedia.org/​wiki/​Systemd|Wikipedia]]) remplace [[:​script_sysv|System V]] ([[https://​fr.wikipedia.org/​wiki/​UNIX_System_V|Wikipedia]]) et [[:​Upstart]] en tant que système d'​initialisation par défaut dans Ubuntu depuis la versio 15.04 [[:Vivid]], et depuis la version 8 dans [[https://​www.debian.org/​|Debian]] (Jessie). 
- 
-===== Pré-requis ===== 
-  * Disposer des [[:​sudo|droits d'​administration]] 
-  * Savoir utiliser le [[:​terminal]] 
- 
-===== Création d'un script d'​encapsulation du programme ===== 
-Deluged ne gère pas les paramètres d'​arrêt ou de relance, nous devons donc créer un script qui s'en chargera. 
-On pourra stocker ce script dans ''/​usr/​local/​bin''​. 
- 
-<​code>​cat >/​usr/​local/​bin/​deluge.sh</​code>​ 
-Puis collez le code ci-dessous (<​CTRL>​+<​D>​ pour finir). 
-<​code>​ 
-#! /bin/sh 
-# /​usr/​local/​bin/​deluge.sh 
-# 
- 
-function d_start 
-{ 
-        echo "​Deluge : starting service"​ 
-        deluged --pidfile=/​tmp/​deluge.pid 
-        echo "PID is $(cat /​tmp/​deluge.pid)"​ 
-} 
- 
-function d_stop 
-{ 
-        echo "​Deluge : stopping service (PID=$(cat /​tmp/​tunnel.pid))"​ 
-        kill $(cat /​tmp/​tunnel.pid) 
-        rm /​tmp/​tunnel.pid 
-} 
- 
-# Gestion des instructions du service 
-case "​$1"​ in 
-        start) 
-                d_start 
-                ;; 
-        stop) 
-                d_stop 
-                ;; 
-        reload) 
-                d_stop 
-                sleep 1 
-                d_start 
-        *) 
-        echo "​Usage:​ $0 {start|stop|reload}"​ 
-        exit 1 
-        ;; 
-esac 
- 
-exit 0 
-</​code>​ 
- 
-===== Création du fichier de service Systemd ===== 
-Dans Systemd , les services sont définis dans des fichiers ''​.service'',​ situé dans ''/​etc/​systemd/​system/''​. 
- 
-Créons un fichier de service pour notre programme :  
-<​code>​cat >/​etc/​systemd/​system/​deluge.service</​code>​ 
-Puis collez le code ci-dessous (<​CTRL>​+<​D>​ pour finir). 
-<​code>​ 
-[Unit] 
-Description=Deluge daemon 
-After=network.target auditd.service 
- 
-[Service] 
-Type=forking 
-ExecStart=/​usr/​local/​bin/​deluge.sh start 
-ExecStop=/​usr/​local/​bin/​deluge.sh stop 
-ExecReload=/​usr/​local/​bin/​deluge.sh stop 
- 
-[Install] 
-WantedBy=multi-user.target 
-</​code>​ 
- 
- 
-===== Autres étapes ===== 
- 
-===== Conclusion ===== 
-Voila, vous savez maintenant faire le café avec Ubuntu ! 
- 
-===== Problèmes connus===== 
- 
-Si votre café est trop fort, saisissez la commande suivante dans un [[:​terminal]]:​ ... 
- 
-===== Voir aussi ===== 
- 
-  * [[http://​forum.ubuntu-fr.org/​viewtopic.php?​id=64840|Discussion "​Tutoriel pour faire le café"​]] sur le forum ubuntu-fr 
-  * https://​wiki.debian.org/​fr/​systemd 
-  * http://​www.freedesktop.org/​wiki/​Software/​systemd/​ 
----- 
-//​Contributeurs principaux : [[:​utilisateurs:​stepho]].//​ 
  • utilisateurs/stepho/creer_un_service_avec_systemd.1452595535.txt.gz
  • Dernière modification: Le 12/01/2016, 11:45
  • par stepho