Le 14 septembre 2017, nous avons publié une version actualisée de notre Politique de confidentialité. En utilisant video2brain.com vous vous engagez à respecter ces documents mis à jour. Veuillez donc prendre quelques minutes pour les consulter.

Linux : Les services système

Comprendre les processus targets et runlevels

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
La mise en place des processus et du système est une tâche fondamentale de init. Découvrez comment systemd active le swap lors du boot (démarrage de l'ordinateur).
07:06

Transcription

Cette commande systemctl qu'on vient de voir, c’est une commande qui va me permettre de démarrer, d’arrêter ou éventuellement d’activer ou désactiver des services lors du démarrage mais elle va beaucoup plus loin que ça. C’est la commande qui permet de gérer systemd et de gérer toutes les opérations qui sont réalisées par systemd. Cette commande « systemctl » va me permettre, comme on l’a vu précédemment, de configurer rsyslog pour que rsyslog soit démarré lors du « boot-up ». Si je regarde le statut de rsyslog, mon statut c’est qu'il est « enabled ». Lors du boot, rsyslog a démarré. Mais du coup, la question se pose, quand a-t-il démarré pendant la phase de boot car il va se passer des choses pendant le boot, notamment je suis sur un système qui a plusieurs partitions, donc il va falloir monter ces différentes partitions. Est-ce que c’est monté avant de démarrer mon rsyslog ou est-ce que c’est monté après ? Ça serait bien de le démarrer après car si les logs sont dans une partition à part, la partition doit être montée pour pouvoir y accéder. Même chose si je tape « top », je vais voir que j’ai du « swap » qui est activé. Est-ce que mon rsyslog démarre avant l’activation du « swap » ou après l’activation du « swap » ? C’est encore une fois le rôle de systemd de s’occuper de ça. Et donc pendant les phases de démarrage, il y a plusieurs opérations qui vont s’enchainer et ces différentes opérations, notamment les premières opérations, sont très visibles, monter les systèmes de fichier, mettre en place le « swap », elles devront avoir lieu dans un certain ordre. Et pour ça, il y a différentes, ce qu’on appelait des « target » qui sont définis avec systemd. Alors si je fais « ctrl + L » pour effacer la page, je peux afficher pour systemd les différentes « target » qui sont configurés. Alors pour ça, je fais « systemctl », je vais faire un « list-units ». Alors une « target » c’est une unité, c'est-à-dire que systemd va gérer des « target ». Il va également gérer des services, comme on l’a vu. Le service, c’est une autre forme d’unité. Moi, ceux qui vont m’intéresser ici c’est « type=target ». Donc je ne vais afficher que les « target ». Et si je regarde ce qu’il y a, j’ai différentes choses qui sont en plus commentées, c'est-à-dire que le « basic.target » qui est ici, c’est le « system basic », alors « system basic » on n’aura pas l’interface graphique, on aura très peu de choses. Le « cryptsetup », c’est lui qui va permettre de gérer les volumes chiffrés. Le « getty.target », c’est lui qui va me permettre d’avoir des consoles avec lesquelles je pourrai me connecter en mode texte. Le « graphical.target », c’est ce qui va me permettre d’avoir l’interface graphique. Chaque élément correspond en réalité à un certain nombre de choses qui devront se passer sur la machine. Et une des toutes premières opérations qui a lieu, c’est le « sysinit.target ». Le « sysinit.target », une fois qu’il est obtenu, il pourra enchainer avec autre chose. Et lui le « sysinit.target », il ne sera obtenu, que quand on aura monté le système de fichier local et qu’on aura activé le « swap » puisque ce sont les opérations qui ont lieu dedans. On le voit, à chaque fois que mon système va démarrer, il a un certain nombre de points qu’il va devoir atteindre et à partir de ce point-là, il ira éventuellement vers un autre point s’il n’a pas terminé son démarrage. Typiquement, une fois qu’on a fini le « sysinit », peut-être qu’on peut passer en « multi-user.target ». Il va activer le fait qu’on puisse se connecter sur la machine. Et le « mulit-user.target » sur ma machine, qui a une interface graphique, parce que j’ai une souris, j’ai des menus et elle, elle va appeler le « graphical.target ». Donc on le voit, c’est vraiment différentes étapes, qui vont avoir lieu les unes après les autres. Alors, si je m’intéresse à la configuration de ce « sysinit.target », je vais appeler la commande « systemctl » et je vais lui demander avec la commande « cat », enfin là c’est une option « cat », de m’afficher la configuration, le fichier de configuration de « sysinit.target ». Et si je fais ça, il me l’affiche, voilà. Il me dit, c’est un fichier qui fait partie de systemd, il me dit où il est, je pourrais ne pas savoir où il est, je peux laisser systemd gérer l’endroit où il est. Il me dit que comme « unité », c’est l’initialisation du système. Il y a de la documentation avec la page du manuel qui est concerné. Il ne pourra pas tourner en même temps que les « target » « emergency.service emergency.target ». Les « unity » « emergency.service » et « emergency.target » Le « wants », ça veut dire que ça, ce sont des dépendances pour pouvoir activer le « sysinit ». Donc le « sysinit », si je dis : tu passes en « sysinit », il va regarder si le local est fait, si le target est fait. S’il n’a pas été fait, il va le faire, ensuite il va regarder le « swap.target », s’il n’a pas été fait, il va le faire. Et « after », ça aura lieu automatiquement quand celui-là aura été appelé, quand celui-là aura été appelé, quand celui-là aura été appelé ou quand celui-là aura été appelé. Alors je propose qu’on aille voir, par exemple, le « swap.target ». Donc je vais rappeler la même commande, « systemctl cat » et cette fois ce que je vais faire, c’est d’ailleurs, je vais mettre le « swap.target », et ici je vais avoir quoi ? « Description=swap », il ne me dit pas grand-chose. Le but ici, c’est d’activer le « swap ». Donc c’est juste une étiquette, si vous voulez, ces « target »-là, ce sont des étiquettes et on va rattacher des services, des opérations à ces différentes étiquettes. Le « swap target », par exemple, si je dis : tu vas en « swap target », il y a des actions qui sont associées au « swap target » et qui vont permettre du coup d’activer le « swap », en l’occurrence. Et cette configuration « swap.target », le rôle, l’action qu’elle va réaliser, c’est qu’elle va rechercher les unités de type « .swap ». Donc si je liste les unités cette fois, pas les « target », mais les unités de type « swap », je n'ai qu’une seule qui apparait, alors il m’affiche un « less » donc je peux faire « q ». Il n'y a qu’une seule qui apparait, qui en réalité, correspond, alors ici on voit, il a un nom un petit peu étrange, c’est juste que c’est le périphérique en passant par son « UUID » et «l’UUID» il est précisé ici, correspond à ce fichier-là, c’est tout simplement la partition qui a cette « UUID »-là, enfin, celui qui est marqué ici, et la partition qui a cet « UUID » là, c’est la partition de « swap » et donc du coup il va activer le « swap » de cette partition-là. Ce qu’il faut vraiment comprendre ici avec ces différentes « target », c’est que les « target », c’est un élément un petit peu plus fin que ce qu’on avait avec les « run level » avec les niveaux d’exécution qu’on avait autrefois sur les distributions. On disait le niveau 1 c’est le mode mon utilisateur, le niveau 5 c’est le mode graphique multiutilisateurs. Là, on passe vraiment par des petites étapes intermédiaires, on peut toutes les lister. Donc là, si je reliste mes « target », ce sont toutes les « target » qui ont été atteintes pour atteindre l’état dans lequel je suis en ce moment, c'est-à-dire qu’il est passé par toutes celles-là et il a commencé à avoir une « target » de destination. À priori, c’est ma « graphical.target ». Et en regardant les prérequis pour les « graphical.target », on est redescendu à des dépendances, des dépendances de dépendance, des dépendances de dépendance de dépendance, etc. jusqu’à arriver aux premières opérations réalisées, puis ensuite toutes les faire dans le bon ordre. Je peux d’ailleurs ajouter une option « --all » ici derrière mon « type=target », pour dire je ne veux pas que les « target » qui ont été atteintes pour atteindre l’état dans lequel je suis maintenant, mais toutes celles qui existent et qui sont définies. On voit qu’il y en a quelques-unes de plus, il n’y a pas énormément en plus mais il y a quelques-unes de plus. Il y en a une dont il ne trouve pas le fichier de conf, le « syslog.target », il ne le trouve pas tout simplement parce qu’on n'utilise plus syslog sur ces machines-là, on utilise rsyslog qui est un successeur à syslog. Alors on peut voir celles qui sont actives, celles qu’on avait dans l’écran d’avant. Les inactives, c’est quoi ? C’est la synchronisation du temps qui n’est pas active. C’est le mode « rescue » qui n’est pas actif. Oui on est en mode multiutilisateurs, on n'est pas en mode « rescue ». Le « Port Mapper » n’a pas été démarré. On n'est pas en train d’arrêter la machine. On a tout un ensemble de choses comme ça qui ne sont pas actives, qu’on peut voir ici. Donc systemd lui, il va démarrer le système en regardant quelle est la cible qu’il doit atteindre et quelles sont les dépendances liées à cette cible-là, comme on vient de le voir.

Linux : Les services système

Découvrez les services qui tournent en permanence sur votre système et adaptez-les en fonction de vos besoins. Abordez la gestion des logs, la synchronisation horaire, etc.

2h16 (22 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Thématiques :
IT
Systèmes d'exploitation
Spécial abonnés
Date de parution :25 avr. 2017

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !