SlideShare une entreprise Scribd logo
1  sur  56
Systemd
Premier Processus de démarrage
BIOS/EFI
Noyau
GRUB
Initrd
Systemd
runlevel3.target, multi-user
runlevel5.target, graphical
runlevel1.target,
rescue.target
NetworkManager.service
systemd-journald.service
systemd-logind.service
firewalld.service
23/10/2015
Le Bios etl’UEFI
• BIOS Système d’Entrée Sortie
• BIOS (Basic Input Output System) est le premier programme qui est exécuté lors de la mise
sous tension de la machine
• Ce système se trouve dans la mémoire morte de la carte mère
• A pour rôle :
 Teste la présence des périphériques et initialise tous les composants de la carte mère – POST Power-
On-Self-Test
 Initialise l’amorçage du système d’exploitation via le MBR et lance le chargeur d’amorçage.
 Les communications entre le système d’exploitation et les périphériques
23/10/2015
Le Bios etl’UEFI
Bios Phenix
23/10/2015
Le Bios etl’UEFI
• UEFI - Unified Extensible Firmware Interface ou Interface micro logicielle
extensible unifiée
• L’UEFI est amené à remplacer le BIOS sur les cartes mères.
• Intel avait développé EFI
• UEFI est développé par AMD, American Megatrans, Apple, Dell, HP,
Microsoft,… Dans l’UEFI Forum
• L’UEFI offre plusieurs avantages par rapport au BIOS
• Écrit en C, Interface graphique haute résolution, prise en charge réseau,
multi-boot et gestion des disques GPT (non limité à 2,2 To, Shell UEFI
• Le secure boot !
23/10/2015
Le Bios etl’UEFI
UEFI typeMSI
262
23/10/2015
Grub – Grand UnifiedBootLoader
• GRUB - Grand Unified Boot Loader est un chargeur de système
d’exploitation multiboot
• Il permet l’amorçage des systèmes Linux, BSD, Windows, …
• Grub gère aussi bien le MBR que EFI, également coreboot (BIOS libre)
• Grub fournit un environnement de type Shell
• Aujourd’hui on utilise Grub2
• Grub s’installe automatiquement lors de l’installation du système
• On peut toutefois avoir besoin de modifier la configuration initial,
démarrage réseau, chiffrement du disque,
• On peut avoir besoin de réparer un boot loader
23/10/2015
Grub – Grand UnifiedBootLoader
• La configuration de Grub2 s’appuie sur plusieurs répertoires:
 /boot/grub2/grub.cfg : le fichier de configuration GRUB 2, non modifiable
 /etc/grub.d/ : le répertoire contenant les scripts de création du menu GRUB2,
 /etc/default/grub : le fichier contenant les paramètres du menu de Grub2,
GRUB 2 utilise une série de scripts pour générer le menu ; ces scripts se trouvent dans le
répertoire /etc/grub.d/. Les fichiers suivants sont inclus :
•00_header, qui charge les paramètres GRUB 2 du fichier /etc/default/grub.
•01_users, qui lit le mot de passe du superutilisateur dans le fichier user.cfg. Dans Red Hat
Enterprise Linux 7.0 et 7.1, ce fichier n'a été créé que lorsque le mot de passe boot a été défini dans
le fichier kickstart au moment de l'installation, et il inclut le mot de passe défini en texte brut.
•10_linux, qui localise les noyaux dans la partition par défaut de Red Hat Enterprise Linux.
•30_os-prober, qui génère des entrées pour les systèmes d'exploitations trouvés sur d'autres
partitions.
•40_custom, un modèle pouvant être utilisé pour créer des entrées de menu supplémentaires.
Les scripts du répertoire /etc/grub.d/ sont lus en ordre alphabétique et peuvent ainsi être
renommés pour modifier l'ordre de démarrage d'entrées spécifiques du menu.
23/10/2015
InitRamfs
265
• Séquence de démarrage initié par grub :
 Le noyau est chargé en mémoire et charge ses espaces mémoires et ses pilotes et
fonctions.
 Ensuite le processus init dans les systèmes autres que Red Hat 7 se charge du reste du
démarrage de la machine
 Depuis Red hat 7 Et d’autres distributions (Debian8, fedora, Ubuntu 15) Systemd
s’occupe du reste de démarrage du système après chargement du noyau.
• Lorsque l’on utilise une installation différentes de l’installation par défaut, des
disques réseaux pour certains répertoires, des disques chiffrés, …
• Le chargement d’un noyau complet n’est pas suffisant. Certains outils ne sont
pas disponibles et empêchent l’initialisation du système complet.
• La solution est InitRamFs
23/10/2015
InitRamfs
266
• Initramfs comme son nom l’indique est un système de fichiers en mémoire pour
l’initialisation
• Son rôle est de permettre aux outils et pilotes de disposer d’un système fichiers
avant de passer la “main” à Systemd.
• Des outils comme le chiffrage de disque, du RAID, du LVM, des pilotes USB,….
• L’initramfs est une archive cpio qui contient les fichiers, les outils, pour que le
noyau puisse extraire initramfs dans un système de fichier virtuel
• Lorsque les systèmes de fichiers sont montés et disponibles, Systemd commute
vers le système de fichier réel.
24/12/2015
Modifier des paramètres dedémarrage
BIOS/EFI
12
GRUB ESC
Modifications des options de Boot
Systemd.unit = rescue.target
Modification dans
/etc/default/grub
/etc/grub.d
grub2-mkconfig
Kernel/Initrd
Systemd
Systemd
rescue mode
24/12/2015
Modifier des paramètres dedémarrage
• Modifier les options de démarrage
#vi /etc/default/grub
• Modifier la configuration de grub2
#grub2-mkconfig
13
24/12/2015
Utilisation de rd.break
Contrôle et résolution
des problèmes
14
24/12/2015
Plan
• Comprendre Rd.break
• Booter avec rd.break
• Modifier le mot de passe root avec rd.break
15
24/12/2015
Comprendre Rd.break
16
• Avant grub2, pour modifier le mot de passe root. Il y avait le
mode single
• Depuis grub2, on utilise rd.break
• Rd.break interrompt la procédure de boot avant initramfs et
systemd
• Le système est alors disponible pour faire des modifications
• Toutes modifications nécessitent une “relabélisation” des
fichiers avec SELinux
24/12/2015
Booter avecrd.break
17
24/12/2015
Booter avecrd.break
18
24/12/2015
Modifier le mot de passe root avec rd.break
• Remonter le root fs en mode rw
#mount –o remount,rw /sysroot
• Chrooter sysroot
#chroot /sysroot
• Modifier le mot de passe root
#passwd
• « Relabiser » avec SELinux
#touch /.autorelabel
23/10/2015
Systemd
267
• Avant Systemd, Ubuntu utilisait Red hat qui s’appuyait sur init System V
pour démarrer le système d’exploitation
• Des scripts shell permettait de charger des services au démarrage de la
machine
• Des niveaux d’exécution indiquent les différents services ou démons à
charger.
• Red hat 7 utilise maintenant Systemd
23/10/2015
Systemd
23/10/2015
Systemd
269
• Systemd – System deamon se charge donc de démarrer les services
(service réseau, service de journalisation,…)
• Systemd diffère de l'init de System V en :
 Utilisant des sockets et des bus pour démarrer et gérer les services. Il est ainsi
plus facile de paralléliser des services interdépendants
 Pas de script Shell, mais des fichiers de démarrage simples
 Utilisant les cgroups pour suivre les processus des services en plus des PID. Cela
permet de maintenir la trace des démons même s'ils se dupliquent
 Permettant sauvegardes et restaurations de l'état du système
 Parallélisant mieux, avec donc un temps de démarrage bien plus court.
 Permet de monter ou démonter les points de montage
23/10/2015
Systemd
• Systemd utilse comme Sysinit le principe de niveau d’exécution
270
Les modes de fonctionnements
Niveaux d'exécution SysVinit
/ Upstart
Cibles systemd (target) Commentaires
0 runlevel0.target, poweroff.target Arrêt du système
1,s, single runlevel1.target, rescue.target Mode utilisateur unique / mode maintenance (Single User Mode)
3 runlevel3.target, multi-user.target Mode multi-utilisateur non graphique
2, 4
runlevel2.target, runlevel4.target, multi-
user.target
Ces modes sont identiques au mode multi-utilisateur
non graphique. Ces modes peuvent être adaptés aux
besoins
5 runlevel5.target, graphical.target
Mode multi-utilisateur graphique. Il s'agit du mode par défaut de
Fedora
6 runlevel6.target, reboot.target Redémarrage du système
emergency emergency.target Shell d'urgence
23/10/2015
Plan
• Systemd
• Les units de Systemd
• Gestion des services
• Gestion des cibles (targets)
273
23/10/2015
Sysytemd
274
• Systemd est un gestionnaire de services qui remplace Sysinit depuis
RedHat 7 :
 Il démarre comme premier processus lancé par le noyau
 Assure l’initialisation des services
 Gère les démons Linux : démarre, stoppe, désactive, active
 Il démarre les services en parallèle
 Il suit les services avec les groupes de contrôle (gestion des ressources)
 Gère la journalisation et peut transmettre les journaux à Syslog
 La configuration des noms d’hôtes, des montages de fs
 Les sessions utilisateurs et gère les ressources des utilisateurs avec les cgroups
 Gère les machines virtuelles et conteneurs avec les cgroups et libvirt
23/10/2015
Les units deSystemd
• Systemd se base sur une notions d’unités.
• Ces units ont un type et un nom :
 Le type Service : Gestion des démons
 Le type Target : regroupe plusieurs unités et permet de définir des notions
de niveau d’exécution
 Le type mount : gestion des systèmes de fichier en relation avec fstab
 Le type snapshot : permet de sauvegarder et restaurer l’états des services
• Lister toutes les unités
#systemctl list-units
275
Type d'unité Extension de fichier Description
Unité du service .service Service système.
Unité cible .target Un groupe d'unités systemd.
Unité Automount .automount
Un point Automount du système de
fichiers.
Unité du périphérique .device
Fichier du périphérique reconnu par le
noyau.
Unité de montage .mount
Point de montage du système de
fichiers.
Unité de chemin .path
Un fichier ou répertoire dans un
système de fichiers.
Unité scope .scope Un processus créé de manière externe.
Unité de tranche .slice
Un groupe d'unités organisées de
manière hiérarchique qui gèrent des
processus système.
Unité d'instantané .snapshot
Un état enregistré du gestionnaire
systemd.
Unité de socket .socket
Un socket de communication inter-
processus.
Unité swap .swap Un périphérique ou fichier swap.
Unité minuteur .timer Un minuteur systemd.
23/10/2015
Gestion des services
• Systemd fournit la commande systemctl pour gérer les services
• Lister toutes les unités de type service
#systemctl list-units –t service
• Visualiser l’état d’un service
#systemctl status NetworkManager.service
#systemctl status NetworkManager
• Démarrer , arrêter un service
#systemctl start sshd.service
#systemctl start sshd
#systemctl stop sshd.service
276
23/10/2015
Gestion des services
• Systemd fournit la commande systemctl pour gérer les services
• Activer un service au démarrage
#systemctl enable NetworkManager.service
• Désactiver un service au démarrage
#systemctl disable NetworkManager.service
277
23/10/2015
Gestion des cibles(target)
• Systemd définit des cibles pour les déterminer des niveaux de
fonctionnement du système
278
Les modes de fonctionnements
Niveaux
d'exécution
SysVinit / Upstart
Cibles systemd (target) Commentaires
0 runlevel0.target, poweroff.target Arrêt du système
1,s, single runlevel1.target, rescue.target Mode utilisateur unique / mode maintenance (Single User Mode)
3 runlevel3.target, multi-user.target Mode multi-utilisateur non graphique
2, 4
runlevel2.target,
runlevel4.target, multi-
user.target
Ces modes sont identiques au mode multi-utilisateur
non graphique. Ces modes peuvent être adaptés aux
besoins
5 runlevel5.target, graphical.target
Mode multi-utilisateur graphique. Il s'agit du mode par défaut de
Fedora
6 runlevel6.target, reboot.target Redémarrage du système
emergency emergency.target Shell d'urgence
23/10/2015
Gestion des cibles(target)
• Systemd fournit la commande systemctl pour gérer les cibles
• Changer de niveau de cible temporairement
#systemctl isolate rescue.target
• Obtenir le niveau de fonctionnement pardéfaut
#systemctl get-default
multi-user.target
• Modifier le niveau de fonctionnement pardéfaut
#systemctl set-default graphical.target
rm '/etc/systemd/system/default.target'
ln -s '/usr/lib/systemd/system/graphical.target' '/etc/systemd/system/default.target‘
279
23/10/2015
Gestion des services avec Systemd
Créer un service
pour Systemd
281
23/10/2015
Les fichiers de configurationSystemd
283
• /lib/systemd/system/
 Contient tous les services à démarrer
• /etc/systemd/system
 Contient la configuration de systemd
• /etc/systemd/user
 Endroit des services à ajouter par l’admin
23/10/2015
Créer un serviceSysytemd
• Créer un fichier pour leservice
#cat /usr/lib/systemd/system/notre_service.service
[Unit]
Description=Notre service echo daemon
After=network.target
[Service]
Type=oneshot
ExecStart=/usr/sbin/service_tux1
ExecStop=/bin/kill –KILL $MAINPID
KillMode=process
[Install]
WantedBy=multi-user.target
#systemctl enable notre_service.service
284
23/10/2015
Gestion des processus
Introduction aux processus
229
23/10/2015
Introduction processusLinux
231
• Un processus est une commande, une application en cours d’exécution
• On peut exécuter des commandes :
 En avant plan – foreground
• find . –user tux1
 En arrière-plan – background
• find . –user tux11>/tmp/recherche 2>/dev/null &
• Exemples : service httpd, ftpd, cron, …
23/10/2015
Introduction processusLinux
• Comme pour les utilisateurs, les processus sont identifiés par :
 Un PID – Process Identifier
 Un PPID – un processus parent – Parent PID
 Un propriétaire et un groupe propriétaire
 Un environment
 Une priorité
• Visualiser l’état d’un processus
#cat /proc/PID/status
232
23/10/2015
La vie d’unprocessus
• Lors de la création d’un processus, ce dernier est initialisé (réveil)
• Puis chargé en mémoire
• Il se trouve alors dans la file d’attente, en attente d’exécution (Prêt)
• Lorsque le processeur est disponible, il est exécuté (Élu).
23/10/2015
La vie d’unprocessus
• Les processus ont des priorités
• Les processus doivent parfois attendre un évènement (Entré/sortie, …)
• Le processus ne va pas consommer de temps processeur, jusqu’à la fin
de son exécution (multi tâches)
• Il est alors bloqué (Endormi) par un ordonnanceur (scheduler)
23/10/2015
La vie d’unprocessus
• Le processus est de nouveau mis en attente (Prêt),
• Lorsque le processeur est disponible, il est de nouveau exécuté (Élu).
• Le processus a fini son “travail” est mis en état de fin (Terminé)
235
23/10/2015
Zombie
Prêt en attente
La vie d’unprocessus
Tout processus est créé à
partir d’un parent PPID
qui est un processus
fork()
Initialisation
du Processus
réveil
Élu
en exécution
ordonnancement
fin
Mémoire
T
erminé
Processeur
Suspend
Prêt en attente
236
Suspendu
Prêt en attente
Mémoire virtuelle
23/10/2015
Gestion des processus
Surveiller les processus avec
top et ps
238
23/10/2015
La commandeps
240
• Disponible sur tous les Unix et Unix like, Linux, BSD, …
• Process Status :
 Affiche les processus en cours sur le système
 Plusieurs syntaxes pour les options, les options peuvent être mélangés :
• Unix98
• BSD
• GNU
23/10/2015
La commandeps
• Simple d’utilisation, mais très complète
• Lister tous les processus en cours
#ps au
#ps -ef
• Lister tous les processus en cours et les utilisateurs
#ps aux
#ps –ef
• Lister tous les processus en cours d’un utilisateur
#ps -f -u tux1
• Lister les processus par PID
ps -f -p 1071,2298,2370
241
a tous les processus liés au terminal
u afficher plus de colonnes
x tous les autres processus
f tree
23/10/2015
La commandeps
• Simple d’utilisation, mais très complète
• Lister tous les processus en cours et trier par utilisation mémoire
# ps aux --sort=-%mem
#ps -ef
• Lister tous les processus en cours et les utilisateurs sous formes arborescente
#ps aux --forest
#ps -aux -f
• Lister tous les processus en cours d’un utilisateur
#ps -f -u tux1
• Lister les processus par PID ps
-f -p 1071,2298,2370
• Lister tous les processusen cours
ps -f -p 1071,2298,2370
242
23/10/2015
Surveiller les processus avectop
État général de la machine
"uptime", temps réel d'activité de la machine Charge moyenne du CPU
L'activité en détail des CPUs
us: Charge processeur demandée par des processus utilisateurs
sy: Tous processus systèmes initiés par lekernel
ni: Charge demandée par des processus utilisateurs "nicés"
id: Pourcentage de ressources processeurlibres (tâches inactives)
wa:Charge de processus dédiés à une tâche système ou
utilisateur en attente de ressource externe
Activité de la mémoire et du swap
Total : Mémoire totale sur la machine
Free: Mémoire libre sur la machine
used: Mémoire utilisée sur lamachine
Buffer : Cache pour pour es IO desdisques
243
23/10/2015
Surveiller les processus avectop
Gestion des tâches :
244
23/10/2015
Surveiller les processus avectop
L’aide :
245
23/10/2015
Surveiller les processus avectop
La sélection des champs, le tri:
246
23/10/2015
Surveiller les processus avectop
Discuter avec les processus :
247
23/10/2015
Gestion des processus
Administrer
les processus et les jobs
249
23/10/2015
Plan
• Administrer les processus avec kill
• Les jobs
250
23/10/2015
Administrer les processus aveckill
• Un processus est donc une application ou commande en cours
d’exécution qui possède un PID
• La commande kill envoie des signaux au processus.
• Connaitre les signaux
#kill –l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
….
251
23/10/2015
Administrer les processus aveckill
• Après identification du processus avec top, ps, :
• Suspendre un processus
#kill –STOP PID
#kill -19 PID
19) SIGSTOP
• Réactiver le processus
• Tuer un processus
#kill –KILLL PID
#kill -9 PID
9) SIGKILL
#kill –CONT PID
#kill -18 PID
18) SIGCONT
• Arréter un prcessus
#kill –TERM PID
#kill -15 PID
15) SIGTERM
252
23/10/2015
Les jobs
• Un processus exécuté en arrière-plan est appelé un job
• Lancer un processus en arrière-plan
# yes > /dev/null &
• Visualiser les jobs
#jobs
[1]- Complété
[2]+ Stoppé
253
sleep 200
yes > /dev/null
23/10/2015
Les jobs
• Un processus exécuté en arrière plan est appelé un job
• Lancer un processus enarrière-plan
• tux1@rhel7# yes > /dev/null &
• tux1@rhel7 #top –u tux1
• Les commandes bg et fg permet de commuter les processus en avant plan et en tâche de fond
• Mettre une tache de fond en avant plan
tux1@rhel7 #jobs
254
yes > /dev/null
[1]+ Stoppé
tux1@rhel7 #fg %1
yes > /dev/null
• La repasser enarrière-plan
CTRL+z

