Administration Linux Partie III

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 77

Administration de

Système Linux

ENSAH – 2ème année Génie Informatique – 2021/2022


Pr. Routaib Hayat
[email protected]
Plan
• Matériel / Système d'exploitation
• Gestion des processus
• Système des fichiers
• Programmation Shell
• Administration de la sécurité
• Outils d'administration
Administration fondamentale
Matériel / Système d'exploitation

Un ordinateur est généralement constitué de :

✔Un ou plusieurs processeurs, qui effectuent tous les traitements de calcul ;

✔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) ;

✔Une carte mère, sur laquelle on connecte tous ces éléments.

 À 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 ».

🡪 La fonction première d'un système d'exploitation est donc de gérer l'ordinateur, et de


permettre aux logiciels de s'exécuter.
Composants du Système d’exploitation

⮚ Le noyau: représente les fonctions fondamentales du


Système des fichiers
système d'exploitation telles que la gestion de la mémoire,
(File System)
des processus, des fichiers, des entrées-sorties et des
fonctionnalités de communication.

⮚ Shell: permet la communication avec le système


d'exploitation par l'intermédiaire d'un langage de Interpréteur de commande
commandes, afin de permettre à l'utilisateur de piloter les (Shell)
périphériques en ignorant tout des caractéristiques du
matériel qu'il utilise, de la gestion des adresses physiques,
etc.
Le noyau
⮚ File System: permet d'enregistrer les fichiers dans une (Kernel)
⮚ arborescence
UNIX / Historique

✔ Linux est un système d’exploitation qui se


base sur le noyau du système UNIX.

✔ Avant de parler de Linux il serait bon de


parler un peu de l'histoire du noyau UNIX

✔ UNIX a été conçu et mis en œuvre dans les


années 1960 aux Bell Laboratories sous
l'impulsion de Ken Thomson et d'un petit
groupe de chercheurs de ces laboratoires
pour ensuite être publié en 1970 pour un
usage interne à ces laboratoires.
UNIX / Historique

• Le développement du langage C par


Dennis Ritchie a permis l'écriture d'une
version d'UNIX par ce langage de haut
niveau et par conséquent portable sur tout
type de machine disposant d'un compilateur
de ce langage.

• Les laboratoires Bell/AT&T voyant


UNIX devenir de plus en plus populaire et
utilisé ils décident d'en assurer eux-mêmes
son développement. Novell a racheté le
système UNIX pour le définir et donner ses
droits à l’Open Group pour le rendre
standard
UNIX / Historique

• Une 1ère version de Linux sort en 1992.

• Maintenant que nous connaissons en gros


l'histoire du système UNIX, il devient
important de parler du projet GNU.
GNU / Linux

• 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

- Avait son code source libre


UNIX vs. Linux

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

1) Ce qui est petit est beau


2) Chaque programme fait une chose et la fait bien
3) Construire un prototype dès que possible
4) Choisir la portabilité plutôt que l'efficacité
5) Enregistrer les données dans des fichiers plats
6) Utiliser le logiciel comme une force
7) Utiliser les scripts shells pour accroître cette force
8) Eviter les interfaces utilisateur captives
Les caractéristiques de GNU/Linux

• 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 …..

- Il est sous forme d'utilitaires, ou de librairies comme :


● shell, ls, rm, ... libusb,
Les composants de GNU/Linux
« Kernel & OS »

❖ Linux : Kernel space


GNU
– Espace sensible
Linux
– Espace protégé
– Contient le kernel et ses modules

❖ GNU : Userland Matériel


– Espace utilisateur
– Espace libre
– Contient cloisonné

Utilise les services Utilise les services


fournis par fournis par
GNU Linux Matériel
Les distributions de GNU/Linux

✔ Les « Versions » différentes de GNU/Linux


● Payantes (RHEL), semi-payantes (Mandriva) ou gratuites (presque toutes)
● Pour l'expert (Debian), le débutant (Kubuntu), le maniaque (LFS), le patient
(Gentoo), le nostalgique (Yggdrasil, Slackware)
● Orientée bureautique (Ubuntu), appliance (Damn Small), serveur (Trustix) ou
généraliste (SuSE, Fedora)
● Religieuses (Crux, Ubuntu CE, Ubuntu SE), païennes (les autres)
● Plus de 350 distributions sur le «marché»
Les distributions de GNU/Linux
- Comparaison -

