all:bibles:linux:services
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| all:bibles:linux:services [2024/12/17 08:20] – [Démarrage/arrêt des services] omeylhoc | all:bibles:linux:services [2024/12/17 10:23] (Version actuelle) – [Création d'un service] omeylhoc | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | ====== Services ====== | ||
| + | |||
| + | ---- | ||
| + | |||
| + | <note tip>A partir de Redhat/ | ||
| + | |||
| + | ===== systemd ===== | ||
| + | |||
| + | ==== target boot ==== | ||
| + | |||
| + | <code bash> | ||
| + | systemctl get-default | ||
| + | systemctl set-default < | ||
| + | </ | ||
| + | |||
| + | La commande gère un lien default.target dans le répertoire <color # | ||
| + | === Equivalence target/ | ||
| + | |||
| + | ^ Runlevel | ||
| + | | 0 | poweroff.target | ||
| + | | 1 | rescue.target | ||
| + | | 2,3,4 | multi-user.target | ||
| + | | 5 | graphical.target | ||
| + | | 6 | reboot.target | ||
| + | |||
| + | === Interrogation runlevel === | ||
| + | |||
| + | <code bash> | ||
| + | who -r | ||
| + | </ | ||
| + | |||
| + | ==== Création d'un service ==== | ||
| + | |||
| + | <code bash> | ||
| + | [Unit] | ||
| + | Description=Description du service | ||
| + | # dépendances | ||
| + | Wants=svc1.service svc2.service | ||
| + | Requires=titi.service | ||
| + | # ordre de démarrage | ||
| + | Before=svc1.service | ||
| + | After=svc2.service | ||
| + | |||
| + | StartLimitIntervalSec=0 | ||
| + | |||
| + | [Service] | ||
| + | Type=simple | ||
| + | User=user | ||
| + | Group=group | ||
| + | |||
| + | StandardOutput=null | ||
| + | StandardError=null | ||
| + | SyslogIdentifier=appli | ||
| + | |||
| + | Environment=VAR1=VAL1 | ||
| + | Environment=VAR2=VAL2 | ||
| + | EnvironmentFile=/ | ||
| + | |||
| + | ExecStartPre=/ | ||
| + | ExecStartPre=-/ | ||
| + | ExecStartPre=/ | ||
| + | |||
| + | TimeoutStartSec=300 | ||
| + | |||
| + | WorkingDirectory=/ | ||
| + | ExecStart=commande | ||
| + | Restart=always | ||
| + | RestartSec=20 | ||
| + | |||
| + | ExecStopPost=/ | ||
| + | |||
| + | [Install] | ||
| + | WantedBy=multi-user.target | ||
| + | </ | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | ==== Management des services ==== | ||
| + | |||
| + | === Prise en compte modifications === | ||
| + | |||
| + | <code bash> | ||
| + | sudo systemctl daemon-reload | ||
| + | </ | ||
| + | |||
| + | === Démarrage/ | ||
| + | |||
| + | <code bash> | ||
| + | sudo systemctl start < | ||
| + | sudo systemctl stop < | ||
| + | sudo systemctl restart < | ||
| + | systemctl help < | ||
| + | systemctl status < | ||
| + | </ | ||
| + | |||
| + | === Activation/ | ||
| + | |||
| + | <code bash> | ||
| + | sudo systemctl enable < | ||
| + | sudo systemctl disable < | ||
| + | systemctl list-unit-files *.service | ||
| + | </ | ||
| + | |||
| + | === Interrogations === | ||
| + | |||
| + | <code bash> | ||
| + | systemctl status | ||
| + | systemctl list-units | ||
| + | systemctl | ||
| + | systemctl --failed | ||
| + | systemctl list-unit-files | ||
| + | systemctl is-enabled < | ||
| + | </ | ||
| + | |||
| + | ==== Debug ==== | ||
| + | |||
| + | === Fichier de log du service === | ||
| + | |||
| + | Si le paramètre SyslogIdentifier est utilisé : | ||
| + | |||
| + | <code bash> | ||
| + | sudo journalctl -u appli # pour voir les derniers messages | ||
| + | sudo journalctl -u appli -f # pour suivre en temps réel | ||
| + | sudo journalctl -xe # journaux du système | ||
| + | </ | ||
| + | |||
| + | === Analyse démarrage du système === | ||
| + | |||
| + | <code bash> | ||
| + | systemd-analyze blame # liste les services lancé au démarrage, triés selon leur temps d' | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | [[all: | ||
| + | |||
| + | ===== Ancien management des services ===== | ||
| + | |||
| + | ==== Démarrage/ | ||
| + | |||
| + | <code bash> | ||
| + | service <nom> start | ||
| + | service <nom> stop arrêt du service | ||
| + | service <nom> restart | ||
| + | service <nom> reload | ||
| + | service <nom> status | ||
| + | </ | ||
| + | |||
| + | ==== Activation/ | ||
| + | |||
| + | === Redhat === | ||
| + | |||
| + | <code bash> | ||
| + | chkconfig < | ||
| + | chkconfig --list < | ||
| + | chkconfig --list | ||
| + | chkconfig --add < | ||
| + | chkconfig --del < | ||
| + | chkconfig --level x < | ||
| + | </ | ||
| + | |||
| + | === Ubuntu === | ||
| + | |||
| + | <code bash> | ||
| + | sudo update-rc.d < | ||
| + | sudo update-rc.d < | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Ancien niveaux d' | ||
| + | |||
| + | ^ Niveau | ||
| + | | 0 | Halt : arrête le système d' | ||
| + | | 1 | mode mono utilisateur pour la maintenance, | ||
| + | | 2 | mode multi utilisateur, | ||
| + | | 3 | mode multi utilisateur, | ||
| + | | 4 | idem que 3 laissé à la convenance de l’administrateur | ||
| + | | 5 | mode multi utilisateur, | ||
| + | | 6 | reboot, redémarrage de la machine | ||
| + | | S,s | mode single user, le mode le plus bas en cas de soucis | ||
| + | |||
| + | Le niveau d' | ||
| + | |||
| + | <code bash> | ||
| + | id: | ||
| + | </ | ||
| + | |||
| + | Pour chaque niveau d’exécution il existe un répertoire /etc/rcn.d qui contient des liens symboliques vers les services, à lancer ou arrêter, présents dans /etc/init.d | ||
| + | |||
| + | Les liens sont de la forme Sxx< | ||
| + | xx défini l’ordre d’exécution (00= premier, 99=dernier), | ||
| + | |||
| + | ---- | ||
| + | |||
| + | [[all: | ||