Contenu connexe

Similaire à systemd red hat linux examen Ex200 rh124

Virtualiastion des systèmes d'exploitations
Virtualiastion des systèmes d'exploitationsVirtualiastion des systèmes d'exploitations
Virtualiastion des systèmes d'exploitationsSGHIOUAR abdelfettah
 
0081-cours-systemes-exploitations.ppt
0081-cours-systemes-exploitations.ppt0081-cours-systemes-exploitations.ppt
0081-cours-systemes-exploitations.pptDenisKouakou1
 
PostgreSQL sous linux
PostgreSQL sous linuxPostgreSQL sous linux
PostgreSQL sous linuxKhalid ALLILI
 
Rapport systéme embarqué busybox
Rapport systéme embarqué busyboxRapport systéme embarqué busybox
Rapport systéme embarqué busyboxAyoub Rouzi
 
03 01 intervention sur le système de fichier
03 01 intervention sur le système de fichier03 01 intervention sur le système de fichier
03 01 intervention sur le système de fichierNoël
 
10 02 authentification PAM
10 02 authentification PAM10 02 authentification PAM
10 02 authentification PAMNoël
 
les systèmes d'exploitation.ppt
les systèmes d'exploitation.pptles systèmes d'exploitation.ppt
les systèmes d'exploitation.pptPROFPROF11
 