Points communs Différences


⮚Kernel ⮚Outils GNU

⮚Système de packages

⮚Fichiers de configuration

⮚Fichiers de démarrage

⮚Organisation et type du file system

⮚Canaux de distribution

⮚Méthode d'installation, de
configuration…
Choisir une distribution de Linux
Choisir une distribution de Linux

❖ L’architecture :

Linux existe pour au moins trois architectures matérielles courantes :


✔ x86 : pour les ordinateurs dont les processeurs sont du type Intel (du 386 au Pentium 4) ou AMD
(Athlon, Duron, Sempron) 32 bits. Cette version fonctionne aussi sur les machines à base de
processeurs 64 bits.
✔ x86_64 : pour les ordinateurs dont les processeurs sont du type Intel (Pentium 4 à partir des séries 600,
Xeon, Dual Core/Quad Core) ou AMD (Athlon 64, Sempron 64, Opteron) 64 bits.
✔ ppc : pour les anciens Mac dont les processeurs sont de type PowerPC . Cette version ne s’installera
pas sur les dernières machines Apple basées sur un processeur de marque Intel.
Choisir une distribution de Linux

❖ Quelle distribution à choisir ?


A. Debian :
Le projet Debian a été fondé en 1993 par Ian Murdock à une époque où l’idée même d’utiliser la
distribution Linux
Avantages Inconvénients
⮚Un nombre gigantesque de packages qui se chiffre en ⮚Des packages souvent anciens,
milliers ⮚Des mises à jour de la distribution irrégulières et trop
⮚Une distribution 100% open source, espacées,
⮚Un logiciel d’installation appelé APT très pratique et ⮚Des risques liés à la multiplication des paquets et des
performant, dépendances,
⮚Une stabilité à toute épreuve pour un environnement de ⮚Une installation et une configuration compliquées
production.
Choisir une distribution de Linux

❖ Quelle distribution à choisir ?


B. Ubuntu :
Le milliardaire sud-africain Mark Shuttleworth a contribué au projet Debian. Devant les inconvénients de la
distribution Debian ,il crée la distribution Ubuntu Linux en 2005 avec un budget initial de 10 M$ pour
rémunérer les développeurs
Avantages
⮚Une distribution issue de Debian,
⮚Une Compatibilité avec les packages de Debian, => Cette distribution est idéale pour les étudiants,

⮚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

⮚Un environnement graphique agréable. étant compatibles.


Choisir une distribution de Linux

❖ Quelle distribution à choisir ?


C. Red Hat & Fedora :
Red Hat est une société commerciale dans le monde Linux qui a marqué et qui continue à marquer son
époque, Fondée en 1995 par Robert Young et Marc Ewing, Les distributions Red Hat ont très fortement
marqué les esprits car elles sont restées la référence pendant presque dix ans. Chaque version était innovante
tant dans l’intégration des logiciels que dans son installateur (appelé anaconda) et ses outils de configuration.
En 2003 la version 9.0 2 était a dernière destinée officiellement au grand public. Les versions suivantes ont été
confiées au projet communautaire Fedora qui continue tous les six mois à sortir.
Avantages
⮚Des versions professionnelles destinées aux entreprises,
⮚Des solutions du poste de travail au plus gros serveur,
⮚Des architectures matérielles nombreuses,
⮚Un support commercial,
⮚Des mises à jour assurées pendant sept ans,
⮚ 100% libre
Choisir une distribution de Linux

❖ Quelle distribution à choisir ?


D. Mandriva (ex-Mandrake) :

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

❖ Les utilisateurs Linux :

Il y’a deux types de personnes, qui peuvent utiliser le système Linux :


1. « Le programmeur, l’utilisateur de base de données….etc » : qui produisent quelque chose, pour eux
le système Linux n’est qu’ un moyen ou un outil pour réaliser certaines applications ou instructions.
2. « Les administrateurs systèmes Linux » : qui sont chargés de l’installation, la configuration et de le
bon fonctionnement de système Linux,
Sur un système Linux, les utilisateurs Linux ont des droits limités, c’est à dire :
Certaines commandes leurs sont interdites et ils n’ont pas accès a certaines parties du système.
=> Les administrateurs systèmes (appelé ROOT ou super utilisateur)ont par contre tous
les droits sur le système
.
Présentation de Linux

