Administration Linux Partie III
Administration Linux Partie III
Administration Linux Partie III
Système Linux
✔Mémoire vive, où sont stockées les instructions que le ou les processeurs doivent exécuter, et les données qu'ils doivent
manipuler ;
✔Unités de stockage de masse telles que les disques durs, permettant de stocker les données et les programmes de manière
permanente (c'est-à-dire même après extinction de l'ordinateur) ;
À ces composants de base s'ajoutent des composants annexes, que l'on appelle « périphériques ». Le clavier, la souris, les
cartes graphiques, son et réseau.
Ce matériel généralement n'est toutefois pas exploitable tel quel. Il faut pour cela utiliser des programmes dédiés, qui
permettent de l'utiliser. L'ensemble de ces programmes constituent , on l’appelle le « système d'exploitation » , c’est
- au dessus de ce système que viennent se placer les programmes utilisateurs, que l'on appelle aussi les ,
« Applications » ou « Logiciels ».
• GNU est un projet de système d’exploitation libre lancé en 1983 par Richard Stallman, puis maintenu par le
projet GNU. Son nom est un acronyme récursif qui signifie en anglais « GNU’s Not UNIX ». Il reprend les
concepts et le fonctionnement d’UNIX. Le système GNU permet l’utilisation de tous les logiciels libres, pas
seulement ceux réalisés dans le cadre du projet GNU.
• Le premier clone d’UNIX (minimal) fonctionnant sur PC a été Minix, écrit par Andrew Tanenbaum, un
système d’exploitation pouvant être utilisé sur PC.
• En 1991, Linus Torvalds , alors étudiant décida d’étendre les possibilités de Minix, tout en créant Linux qui se
comporte comme UNIX du point de vue de l'utilisateur mais qui :
- Fonctionnait sur un ordinateur personnel PC
UNIX Linux
⮚ Le code source d’Unix n’est pas disponible ⮚ Le code source de Linux est disponible
pour le grand public. Il n’est pas gratuit. gratuitement pour les utilisateurs.
⮚ Unix utilise principalement la ligne de ⮚ Linux utilise principalement une interface
commande. graphique avec une ligne de commande
⮚ Unix n’est pas portable. optionnelle.
⮚ Unix a un environnement dépendant du ⮚ Linux est portable
matériel. Par conséquent, ne peut pas être ⮚ Linux est très flexible et peut être installé
installé sur n’importe quelle machines. sur la plupart des ordinateurs personnels.
La philosophie de UNIX
• Sous Linux, tout est fichier Sous Linux, les fichiers doivent être :
– fichiers (!) – lisibles par l'homme
– répertoires – exploitables simplement par la machine
– devices – tous les fichiers de configuration sont texte...
– liens ou générés à partir de fichiers texte
– sockets – pas de binaire : les fichiers de configuration
doivent être éditables simplement (≠registry)
– pas de formats exotiques (≠xml)
– pas de formats fermés (≠doc,xls,...)
Les caractéristiques de GNU/Linux
✔ Multi tâche
– Plusieurs processus s'exécutent en même temps
– L'OS à le contrôle des processus
✔ Multi utilisateur
– Plusieurs utilisateurs peuvent se connecter simultanément
– Plusieurs utilisateurs peuvent exécuter des processus simultanément
Les composants de GNU/Linux
« Kernel & OS »
❖ Kernel : Linux
- Il consiste la mise à disposition des ressources machines comme :
● Les entrées /dev, /proc, /sys
● L’allocation de mémoire
- Il manage La gestion de l'accès aux ressources machines comme :
● Les droits et la gestion des accès
● Ordonnancement
- Il est modulaire :
● Le chargement et le déchargement de modules (drivers)
● Automatique ou manuel
Les composants de GNU/Linux
« Kernel & OS »
❖ OS : GNU
- Il consiste la gestion du système via l'interface proposée par le kernel :
● Systèmes de fichiers
● Réseau
● Les droits d’utilisateurs
● Les périphériques …..
⮚Système de packages
⮚Fichiers de configuration
⮚Fichiers de démarrage
⮚Canaux de distribution
⮚Méthode d'installation, de
configuration…
Choisir une distribution de Linux
Choisir une distribution de Linux
❖ L’architecture :
⮚Un système d’installation très simple, cependant la tentation est très forte de revenir au
⮚Une sortie tous les 6 à 8 mois, fonctionnement d’une distribution Debian, les deux
Mandriva Linux (ex-Mandrake) a été créée par Gaël Duval afin d’intégrer à la distribution
l’environnement de bureau graphique KDE contrairement à Red Hat qui intégrait l’environnement
GNOME. Pendant plusieurs années Mandrake a été la distribution phare en forte compétition avec Red
Hat.
Avantages
⮚Conviviale.
⮚Son processus d’installation et son utilisation sont plus simples.
⮚Compatible avec la distribution Red Hat.
⮚Elle est bien souvent automatiquement conseillée aux débutants.
Présentation de Linux
Présentation de Linux
Linux veille à ce que toutes les ressources de l’ordinateur (imprimante, mémoire, ...) soient partagées
équitablement entre tous les processus.
✔ Par exemple :
Vous travaillez sur une application du genre base de données, vous lancez une requête couteuse en temps,
pour patienter rien ne vous empêche de lancer un deuxième processus d’impression de rapport en même
temps, c’est le système d’exploitation qui est chargé de faire en sorte que les deux processus puissent
utiliser les ressources de manière équitable et que le deuxième processus lancé n’attend pas la
terminaison
du premier pour se lancer.
=> Le fait de pouvoir exécuter plusieurs processus ou tâches en même temps, en parallèle Linux
est appelé système multitâches.
Présentation de Linux
Linux par définition des systèmes d’exploitation, fait en sorte qu’aucun processus n’accède directement a
une ressource matérielle (disque dur, lecteur de disquette,...).
Pour accéder à ces ressources on doit passer par l’intermédiaire de fichiers spéciaux, un fichier spécial est
vu pour un utilisateur comme un fichier classique, pour écrire sur une disquette dans le lecteur de
disquette,
on n’a qu’a écrire dans le fichier spécial du lecteur de disquette. De même pour lire dans un disque dur, on
va lire le fichier spécial du disque dur.
Sous Linux les entrées-sorties sur un périphérique se font grâce à des fichiers situés
dans le répertoire /dev/. La commande MAKEDEV crée les nœuds de
périphériques statiques qui résident dans le répertoire /dev.
Présentation de Linux
Au niveau de Linux, quand on parle de mémoire on sous entend mémoire volatile ou RAM. Tout
programme qui s’exécute, ou processus, a besoin de mémoire pour y stocker notamment les données qui
manipulent.
Malheureusement l’ordinateur dispose généralement d’une quantité de mémoire limitée et non extensible.
Linux doit donc faire en sorte que la mémoire soit bien partagée entre tous les processus, un processus
ne doit pas s’accaparer toute la mémoire, sans quoi les autres processus ne pourraient plus fonctionner.
La mémoire est vue comme une ressource matérielle, Linux doit donc vérifier qu’aucun processus
n’accède à la mémoire directement sans se réserver une zone de la mémoire
Présentation de Linux
Linux fournit les outils nécessaires pour stocker les données et pour pouvoir les récupérer rapidement et
facilement. Il fournit les outils pour pouvoir visualiser l’ensemble des fichiers de manière simple. Ces
fichiers se trouvent sur le disque dur, on nomme cela un système de fichiers. Il fournit, un mécanisme
de protection des fichiers. Plusieurs utilisateurs peuvent travailler en même temps sur la même machine,
c’est la notion de multi-utilisateurs.
Chaque utilisateur du système dispose de ses fichiers, Linux lui donne le moyen de protéger ses
fichiers, et d’accorder le droit ou non à d’autres utilisateurs d’accéder à ses fichiers
Présentation de Linux
Vu que les processus ne pouvaient pas accéder directement aux ressources matériels
⇒ les processus passent par le noyau « ensemble des programmes » pour y accéder, pour cela ils disposent
d’un ensemble des appels système appelées ” commandes ” Linux.
Ces appels systèmes commandent deux composantes principales du noyau :
✔ Le gestionnaire de processus (scheduler) « qui a pour rôle d’ordonner les processus pour s’exécuter et
accéder et la mémoire de manière équitable »
✔ le système de gestion de fichiers « qui a pour rôle de gérer le système de fichiers, surtout les droits
d’accès » .
Présentation de Linux
Chaque utilisateur connecté au système d’exploitation est capable de diriger la machine en exécutant
une commande dans un terminal :
✔ La syntaxe d’une commande est de la forme suivante : COMMANDE OPTIONS ARGUMENTS
✔ La commande étant la commande elle-même, suivie d’une ou plusieurs options facultatives qui servent
à modifier le comportement de la commande tandis que les arguments ,facultatifs aussi, représentent les
objets sur lesquels la commande agit.
⮚ Exemple : COMMANDE OPTIONS ARGUMENTS
✔ /home : un répertoire ls : est la commande qui permet de
lister l’ensemble des fichiers d’un répertoire, en l’occurrence, ls -a /home
l’option -a : permet d’inclure les fichiers cachés dans le résultat.
Présentation de Linux
mv «f1» «path» Elle permet de déplacer un ficher ou un répertoire, on a déplacé f1 vers le chemin path
cat «f1» Elle permet d’afficher le contenu du fichier f1, on peut aussi écrire « cat path/f1 »
echo «“ phrase“» Elle permet d’afficher une ligne, « echo “ Hello students ! “ »
ls Elle Permet de lister les fichiers disponibles dans un répertoire, si appelé sans
arguments, ls liste les fichiers du répertoire courant.
mkdir Elle permet de créer un répertoire
Which Elle permet d’afficher l’emplacement de la commande au des fichiers système de Linux
« command » « which rmdir » ou « which pwd »….
more Elle permet de visualiser le contenu d’un fichier page à page. On utilise la touche entrée
ou espace pour avancer l’affichage du contenu du fichier.
head « fichier » Elle permet d’afficher le début d’un fichier (par défaut, les 10 premières lignes).
tail « fichier » Elle permet d’afficher le fin d’un fichier (par défaut, les 10 dernières lignes).
alias Elle Permet de simplifier la vie d’un utilisateur Linux qui exécute des commandes
longues régulièrement.
Présentation de Linux
❑ Pouvoir conserver les informations après la fin du processus qui les utilise.
=> Ceci est réalisé à l’aide des fichiers, sur des disques ou autres supports externes. La
partie du système d’exploitation qui s’occupe de la gestion des fichiers est appelée
système de fichiers (ou file system)
Le système de fichiers
Un système de fichiers est une façon d'organiser et de stocker une arborescence sur un support (Disque
Dur, DVD, CD ...). Chaque OS propriétaire a développé sa propre organisation. On peut faire cohabiter
plusieurs systèmes dans des partitions d'un même disque.
❖ Une arborescence :
Organisation logique des fichiers sur un ou plusieurs systèmes de fichiers Il s’agit d’une structure de
données hiérarchique de type arbre, elle peut être construite à partir de diverses partitions qui peuvent
être situées sur plusieurs disques. Fichier
Racine de
l’arborescence
Répertoire
Sous-Répertoire
Le système de fichiers
❖ L’organisation du disque :
Organisation typique du poste de travail
MB
Partition système Partition données Disque
R
❑ Le Master Boot Record est situé dans le 1er secteur du disque contenant 2 parties :
1. La table des partitions
2. Le programme d’amorçage qui charge le noyau du système
❑ Il y’a plusieurs types de partitions : Principale, Etendue, Logique
- La partitions principale : Au maximum 4 partitions et accepte tout type de système de fichiers
- La partition logique : Contenue dans une partition étendue et Accepte tout type de système de fichiers
- La partition étendue : - Destinée à contenir des partitions logiques et non pas un système de fichiers
- Nécessite au moins une partition principale
Etendue
MB Partition Partition
R principale principale
Logique Logique Logique
Le système de fichiers
Lettre de partition
❖ Prise en charge des disques sous Linux :
❑ Le pointeur spécial /dev permet l’accès aux disques à l’aide de cette format : /dev/XXYZ
N° de partition
❑ Les types de bus qui existent : Type de bus
⮚ hd : Périphériques IDE
⮚ sc : Périphériques SCSI
⮚ sd : Périphériques SATA
1. Sous Linux :
⮚ ext2, ext3, jfs, xfs
⮚ ext3 est la plus courante pour Linux
2. Sous Windows :
⮚ Chaque séquence de lecture/écriture est d’abord inscrite dans un journal avant d’être effectuée Si le
système se bloque pendant la séquence, elle sera achevée après le redémarrage
✔ Linux peut lire la plupart des formats, surtout ceux de Windows : NTFS, FAT, FAT32
✔ Avant d’être utilisé, un disque doit être partitionné par le programme d’installation
✔ Sous Linux, « Tout est fichier » => L’arborescence est construite à partir de « points de montage »
✔ Un point de montage est une association entre une partition physique et l’arborescence du système
✔ Le système maintient une table des montages qui associe des chemins (points de montage) et des disques via
des inodes les différents types de fichiers qui existent au niveau de chaque type de disque :
✔ Le nombre de liens (un lien d'un fichier est un autre nom de ce fichier), par exemple : le
✔ lien direct pour faciliter l’accès à des fichiers à partir d’emplacements connus
Le système de fichiers
ln /home/ENSAH/Test1.txt /home/user/Test2.txt
✔ Pour supprimer un fichier, il faut supprimer tous les liens directs vers son inode, mais les utilisateurs oublient
Avantages Inconvénients
⮚Dès que le fichier cible est détruit, son espace est libéré ⮚En cas de déplacement du fichier cible, le lien
⮚Un lien symbolique peut référencer un fichier symbolique peut devenir invalide
✔ Cela permet d'utiliser un même fichier sous plusieurs noms sans avoir à le dupliquer sur le disque.
Le système de fichiers
sda sdb
Montage
sda1 sdb1
Montage
sda2 sdb2
Montage
Utilisateur Répertoire
courant courant
root@ubuntu:/home/ENSAH#
Nom de la # : Superutilisateur
machine $ : Utilisateur normal
relatif absolu
root@ubuntu:/home/ENSAH# cd Documents = root@ubuntu:/home/ENSAH# cd /home/ENSAH/Documents
Attention aux chemins relatifs à l’intérieur d’un script : Vu que le répertoire courant se
varie à chaque fois, le script peut-être exécuté depuis n’importe où
Le système de fichiers
❖ Processus du démarrage :
I. Bios
⮚ Le BIOS - Basic Input Output System (système d’entrée sortie de base) est essentiel à tout PC, il se trouve
généralement dans une mémoire morte ou ROM qui est directement implantée sur la carte mère du PC. Il est
associé à une mémoire sauvegardée par une petite pile bouton sur la carte mère (le “setup” qui est la sauvegarde
de la configuration).
⮚ Si votre PC ne démarre pas (ou ne boot pas) c’est à cause du BIOS et de sa configuration (le setup). On peut
accéder au setup et le modifier en pressant une touche dès la mise sous tension du PC.
⮚ Le BIOS teste le matériel et y applique les réglages mémorisés dans le setup, tout en s’assurant qu’il n’existe pas
de disfonctionnement matériel et que tout est présent dans la machine, mémoire CPU principalement.
⮚ il regarde la présence des périphériques nécessaires au boot : lecteur de disquette, cd rom, disque dur…. si vous
avez installé un système d’exploitation Linux ou Windows, le BIOS est normalement configuré pour activer le
MBR de celui ci, les étapes du démarrage peuvent alors commencer …
Démarrage du système Linux
❖ Processus du démarrage :
I. Bios
Démarrage du système Linux
❖ Processus du démarrage :
II. MBR
⮚ Le Master Boot Record ou MBR est le nom donné au premier secteur adressable d’un disque dur
(cylindre 0, tête 0 et secteur 1, ou secteur 0 en adressage logique) dans le cadre d’un
partitionnement Intel.
⮚ Il s’agit du boot primaire, la taille du MBR étant limitée à 512 octets, ce petit programme n’a
pour fonction que de lancer le boot secondaire qui occupe un plus gros espace ailleurs sur le
disque.
⮚ Le Boot Secondaire a pour fonction d’activer le système d’exploitation, c’est à dire d’activer le
noyau. Les boot primaire et secondaire constituent ce qu’on appelle le chargeur Grub
Démarrage du système Linux
❖ Processus du démarrage :
III. Chargeur de démarrage Grub2
⮚ GNU GRUB (acronyme signifiant en anglais « GRand Unified Bootloader ») est un programme
d’amorçage GNU qui gère la gestion du chargement des systèmes d’exploitation disponibles sur le
système. Il permet à l’utilisateur de choisir quel système à démarrer. Il intervient après allumage
de l’ordinateur et avant le chargement du système d’exploitation.
⮚ GRUB dans sa version 2 (entièrement réécrite) est un chargeur de démarrage libre au même titre
que Das U-Boot ou Barebox pour du matériel embarqué.
Démarrage du système Linux
❖ Processus du démarrage :
III. Chargeur de démarrage Grub2
a) Fichiers Grub2
La configuration de GRUB2 est composé de trois principaux fichiers :
⮚ /etc/default/grub - le fichier contenant les paramètres du menu de GRUB 2,
⮚ /etc/grub.d/ - le répertoire contenant les scripts de création du menu GRUB 2, permettant
notamment de personnaliser le menu de démarrage,
⮚ /boot/grub2/grub.cfg - le fichier de configuration final de GRUB 2, non modifiable.
(/boot/grub/grub.cfg sous Debian).
⮚ Ce dernier fichier est généré automatiquement par le programme grub2-mkconfig à partir des
scripts /etc/default/grubet /etc/grub.d/ :
Démarrage du système Linux
❖ Processus du démarrage :
III. Chargeur de démarrage Grub2
a) Fichiers Grub2
Voici le contenu du fichier /etc/default/grub avec les principales variables d’environnement :
❖ Processus du démarrage :
III. Chargeur de démarrage Grub2
b) Gestion
Obtenir la version du noyau courant :
❖ Processus du démarrage :
IV. Linux kernel
Démarrage du système Linux
❖ Processus du démarrage :
V. init et systemd
La procédure de démarrage d’un ordinateur Linux peut se résumer de la manière suivante :
Le chargeur d’amorçage (GRUB2 a priori) charge le noyau, ensuite le noyau monte le système de
fichier racine (le « / »), puis il initialise la console initiale :
❑ init (abréviation de “initialization”) est le programme sous Unix qui lance ensuite toutes les autres
tâches (sous forme de scripts). Il s’exécute comme un démon informatique. Son identifiant de
processus (PID) est 1.
❑ systemd est une alternative au démon init de System V. Il est spécifiquement conçu pour le noyau
Linux. Il a pour but d’offrir un meilleur cadre pour la gestion des dépendances entre services, de
permettre le chargement en parallèle des services au démarrage, et de réduire les appels aux
scripts shell.
Démarrage du système Linux
❖ Processus du démarrage :
V. init et systemd
Démarrage du système Linux
❖ Processus du démarrage :
VI. Run levels
Le “run level”, ou niveau de fonctionnement, est un chiffre ou une lettre utilisé par le processus init
des systèmes de type Unix pour déterminer les fonctions activées du système.
Dans cette organisation héritée de UNIX System V, les scripts de lancement des applications sont
regroupés dans un répertoire commun /etc/init.d. Ces scripts reçoivent un paramètre qui peut
être start, stop, restart, etc.
❖ Processus du démarrage :
VI. Run levels
Lors d’un changement de run level :
❖ Les scripts dont le nom commence par un K dans le répertoire correspondant au niveau actuel sont lancés (dans
l’ordre des numéros) avec le paramètre stop, ce qui a normalement pour effet d’arrêter le service
correspondant,
❖ les scripts du nouveau niveau qui commencent par S sont appelés successivement avec le paramètre start.
❖ Processus du démarrage :
VI. Run levels
Obtenir le niveaux d’exécution par défaut :
Pour fixer le niveau d’exécution par défaut en mode multi-utilisateur avec serveur graphique :
❖ Processus du démarrage :
VI. La commande systemctl
C’est une commande dédiée au systemd. Le systemd permet de configurer les services qui sont lancés
au démarrage.
⮚ De Lister les services actifs par cette commande : « systemctl list-units --type=service »
⮚ De Connaitre l'état d'un service par cette commande :« systemctl is-active nom_du_service »
⮚ Activer / Désactiver un service au démarrage par cette commande :
« systemctl enable nom_du_service » et « systemctl disable nom_du_service »
⮚ Stop, start, restart and reload un service par cette commande :
« systemctl stop nom_du_service » , « systemctl start nom_du_service » , « systemctl restart
nom_du_service » et « systemctl reload nom_du_service »
⮚ Lister les dépendances d'un service par cette commande :
« systemctl list-dependencies nom_du_service »
Démarrage du système Linux