Maintenance du système Linux
Maintenance du système LinuxMaintenance du système Linux
Maintenance du système LinuxEL AMRI El Hassan
 
La programmation systéme en langage C sous UNIX
La programmation systéme en langage C sous UNIXLa programmation systéme en langage C sous UNIX
La programmation systéme en langage C sous UNIXBen Hassen Hamdi
 
176539.ppt
176539.ppt176539.ppt
176539.pptAmmr2
 
Contrôle de système d’exploitation
Contrôle de système d’exploitation Contrôle de système d’exploitation
Contrôle de système d’exploitation digidid
 
Fonctionnement d’un système d’exploitation
Fonctionnement d’un système d’exploitationFonctionnement d’un système d’exploitation
Fonctionnement d’un système d’exploitationImane Bellali
 
Installation Et Configuration De Monkey Spider
Installation Et Configuration De Monkey SpiderInstallation Et Configuration De Monkey Spider
Installation Et Configuration De Monkey SpiderMohamed Ben Bouzid
 
Gestion des threads
Gestion des threadsGestion des threads
Gestion des threadsSana Aroussi
 
Gestion et surveillance du reseau syslogng
Gestion et surveillance du reseau  syslogngGestion et surveillance du reseau  syslogng
Gestion et surveillance du reseau syslogngKiemde Franck
 