❖ Les fonctions principales :


A. Partage des ressources équitables

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

❖ Les fonctions principales :


B. Interface avec le matériel

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

❖ Les fonctions principales :


C. Gestion de Ia mémoire

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

❖ Les fonctions principales :


D. Gestion des fichiers

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

❖ Structure du système 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

❖ Les commandes 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

❖ Les commandes Populaires de Linux :


Commandes Description
Touch Elle permet de changer la date du dernier accès ou modification d’un fichier, et elle
« fichier» permet également de créer un fichier vide
pwd Elle permet d’afficher l’emplacement ou on se situe actuellement dans la FHS.

cd Elle permet de changer de répertoire courant et de se situer sur un autre

cp « f1 » « f2 » Elle permet de copier un fichier ou un répertoire, on a copié le fichier f1 en le nommant f2

rm «-f» ou «-rf» Elle permet de supprimer un fichier « rm –f f1 f2 » supprime les 2 fichiers f1 et f2

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

rmdir permet de supprimer un répertoire


Présentation de Linux

❖ Les commandes Populaires de Linux :


Commandes Description
man Elle permet d’afficher une aide sur la commande demandée
« command »
ln -s Elle permet de créer un lien symbolique (raccourci) vers un fichier ou 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).

find Elle permet de chercher un répertoire ou fichier sous Linux

curl Elle permet d’envoyer ou télécharger un fichier accessible sur le réseau.

alias Elle Permet de simplifier la vie d’un utilisateur Linux qui exécute des commandes
longues régulièrement.
Présentation de Linux

❖ Les commandes Populaires de Linux :


A. Utilisation de la commande find :
La syntaxe de la commande find est comme suit :

find répertoire options


Dont le répertoire est le chemin sur lequel la recherche est exécutée et les options sont une suite
d’expressions permettant d’affiner la recherche. Les options les plus utilisées sont :
✔ -name : filtrer par rapport au nom du fichier
✔ -type : filtrer par rapport au type du fichier
✔ -size : filtrer par rapport à la taille du fichier
✔ -ctime : filtrer par rapport à la date de création du fichier
✔ -atime : filtrer par rapport à la dernière date d’accès au fichier
✔ -mtime : filtrer par rapport à la dernière date de modification du fichier
✔ -user : filtrer par rapport au propriétaire du fichier
✔ -group : filtrer par rapport au groupe du fichier
Présentation de Linux

❖ Les commandes Populaires de Linux :


B. Utilisation de la commande curl :
La syntaxe de la commande curl est comme suit :

curl options répertoire


Curl (abréviation de client URL request library) est un outil en ligne de commande permettant d’envoyer
ou de télécharger des ressources accessibles par le réseau. Curl supporte une large variété des protocoles
réseau comme HTTP, HTTPS, FTP, FTPS, SFTP etc…, la valeur par défaut étant HTTP.
Présentation de Linux

❖ Les commandes Populaires de Linux :


C. Utilisation de la commande alias :
f fvUn alias sous linux peut être considéré comme un simple raccourci qui représente une ou
plusieurs commandes régulièrement utilisé. Au lieu de taper à chaque fois une longue
commande, vous utilisez simplement le raccourci que vous auriez créé en avance.
Le système de fichiers
Le système de fichiers

❖ Système de fichiers Linux :


Linux permet de faire un stockage de l’information, avec les contraintes suivantes :

❑ Pouvoir enregistrer une très grande quantité d’information.

❑ Pouvoir conserver les informations après la fin du processus qui les utilise.

❑ Permettre l’accès simultané à l’information pour deux processus différents.

=> 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

❖ Système de fichiers Linux :

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’arborescence du système Linux :

Linux utilise le standard FHS « Filesystem Hierarchy


