Exercices¶
Un bon moyen de progresser est de trouver des obstacles à surmonter, ou au moins des trucs à faire !
Héberger un serveur de jeu¶
Une très grosse partie des utilisateurs de linux hébergent des services sur leur machine. Un service est un programme qui démarre avec la machine, et qui est redémarré en cas de problème.
C’est par exemple pratique pour héberger des serveurs de jeu !
La plupart des distributions utilisent systemd
pour gérer les services du
système.
Ouvrez un terminal et saisissez systemctl status
pour lister les services
actifs sur votre machine.
Chaque ligne qui se termine par .service
correspond à un service, et les
lignes immédiatement en dessous sont les processus qui appartiennent au service.
Un système qui ne fait qu’héberger un serveur de jeu aura un status comme celui-ci :
● mamachine
State: running
Jobs: 0 queued
Failed: 0 units
Since: Wed 2020-03-25 09:37:08 PDT; 14h ago
CGroup: /
├─user.slice
└─system.slice
└─monserveurdejeu.service
└─4242 /usr/bin/monserveurdejeu
En pratique, il y a beaucoup, beaucoup de services sur une machine !
Pour rajouter un nouveau service, il faut créer un fichier dans le dossier
/etc/systemd/system
.
Le contenu de ce fichier sert à décrire quoi démarrer avec le service:
[Unit]
Description=Un serveur de jeu
[Service]
# Quel programme démarrer
ExecStart=/usr/bin/monserveurdejeu
[Install]
# Choisit quand démarrer le service si il est activé.
# On peut choisir de ne pas démarrer tous les services (pas besoin de démarrer
# des services graphiques si il n'y a pas d'écran branché par exemple).
# multi-user correspond à un démarrage normal du système, où plusieurs
# utilisateurs peuvent s'identifier.
WantedBy=multi-user.target
On peut ensuite l’activer avec systemctl enable monservice
, pour qu’il
démarre tout seul avec la machine, puis le démarrer avec systemctl start monservice
.
Votre mission, si vous l’acceptez, et de créer un service systemd qui démarre un serveur teeworlds !