Cours Microsoft Windows 2003 Server 1ere Partie 6 Mars 2008
Cours Microsoft Windows 2003 Server 1ere Partie 6 Mars 2008Cours Microsoft Windows 2003 Server 1ere Partie 6 Mars 2008
Cours Microsoft Windows 2003 Server 1ere Partie 6 Mars 2008guest9dd59e
 

Similaire à systemd red hat linux examen Ex200 rh124 (20)

Meetup Systemd vs sysvinit
Meetup Systemd vs sysvinitMeetup Systemd vs sysvinit
Meetup Systemd vs sysvinit
 
Virtualiastion des systèmes d'exploitations
Virtualiastion des systèmes d'exploitationsVirtualiastion des systèmes d'exploitations
Virtualiastion des systèmes d'exploitations
 
Routage protocole
Routage protocoleRoutage protocole
Routage protocole
 
0081-cours-systemes-exploitations.ppt
0081-cours-systemes-exploitations.ppt0081-cours-systemes-exploitations.ppt
0081-cours-systemes-exploitations.ppt
 
PostgreSQL sous linux
PostgreSQL sous linuxPostgreSQL sous linux
PostgreSQL sous linux
 
Rapport systéme embarqué busybox
Rapport systéme embarqué busyboxRapport systéme embarqué busybox
Rapport systéme embarqué busybox
 