Standard » pour définir son arborescence. Ce standard
propose une structure de répertoires dont chacun possède
un rôle spécifique définit dans FHS :
✔ /bin/ : Contient toutes les commandes de base nécessaires au démarrage et à l’utilisation d’un système
minimaliste (par exemple : cat, ls, cp, sh).
✔ /sbin : Contient les commandes systèmes réservées aux administrateurs.
✔ /boot : Contient les fichiers nécessaires au démarrage du système d’exploitation.
✔ /dev : Contient des fichiers correspondants à un périphériques (disques , disquettes …).
✔ /etc : Contient la plupart des fichiers de configuration du système.
.
Le système de fichiers

❖ L’arborescence du système Linux :

✔ /root/ : Répertoire de l'Utilisateur root à ne pas


Confondre avec la racine /
✔ /home/ : Utilisé pour stocker les répertoires utilisateurs
✔ /usr/ : Contient certains répertoires semblables à la racine / mais qui ne sont pas nécessaires à l’
exécution minimal du système (usr est l'acronyme de « UNIX System Resources »).
✔ /opt : Utilisé comme emplacement d’installation d’un logiciel utilisé.
✔ /tmp/ : Utilisé pour stocker les fichiers temporaires ,
✔ /run/: contient les informations des différents logiciels en cours d'exécution
✔ /proc/ : Utilisé comme système de fichiers virtuel qui informent le noyau et les différents processus
✔ / var/ : Ne contient que des répertoires ou liens symboliques vers d'autres répertoires, qui contient des
fichiers variables divers pour monter le répertoire /usr en lecture seule.
✔ /mnt/ : Point de montage pour les systèmes de fichiers temporaires
Le système de fichiers

❖ Les symboles associés à l’arborescence Linux :


Différents symboles sont utilisés pour désigner des répertoires
⮚ Le « . » : Répertoire courant
⮚ Le « .. » : Répertoire parent
⮚ Le « ~ » : Répertoire personnel de l’utilisateur courant
La commande « cd » permet de changer de répertoire
La commande « ls » permet de lister un répertoire
La commande « pwd » permet de connaître le répertoire courant

Je suis dans mon rep. perso Je vais dans /etc/apache2


root@ubuntu:~# cd /etc/apache2
root@ubuntu:/etc/apache2 # cd .. Je vais dans le rép parent (/etc)
root@ubuntu:/etc # ls .
root@ubuntu:/etc # cd ~ Je liste le rép. courant (/etc)
root@ubuntu:/home/dupont# pwd
/home/dupont Je retourne dans mon rép perso
Où suis-je ?
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

✔ Exemples : /dev/hda1 : Partition 1 sur le 1er disque IDE


/dev/sdb2 : Partition 2 sur le 2ème disque Sata
Le système de fichiers

❖ Les formats des systèmes de fichiers :


✔ À chaque système est associé un format pour définir la structure des données sur le support

1. Sous Linux :
⮚ ext2, ext3, jfs, xfs
⮚ ext3 est la plus courante pour Linux
2. Sous Windows :

⮚ fat, fat32, ntfs


⮚ Ntfs est utilisé sous Windows XP, Vista, Seven, Windows 8
❑ Il faut toujours choisir un système de fichier « journalisé » car :

⮚ 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

⮚ On évite les erreurs dans le système de fichiers


Le système de fichiers

❖ Les formats des systèmes de fichiers :


✔ Le format « swap » est utilisé comme « mémoire virtuelle » lorsque :

• Dans le cas où la mémoire vive est saturée


• Par le système pour améliorer les performances
✔ La taille du « swap » est fixée au double de la mémoire vive, ex : Si 512Mo de mémoire vive => 1024Mo de swap

✔ 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 :

• / ⇒ sda1 • /mnt/windows ⇒ sdb2


• / home ⇒ sdb1
Le système de fichiers

❖ Les points de montage :


✔ Lorsqu’un processus accède à un point de montage, il accède à l’inode racine du disque indiqué dans la table
des montages Par exemple cd /mnt/windows accède à l’inode racine de sdb2
Le système de fichiers

❖ Les points de montage :


⮚ L’inode :
✔ Un i-node est une structure de quelques dizaines d’octets décrite dans /usr/include/sys/inode.h qui
contient généralement les champs suivants :
✔ Le type du fichier (fichier ordinaire, spécial, répertoire,...).

✔ Les droits d’accès et l'adresse physique d'implantation sur disque.


✔ UID : le propriétaire du fichier, ses éléments d'identification
✔ GID : le group à le quel il appartient le propriétaire.

✔ La date de dernière modification, la date du dernier accès, la date de création.


✔ La taille du fichier en octets.

✔ 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

❖ Les points de montage :


⮚ Lien direct :
✔ On peut créer plusieurs liens directs vers le même inode par la commande : ln fichier-cible fichier-lien
Exemple :
Test1.txt
ENSAH Hello
home students !!
user
Test2.txt

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

✔ Un lien direct ne peut référencer qu’un inode de la même partition


Le système de fichiers

❖ Les points de montage :


⮚ Lien symbolique :
✔ On peut faire des raccourcis via des liens symboliques par la commande : ln -s fichier-cible fichier-lien
Exemple :
Test1.txt Hello
students !!
ENSAH
home
user
Test2.txt
/home/ENSAH/Test1.txt
ln -s /home/ENSAH/Test1.txt /home/user/Test2.txt
Fichier de type lien symbolique

✔ Fichier spécial (type lien) dont le contenu est un chemin cible

✔ Lorsque le système doit ouvrir le fichier, il ouvre la cible à la place de l’original


Le système de fichiers

❖ Les points de montage :


⮚ Lien symbolique :

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

quelconque, y compris appartenant à une autre partition


Le système de fichiers

❖ Les points de montage :


⮚ Les types de fichiers :

❖ Les fichiers normaux :


✔ Texte : courrier, sources des programmes, scripts, configuration ...
✔ Exécutables : programmes en code binaire

❖ Les fichiers répertoires :


✔ Ce sont des fichiers conteneurs qui contiennent des références à d'autres fichiers.
✔ Véritable charpente de l'arborescence, ils permettent d'organiser les fichiers par catégories
Le système de fichiers

❖ Les points de montage :


⮚ Les types de fichiers :

❖ Les fichiers spéciaux :


✔ Ce sont situés dans /dev, ce sont les points d'accès préparés par le système aux périphériques.
✔ Le montage va réaliser une correspondance de ces fichiers spéciaux vers leur répertoire "point de montage".
Par exemple: le fichier /dev/hda permet l'accès et le chargement du 1er disque IDE

❖ Les fichiers « liens symboliques » :


✔ Ce sont des fichiers qui ne contiennent qu'une référence (un pointeur = lien symbolique ) à un autre fichier.

✔ Cela permet d'utiliser un même fichier sous plusieurs noms sans avoir à le dupliquer sur le disque.
Le système de fichiers

❖ Les points de montage :


✔ Le schéma suivant illustre un exemple d’association de montage :

sda sdb
Montage
sda1 sdb1
Montage

sda2 sdb2
Montage

Disque 1 Arborescence système Disque 2


✔ Tant qu’ils ne sont pas effectués, le système de fichiers est inaccessible

✔ Ils sont réalisés automatiquement au démarrage du système


=> Il est possible de créer un point de montage manuellement :
- En utilisant la commande « mount »
- Et « umount » pour supprimer le point de montage
=> Ou bien par clés USB ou le CDROM
Le système de fichiers

❖ Les chemins des systèmes de fichiers :


La ligne de commande donne des informations :

Utilisateur Répertoire
courant courant

root@ubuntu:/home/ENSAH#

Nom de la # : Superutilisateur
machine $ : Utilisateur normal

Il existe 2 méthodes pour spécifier un chemin dans le système de fichiers


✔ Chemin relatif : Dépend du répertoire courant
✔ Chemin absolu : Débute à la racine du système (« / »)
Le système de fichiers

❖ Les chemins des systèmes de fichiers :


⮚ Exemples :

relatif absolu
root@ubuntu:/home/ENSAH# cd Documents = root@ubuntu:/home/ENSAH# cd /home/ENSAH/Documents

root@ubuntu:/home/ENSAH# cd Documents root@ubuntu:/home/ENSAH# cd /home/ENSAH/Documents


root@ubuntu:/home/ENSAH/Documents/# | = root@ubuntu:/home/ENSAH/Documents/# |

root@ubuntu:/etc/apache# cd ../ root@ubuntu:/etc/apache# cd /etc


root@ubuntu:/etc/# | = root@ubuntu:/etc/# |

paul@ubuntu:~ # cd Docs jean@ubuntu:/etc# cd /home/ENSAH/Docs


paul@ubuntu:~/Docs# | = root@ubuntu:/home/ENSAH/Docs # |

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

❖ Les droits d’accès :


Toute opération sur un fichier est soumise à droits d’accès, sinon vous obtenez un message de genre
« Permission non accordée »
✔ Il y’a 3 types d’accès
1. r ( read ) : droit de lecture

– Si répertoire, consultation de ses entrées (c.-à-.d, ls autorisé)


– Sinon, consultation du contenu du fichier
2. w ( write ) : droit d’écriture
– Si répertoire, droit de création, de renommage et de suppression d’une entrée dans le répertoire

– Sinon, droit de modification du contenu du fichier


3. x ( execution ) : droit d’exécution

– si répertoire, droit de traverser (c.-à-.d., cd autorisé)


– sinon, droit d’exécution
Le système de fichiers

❖ Les droits d’accès :


Il y’ a 3 catégories d’utilisateurs :
✔ Propriétaire (u [ user ] )
✔ Groupe propriétaire (g [ group ] )
✔ Tous les autres ( o [ other ] ) Chaque catégorie possède ses types d’accès r w x
✔ Ou bien tout le monde ( a [ all ⬄ ugo « user et group et les autres » ] )
⇒ ls -ld 🡪 donne les droits des fichiers
Le système de fichiers

❖ Les droits d’accès :


Pour faire une modification sur un fichier existant, on utilise la commande : chmod, avec le format suivant :
chmod droit fichier => pour changer le mode
Pour appliquer les droits à un fichier on doit agir à :
❑ Catégories : u, g, o ou a (= all ⬄ ugo)
❑ Opérations : Ajout (+), retrait (-), affectation (=)
⮚ Exemple :
Résultat obtenu
$ ls –ld fichier - rwx r-- --- fichier

$ chmod u-x fichier [ Modifier au niveau de la catégorie user u et faire un


retrait - d’exécution x ]
Catégorie user
$ ls –ld fichier Résultat obtenu - rw- r-- --- fichier
Programmation système
Démarrage du système Linux

❖ 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 :

Sous Ubuntu pour générer le fichier de configuration de GRUB2 :


Démarrage du système Linux

❖ Processus du démarrage :
III. Chargeur de démarrage Grub2
b) Gestion
Obtenir la version du noyau courant :