03 01 intervention sur le système de fichier
03 01 intervention sur le système de fichier03 01 intervention sur le système de fichier
03 01 intervention sur le système de fichier
 
10 02 authentification PAM
10 02 authentification PAM10 02 authentification PAM
10 02 authentification PAM
 
les systèmes d'exploitation.ppt
les systèmes d'exploitation.pptles systèmes d'exploitation.ppt
les systèmes d'exploitation.ppt
 
Maintenance du système Linux
Maintenance du système LinuxMaintenance du système Linux
Maintenance du système Linux
 
Débuter avec mdt
Débuter avec mdtDébuter avec mdt
Débuter avec mdt
 
La programmation systéme en langage C sous UNIX
La programmation systéme en langage C sous UNIXLa programmation systéme en langage C sous UNIX
La programmation systéme en langage C sous UNIX
 
Les systemes-dexploitation
Les systemes-dexploitationLes systemes-dexploitation
Les systemes-dexploitation
 
176539.ppt
176539.ppt176539.ppt
176539.ppt
 
Contrôle de système d’exploitation
Contrôle de système d’exploitation Contrôle de système d’exploitation
Contrôle de système d’exploitation
 
Fonctionnement d’un système d’exploitation
Fonctionnement d’un système d’exploitationFonctionnement d’un système d’exploitation
Fonctionnement d’un système d’exploitation
 
Installation Et Configuration De Monkey Spider
Installation Et Configuration De Monkey SpiderInstallation Et Configuration De Monkey Spider
Installation Et Configuration De Monkey Spider
 
Gestion des threads
Gestion des threadsGestion des threads
Gestion des threads
 
Gestion et surveillance du reseau syslogng
Gestion et surveillance du reseau  syslogngGestion et surveillance du reseau  syslogng
Gestion et surveillance du reseau syslogng
 
Cours Microsoft Windows 2003 Server 1ere Partie 6 Mars 2008
Cours Microsoft Windows 2003 Server 1ere Partie 6 Mars 2008Cours Microsoft Windows 2003 Server 1ere Partie 6 Mars 2008
Cours Microsoft Windows 2003 Server 1ere Partie 6 Mars 2008
 

systemd red hat linux examen Ex200 rh124

  • 2. Premier Processus de démarrage BIOS/EFI Noyau GRUB Initrd Systemd runlevel3.target, multi-user runlevel5.target, graphical runlevel1.target, rescue.target NetworkManager.service systemd-journald.service systemd-logind.service firewalld.service
  • 3. 23/10/2015 Le Bios etl’UEFI • BIOS Système d’Entrée Sortie • BIOS (Basic Input Output System) est le premier programme qui est exécuté lors de la mise sous tension de la machine • Ce système se trouve dans la mémoire morte de la carte mère • A pour rôle :  Teste la présence des périphériques et initialise tous les composants de la carte mère – POST Power- On-Self-Test  Initialise l’amorçage du système d’exploitation via le MBR et lance le chargeur d’amorçage.  Les communications entre le système d’exploitation et les périphériques
  • 5. 23/10/2015 Le Bios etl’UEFI • UEFI - Unified Extensible Firmware Interface ou Interface micro logicielle extensible unifiée • L’UEFI est amené à remplacer le BIOS sur les cartes mères. • Intel avait développé EFI • UEFI est développé par AMD, American Megatrans, Apple, Dell, HP, Microsoft,… Dans l’UEFI Forum • L’UEFI offre plusieurs avantages par rapport au BIOS • Écrit en C, Interface graphique haute résolution, prise en charge réseau, multi-boot et gestion des disques GPT (non limité à 2,2 To, Shell UEFI • Le secure boot !
  • 7. 23/10/2015 Grub – Grand UnifiedBootLoader • GRUB - Grand Unified Boot Loader est un chargeur de système d’exploitation multiboot • Il permet l’amorçage des systèmes Linux, BSD, Windows, … • Grub gère aussi bien le MBR que EFI, également coreboot (BIOS libre) • Grub fournit un environnement de type Shell • Aujourd’hui on utilise Grub2 • Grub s’installe automatiquement lors de l’installation du système • On peut toutefois avoir besoin de modifier la configuration initial, démarrage réseau, chiffrement du disque, • On peut avoir besoin de réparer un boot loader
  • 8. 23/10/2015 Grub – Grand UnifiedBootLoader • La configuration de Grub2 s’appuie sur plusieurs répertoires:  /boot/grub2/grub.cfg : le fichier de configuration GRUB 2, non modifiable  /etc/grub.d/ : le répertoire contenant les scripts de création du menu GRUB2,  /etc/default/grub : le fichier contenant les paramètres du menu de Grub2,
  • 9. GRUB 2 utilise une série de scripts pour générer le menu ; ces scripts se trouvent dans le répertoire /etc/grub.d/. Les fichiers suivants sont inclus : •00_header, qui charge les paramètres GRUB 2 du fichier /etc/default/grub. •01_users, qui lit le mot de passe du superutilisateur dans le fichier user.cfg. Dans Red Hat Enterprise Linux 7.0 et 7.1, ce fichier n'a été créé que lorsque le mot de passe boot a été défini dans le fichier kickstart au moment de l'installation, et il inclut le mot de passe défini en texte brut. •10_linux, qui localise les noyaux dans la partition par défaut de Red Hat Enterprise Linux. •30_os-prober, qui génère des entrées pour les systèmes d'exploitations trouvés sur d'autres partitions. •40_custom, un modèle pouvant être utilisé pour créer des entrées de menu supplémentaires. Les scripts du répertoire /etc/grub.d/ sont lus en ordre alphabétique et peuvent ainsi être renommés pour modifier l'ordre de démarrage d'entrées spécifiques du menu.
  • 10. 23/10/2015 InitRamfs 265 • Séquence de démarrage initié par grub :  Le noyau est chargé en mémoire et charge ses espaces mémoires et ses pilotes et fonctions.  Ensuite le processus init dans les systèmes autres que Red Hat 7 se charge du reste du démarrage de la machine  Depuis Red hat 7 Et d’autres distributions (Debian8, fedora, Ubuntu 15) Systemd s’occupe du reste de démarrage du système après chargement du noyau. • Lorsque l’on utilise une installation différentes de l’installation par défaut, des disques réseaux pour certains répertoires, des disques chiffrés, … • Le chargement d’un noyau complet n’est pas suffisant. Certains outils ne sont pas disponibles et empêchent l’initialisation du système complet. • La solution est InitRamFs
  • 11. 23/10/2015 InitRamfs 266 • Initramfs comme son nom l’indique est un système de fichiers en mémoire pour l’initialisation • Son rôle est de permettre aux outils et pilotes de disposer d’un système fichiers avant de passer la “main” à Systemd. • Des outils comme le chiffrage de disque, du RAID, du LVM, des pilotes USB,…. • L’initramfs est une archive cpio qui contient les fichiers, les outils, pour que le noyau puisse extraire initramfs dans un système de fichier virtuel • Lorsque les systèmes de fichiers sont montés et disponibles, Systemd commute vers le système de fichier réel.
  • 12. 24/12/2015 Modifier des paramètres dedémarrage BIOS/EFI 12 GRUB ESC Modifications des options de Boot Systemd.unit = rescue.target Modification dans /etc/default/grub /etc/grub.d grub2-mkconfig Kernel/Initrd Systemd Systemd rescue mode
  • 13. 24/12/2015 Modifier des paramètres dedémarrage • Modifier les options de démarrage #vi /etc/default/grub • Modifier la configuration de grub2 #grub2-mkconfig 13
  • 14. 24/12/2015 Utilisation de rd.break Contrôle et résolution des problèmes 14
  • 15. 24/12/2015 Plan • Comprendre Rd.break • Booter avec rd.break • Modifier le mot de passe root avec rd.break 15
  • 16. 24/12/2015 Comprendre Rd.break 16 • Avant grub2, pour modifier le mot de passe root. Il y avait le mode single • Depuis grub2, on utilise rd.break • Rd.break interrompt la procédure de boot avant initramfs et systemd • Le système est alors disponible pour faire des modifications • Toutes modifications nécessitent une “relabélisation” des fichiers avec SELinux
  • 19. 24/12/2015 Modifier le mot de passe root avec rd.break • Remonter le root fs en mode rw #mount –o remount,rw /sysroot • Chrooter sysroot #chroot /sysroot • Modifier le mot de passe root #passwd • « Relabiser » avec SELinux #touch /.autorelabel
  • 20. 23/10/2015 Systemd 267 • Avant Systemd, Ubuntu utilisait Red hat qui s’appuyait sur init System V pour démarrer le système d’exploitation • Des scripts shell permettait de charger des services au démarrage de la machine • Des niveaux d’exécution indiquent les différents services ou démons à charger. • Red hat 7 utilise maintenant Systemd
  • 22. 23/10/2015 Systemd 269 • Systemd – System deamon se charge donc de démarrer les services (service réseau, service de journalisation,…) • Systemd diffère de l'init de System V en :  Utilisant des sockets et des bus pour démarrer et gérer les services. Il est ainsi plus facile de paralléliser des services interdépendants  Pas de script Shell, mais des fichiers de démarrage simples  Utilisant les cgroups pour suivre les processus des services en plus des PID. Cela permet de maintenir la trace des démons même s'ils se dupliquent  Permettant sauvegardes et restaurations de l'état du système  Parallélisant mieux, avec donc un temps de démarrage bien plus court.  Permet de monter ou démonter les points de montage
  • 23. 23/10/2015 Systemd • Systemd utilse comme Sysinit le principe de niveau d’exécution 270 Les modes de fonctionnements Niveaux d'exécution SysVinit / Upstart Cibles systemd (target) Commentaires 0 runlevel0.target, poweroff.target Arrêt du système 1,s, single runlevel1.target, rescue.target Mode utilisateur unique / mode maintenance (Single User Mode) 3 runlevel3.target, multi-user.target Mode multi-utilisateur non graphique 2, 4 runlevel2.target, runlevel4.target, multi- user.target Ces modes sont identiques au mode multi-utilisateur non graphique. Ces modes peuvent être adaptés aux besoins 5 runlevel5.target, graphical.target Mode multi-utilisateur graphique. Il s'agit du mode par défaut de Fedora 6 runlevel6.target, reboot.target Redémarrage du système emergency emergency.target Shell d'urgence
  • 24. 23/10/2015 Plan • Systemd • Les units de Systemd • Gestion des services • Gestion des cibles (targets) 273
  • 25. 23/10/2015 Sysytemd 274 • Systemd est un gestionnaire de services qui remplace Sysinit depuis RedHat 7 :  Il démarre comme premier processus lancé par le noyau  Assure l’initialisation des services  Gère les démons Linux : démarre, stoppe, désactive, active  Il démarre les services en parallèle  Il suit les services avec les groupes de contrôle (gestion des ressources)  Gère la journalisation et peut transmettre les journaux à Syslog  La configuration des noms d’hôtes, des montages de fs  Les sessions utilisateurs et gère les ressources des utilisateurs avec les cgroups  Gère les machines virtuelles et conteneurs avec les cgroups et libvirt
  • 26. 23/10/2015 Les units deSystemd • Systemd se base sur une notions d’unités. • Ces units ont un type et un nom :  Le type Service : Gestion des démons  Le type Target : regroupe plusieurs unités et permet de définir des notions de niveau d’exécution  Le type mount : gestion des systèmes de fichier en relation avec fstab  Le type snapshot : permet de sauvegarder et restaurer l’états des services • Lister toutes les unités #systemctl list-units 275
  • 27. Type d'unité Extension de fichier Description Unité du service .service Service système. Unité cible .target Un groupe d'unités systemd. Unité Automount .automount Un point Automount du système de fichiers. Unité du périphérique .device Fichier du périphérique reconnu par le noyau. Unité de montage .mount Point de montage du système de fichiers. Unité de chemin .path Un fichier ou répertoire dans un système de fichiers. Unité scope .scope Un processus créé de manière externe. Unité de tranche .slice Un groupe d'unités organisées de manière hiérarchique qui gèrent des processus système. Unité d'instantané .snapshot Un état enregistré du gestionnaire systemd. Unité de socket .socket Un socket de communication inter- processus. Unité swap .swap Un périphérique ou fichier swap. Unité minuteur .timer Un minuteur systemd.
  • 28. 23/10/2015 Gestion des services • Systemd fournit la commande systemctl pour gérer les services • Lister toutes les unités de type service #systemctl list-units –t service • Visualiser l’état d’un service #systemctl status NetworkManager.service #systemctl status NetworkManager • Démarrer , arrêter un service #systemctl start sshd.service #systemctl start sshd #systemctl stop sshd.service 276
  • 29. 23/10/2015 Gestion des services • Systemd fournit la commande systemctl pour gérer les services • Activer un service au démarrage #systemctl enable NetworkManager.service • Désactiver un service au démarrage #systemctl disable NetworkManager.service 277
  • 30. 23/10/2015 Gestion des cibles(target) • Systemd définit des cibles pour les déterminer des niveaux de fonctionnement du système 278 Les modes de fonctionnements Niveaux d'exécution SysVinit / Upstart Cibles systemd (target) Commentaires 0 runlevel0.target, poweroff.target Arrêt du système 1,s, single runlevel1.target, rescue.target Mode utilisateur unique / mode maintenance (Single User Mode) 3 runlevel3.target, multi-user.target Mode multi-utilisateur non graphique 2, 4 runlevel2.target, runlevel4.target, multi- user.target Ces modes sont identiques au mode multi-utilisateur non graphique. Ces modes peuvent être adaptés aux besoins 5 runlevel5.target, graphical.target Mode multi-utilisateur graphique. Il s'agit du mode par défaut de Fedora 6 runlevel6.target, reboot.target Redémarrage du système emergency emergency.target Shell d'urgence
  • 31. 23/10/2015 Gestion des cibles(target) • Systemd fournit la commande systemctl pour gérer les cibles • Changer de niveau de cible temporairement #systemctl isolate rescue.target • Obtenir le niveau de fonctionnement pardéfaut #systemctl get-default multi-user.target • Modifier le niveau de fonctionnement pardéfaut #systemctl set-default graphical.target rm '/etc/systemd/system/default.target' ln -s '/usr/lib/systemd/system/graphical.target' '/etc/systemd/system/default.target‘ 279
  • 32. 23/10/2015 Gestion des services avec Systemd Créer un service pour Systemd 281
  • 33. 23/10/2015 Les fichiers de configurationSystemd 283 • /lib/systemd/system/  Contient tous les services à démarrer • /etc/systemd/system  Contient la configuration de systemd • /etc/systemd/user  Endroit des services à ajouter par l’admin
  • 34. 23/10/2015 Créer un serviceSysytemd • Créer un fichier pour leservice #cat /usr/lib/systemd/system/notre_service.service [Unit] Description=Notre service echo daemon After=network.target [Service] Type=oneshot ExecStart=/usr/sbin/service_tux1 ExecStop=/bin/kill –KILL $MAINPID KillMode=process [Install] WantedBy=multi-user.target #systemctl enable notre_service.service 284
  • 36. 23/10/2015 Introduction processusLinux 231 • Un processus est une commande, une application en cours d’exécution • On peut exécuter des commandes :  En avant plan – foreground • find . –user tux1  En arrière-plan – background • find . –user tux11>/tmp/recherche 2>/dev/null & • Exemples : service httpd, ftpd, cron, …
  • 37. 23/10/2015 Introduction processusLinux • Comme pour les utilisateurs, les processus sont identifiés par :  Un PID – Process Identifier  Un PPID – un processus parent – Parent PID  Un propriétaire et un groupe propriétaire  Un environment  Une priorité • Visualiser l’état d’un processus #cat /proc/PID/status 232
  • 38. 23/10/2015 La vie d’unprocessus • Lors de la création d’un processus, ce dernier est initialisé (réveil) • Puis chargé en mémoire • Il se trouve alors dans la file d’attente, en attente d’exécution (Prêt) • Lorsque le processeur est disponible, il est exécuté (Élu).
  • 39. 23/10/2015 La vie d’unprocessus • Les processus ont des priorités • Les processus doivent parfois attendre un évènement (Entré/sortie, …) • Le processus ne va pas consommer de temps processeur, jusqu’à la fin de son exécution (multi tâches) • Il est alors bloqué (Endormi) par un ordonnanceur (scheduler)
  • 40. 23/10/2015 La vie d’unprocessus • Le processus est de nouveau mis en attente (Prêt), • Lorsque le processeur est disponible, il est de nouveau exécuté (Élu). • Le processus a fini son “travail” est mis en état de fin (Terminé) 235
  • 41. 23/10/2015 Zombie Prêt en attente La vie d’unprocessus Tout processus est créé à partir d’un parent PPID qui est un processus fork() Initialisation du Processus réveil Élu en exécution ordonnancement fin Mémoire T erminé Processeur Suspend Prêt en attente 236 Suspendu Prêt en attente Mémoire virtuelle
  • 42. 23/10/2015 Gestion des processus Surveiller les processus avec top et ps 238
  • 43. 23/10/2015 La commandeps 240 • Disponible sur tous les Unix et Unix like, Linux, BSD, … • Process Status :  Affiche les processus en cours sur le système  Plusieurs syntaxes pour les options, les options peuvent être mélangés : • Unix98 • BSD • GNU
  • 44. 23/10/2015 La commandeps • Simple d’utilisation, mais très complète • Lister tous les processus en cours #ps au #ps -ef • Lister tous les processus en cours et les utilisateurs #ps aux #ps –ef • Lister tous les processus en cours d’un utilisateur #ps -f -u tux1 • Lister les processus par PID ps -f -p 1071,2298,2370 241 a tous les processus liés au terminal u afficher plus de colonnes x tous les autres processus f tree
  • 45. 23/10/2015 La commandeps • Simple d’utilisation, mais très complète • Lister tous les processus en cours et trier par utilisation mémoire # ps aux --sort=-%mem #ps -ef • Lister tous les processus en cours et les utilisateurs sous formes arborescente #ps aux --forest #ps -aux -f • Lister tous les processus en cours d’un utilisateur #ps -f -u tux1 • Lister les processus par PID ps -f -p 1071,2298,2370 • Lister tous les processusen cours ps -f -p 1071,2298,2370 242
  • 46. 23/10/2015 Surveiller les processus avectop État général de la machine "uptime", temps réel d'activité de la machine Charge moyenne du CPU L'activité en détail des CPUs us: Charge processeur demandée par des processus utilisateurs sy: Tous processus systèmes initiés par lekernel ni: Charge demandée par des processus utilisateurs "nicés" id: Pourcentage de ressources processeurlibres (tâches inactives) wa:Charge de processus dédiés à une tâche système ou utilisateur en attente de ressource externe Activité de la mémoire et du swap Total : Mémoire totale sur la machine Free: Mémoire libre sur la machine used: Mémoire utilisée sur lamachine Buffer : Cache pour pour es IO desdisques 243
  • 47. 23/10/2015 Surveiller les processus avectop Gestion des tâches : 244
  • 48. 23/10/2015 Surveiller les processus avectop L’aide : 245
  • 49. 23/10/2015 Surveiller les processus avectop La sélection des champs, le tri: 246
  • 50. 23/10/2015 Surveiller les processus avectop Discuter avec les processus : 247
  • 52. 23/10/2015 Plan • Administrer les processus avec kill • Les jobs 250
  • 53. 23/10/2015 Administrer les processus aveckill • Un processus est donc une application ou commande en cours d’exécution qui possède un PID • La commande kill envoie des signaux au processus. • Connaitre les signaux #kill –l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP …. 251
  • 54. 23/10/2015 Administrer les processus aveckill • Après identification du processus avec top, ps, : • Suspendre un processus #kill –STOP PID #kill -19 PID 19) SIGSTOP • Réactiver le processus • Tuer un processus #kill –KILLL PID #kill -9 PID 9) SIGKILL #kill –CONT PID #kill -18 PID 18) SIGCONT • Arréter un prcessus #kill –TERM PID #kill -15 PID 15) SIGTERM 252
  • 55. 23/10/2015 Les jobs • Un processus exécuté en arrière-plan est appelé un job • Lancer un processus en arrière-plan # yes > /dev/null & • Visualiser les jobs #jobs [1]- Complété [2]+ Stoppé 253 sleep 200 yes > /dev/null
  • 56. 23/10/2015 Les jobs • Un processus exécuté en arrière plan est appelé un job • Lancer un processus enarrière-plan • tux1@rhel7# yes > /dev/null & • tux1@rhel7 #top –u tux1 • Les commandes bg et fg permet de commuter les processus en avant plan et en tâche de fond • Mettre une tache de fond en avant plan tux1@rhel7 #jobs 254 yes > /dev/null [1]+ Stoppé tux1@rhel7 #fg %1 yes > /dev/null • La repasser enarrière-plan CTRL+z