Pour connaître la liste des entrées du menu :

Pour mettre à zéro Grub2 Pour réinstaller grub2


Démarrage du système Linux

❖ 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.

À chaque niveau correspond un répertoire (typiquement /etc/rc.d/rc2.d pour le niveau 2) de liens


symboliques vers des fichiers de /etc/init.d. Ces liens symboliques portent des noms commençant
par la lettre S ou K, suivi d’un numéro sur deux chiffres.
Démarrage du système Linux

❖ 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.

Avec init, les niveaux d’exécutions servent à ces usages :


❑ Niveau 1. Mode mono-utilisateur ou maintenance
❑ Niveau 2. mode multi-utilisateur sans ressources réseaux (NFS, etc)
❑ Niveau 3. mode multi-utilisateur sans serveur graphique Pour vérifier le niveau
❑ Niveau 5. mode multi-utilisateur avec serveur graphique d’exécution
❑ Le niveau 0 arrête le système.
❑ Le niveau 6 redémarre le système.

Pour se placer dans un niveau d’exécution


Démarrage du système Linux

❖ 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 :

Pour passer mode maintenance avec un système de fichier local monté


Passer en mode maintenance avec seulement /root monté
Pour passer en mode multi-utilisateur sans serveur graphique (N 3)

Pour passer en mode multi-utilisateur avec serveur graphique (N 5)


Démarrage du système Linux

❖ 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

❖ Démarrage, redémarrage et éteint un système Linux:


Sur une machine locale ou virtuelle ou un serveur distant.
Pour redémarrer le système, on peut procéder à ces différentes manières :
Arrêter le système Eteindre le système redémarrer le système

Suspendre le système Hibernation


« pour enregistrer l’état de la machine »
Gestion de processus

Vous aimerez peut-être aussi