Linux Professional Institute Learning Logo.
Passer au contenu principal
  • Accueil
    • Toutes les ressources
    • Supports de Cours LPI
    • Devenez contributeur
    • Publishing Partners
    • Devenez Partenaire de Publication
    • À propos
    • FAQ
    • Contributeurs
    • Feuille de route
    • Contactez-nous
  • LPI.org
4.3 Leçon 1
Sujet 1 : Communauté Linux et carrière dans le logiciel libre
1.1 Évolution de Linux et systèmes d'exploitation populaires
  • 1.1 Leçon 1
1.2 Applications libres majeures
  • 1.2 Leçon 1
1.3 Logiciel à code source ouvert et licences
  • 1.3 Leçon 1
1.4 Compétences informatiques et travail sous Linux
  • 1.4 Leçon 1
Sujet 2 : Trouver son chemin sur un système Linux
2.1 Bases sur la ligne de commande
  • 2.1 Leçon 1
  • 2.1 Leçon 2
2.2 Utilisation de la ligne de commande pour obtenir de l'aide
  • 2.2 Leçon 1
2.3 Utilisation des répertoires et liste des fichiers
  • 2.3 Leçon 1
  • 2.3 Leçon 2
2.4 Création, déplacement et suppression de fichiers
  • 2.4 Leçon 1
Sujet 3 : Le pouvoir de la ligne de commande
3.1 Archivage de fichiers en ligne de commande
  • 3.1 Leçon 1
3.2 Recherche et extraction de données à partir de fichiers
  • 3.2 Leçon 1
  • 3.2 Leçon 2
3.3 Conversion de commandes en script
  • 3.3 Leçon 1
  • 3.3 Leçon 2
Sujet 4 : Le système d'exploitation Linux
4.1 Choix d'un système d'exploitation
  • 4.1 Leçon 1
4.2 Compréhension du matériel informatique
  • 4.2 Leçon 1
4.3 Localisation des données
  • 4.3 Leçon 1
  • 4.3 Leçon 2
4.4 Intégration au réseau
  • 4.4 Leçon 1
Sujet 5 : Sécurité et droits d'accès aux fichiers
5.1 Sécurité élémentaire et identification des catégories d'utilisateurs
  • 5.1 Leçon 1
5.2 Création des utilisateurs et des groupes
  • 5.2 Leçon 1
5.3 Gestion des propriétés et des droits d'accès aux fichiers
  • 5.3 Leçon 1
5.4 Répertoires et fichiers spéciaux
  • 5.4 Leçon 1
How to get certified
  1. Sujet 4 : Le système d'exploitation Linux
  2. 4.3 Localisation des données
  3. 4.3 Leçon 1

4.3 Leçon 1

Certification :

Linux Essentials

Version :

1.6

Thème :

4 Le Système d’Exploitation Linux

Objectif :

4.3 Lieux de Stockage des Données

Leçon:

1 sur 2

Introduction

Pour un système d’exploitation, tout est considéré comme des données. Pour Linux, tout est considéré comme un fichier : programmes, fichiers réguliers, répertoires, périphériques à blocs (disques durs, etc.), périphériques à caractères (consoles, etc.), processus du noyau, sockets, partitions, liens, etc. La structure des répertoires de Linux, en partant de la racine /, est un ensemble de fichiers contenant des données. Le fait que tout soit un fichier est une caractéristique puissante de Linux car elle permet de modifier pratiquement chaque aspect du système.

Dans cette leçon, nous discuterons des différents emplacements dans lesquels les données importantes sont stockées selon la norme de hiérarchie des systèmes de fichiers Linux (FHS). Certains de ces emplacements sont de véritables répertoires qui stockent les données de manière persistante sur les disques, tandis que d’autres sont des pseudo-systèmes de fichiers chargés en mémoire qui nous donnent accès aux données du sous-système du noyau telles que les processus en cours d’exécution, l’utilisation de la mémoire, la configuration matérielle, etc. Les données stockées dans ces répertoires virtuels sont utilisées par un certain nombre de commandes qui nous permettent de les surveiller et de les manipuler.

Les Programmes et leurs Configurations

Les données importantes sur un système Linux sont sans aucun doute les programmes et leurs fichiers de configuration. Les premiers sont des fichiers exécutables contenant des ensembles d’instructions à exécuter par le processeur de l’ordinateur, tandis que les seconds sont généralement des documents texte qui contrôlent le fonctionnement d’un programme. Les fichiers exécutables peuvent être soit des fichiers binaires, soit des fichiers texte. Les fichiers texte exécutables sont appelés scripts. Les données de configuration sous Linux sont traditionnellement stockées dans des fichiers texte également, bien qu’il existe différents styles de représentation des données de configuration.

Lieux de Stockage des Fichiers Binaires

Comme tout autre fichier, les fichiers exécutables se trouvent dans des répertoires reliés à /. Plus précisément, les programmes sont distribués selon une structure à trois niveaux : le premier niveau (/) comprend les programmes qui peuvent être nécessaires en mode monoposte, le deuxième niveau (/usr) contient la plupart des programmes multi-utilisateurs et le troisième niveau (/usr/local) est utilisé pour stocker les logiciels qui ne sont pas fournis par la distribution et qui ont été compilés localement.

Les lieux typiques pour les programmes comprennent :

/sbin

Il contient des binaires essentiels pour l’administration du système, tels que parted ou ip.

/bin

Il contient des binaires essentiels pour tous les utilisateurs tels que ls, mv, ou mkdir.

/usr/sbin

Il stocke des binaires pour l’administration du système tels que deluser, ou groupadd.

/usr/bin

Il contient la plupart des fichiers exécutables comme : free, pstree, sudo ou man qui peuvent être utilisés par tous les utilisateurs.

/usr/local/sbin

Il est utilisé pour stocker les programmes installés localement pour l’administration du système qui ne sont pas gérés par le gestionnaire de paquets du système.

/usr/local/bin

Il sert le même objectif que /usr/local/sbin mais pour les programmes d’utilisateurs réguliers.

Récemment, certaines distributions ont commencé à remplacer /bin et /sbin par des liens symboliques vers /usr/bin et /usr/sbin.

Note

Le répertoire /opt est parfois utilisé pour stocker des applications tierces facultatives.

En dehors de ces répertoires, les utilisateurs réguliers peuvent avoir leurs propres programmes dans l’un ou l’autre des répertoires :

  • /home/$USER/bin

  • /home/$USER/.local/bin

Vous pouvez découvrir quels sont les répertoires disponibles pour exécuter des binaires en affichant la variable PATH avec echo $PATH. Pour plus d’informations sur PATH, consultez les leçons sur les variables et la personnalisation du shell.

On peut trouver l’emplacement des programmes avec la commande which :

$ which git
/usr/bin/git

Lieux de Stockage des Fichiers de Configuration

Le répertoire /etc

Dans les premiers temps d’Unix, il y avait un dossier pour chaque type de données, comme /bin pour les binaires et /boot pour le(s) noyau(x). Cependant, /etc (signifiant et cetera) a été créé comme un répertoire fourre-tout pour stocker tous les fichiers qui n’appartenaient pas aux autres catégories. La plupart de ces fichiers étaient des fichiers de configuration. Au fil du temps, de plus en plus de fichiers de configuration ont été ajoutés, de sorte que /etc est devenu le dossier principal pour les fichiers de configuration des programmes. Comme indiqué ci-dessus, un fichier de configuration est généralement un fichier local en texte brut (par opposition à un fichier binaire) qui contrôle le fonctionnement d’un programme.

Dans /etc, nous pouvons trouver différents modèles pour les noms des fichiers de configuration :

  • Fichiers avec une extension ad hoc ou sans extension du tout, par exemple

    group

    Base de données des groupes du système.

    hostname

    Nom d’hôte de l’ordinateur.

    hosts

    Liste des adresses IP et traduction de leur nom d’hôte.

    passwd

    Base de données des utilisateurs du système composée de sept champs séparés par des deux points fournissant des informations sur les utilisateurs.

    profile

    Fichier de configuration de Bash pour l’ensemble du système.

    shadow

    Fichier chiffré pour les mots de passe des utilisateurs.

  • Fichiers d’initialisation se terminant par rc :

    bash.bashrc

    Fichier .bashrc à l’échelle du système pour les shells bash interactifs.

    nanorc

    Exemple de fichier d’initialisation pour GNU nano (un simple éditeur de texte qui est normalement livré avec toutes les distributions).

  • Les fichiers se terminant par .conf :

    resolv.conf

    Le fichier de configuration du résolveur qui permet d’accéder au système de noms de domaine Internet (DNS).

    sysctl.conf

    Fichier de configuration pour définir les variables système du noyau.

  • Répertoires avec le suffixe .d :

    Certains programmes avec un fichier de configuration unique (*.conf ou autre) ont évolué pour avoir un répertoire *.d dédié qui permet de construire des configurations modulaires et plus robustes. Par exemple, pour configurer logrotate, vous trouverez logrotate.conf, mais aussi le répertoire logrotate.d.

    Cette approche est utile dans les cas où différentes applications nécessitent des configurations pour le même service spécifique. Si, par exemple, un progiciel de serveur web contient une configuration logrotate, cette configuration peut maintenant être placée dans un fichier dédié dans le répertoire logrotate.d. Ce fichier peut être mis à jour par le progiciel de serveur web sans interférer avec la configuration logrotate restante. De même, les paquets peuvent ajouter des tâches spécifiques en plaçant des fichiers dans le répertoire /etc/cron.d au lieu de modifier /etc/crontab.

    Dans Debian et les dérivées de Debian une telle approche a été appliquée à la liste des sources fiables lues par l’outil de gestion des paquets apt : outre le classique /etc/apt/sources.list, on trouve maintenant le répertoire /etc/apt/sources.list.d :

    $ ls /etc/apt/sources*
    /etc/apt/sources.list
    /etc/apt/sources.list.d:
Les Fichiers de Configuration dans HOME (Dotfiles)

Au niveau de l’utilisateur, les programmes stockent leurs configurations et paramètres dans des fichiers cachés dans le répertoire personnel de l’utilisateur (également représenté par ~). N’oubliez pas que les fichiers cachés commencent par un point (. ) d’où leur nom : dotfiles.

Certains de ces dotfiles sont des scripts Bash qui personnalisent la session shell de l’utilisateur et sont générés dès que l’utilisateur se connecte au système :

.bash_history

Il stocke l’historique de la ligne de commande.

.bash_logout

Il comprend des commandes à exécuter lorsque l’on quitte le shell de connexion.

.bashrc

Script d’initialisation de Bash pour les shells sans login.

.profile

Le script d’initialisation de Bash pour les shells de connexion.

Note

Reportez-vous à la leçon sur les “Bases de la Ligne de Commande” pour en savoir plus sur Bash et ses fichiers d’initialisation.

Les fichiers de configuration d’autres programmes spécifiques à l’utilisateur sont obtenus au démarrage de leurs programmes respectifs : .gitconfig, .emacs.d, .ssh, etc.

Le Noyau Linux

Avant qu’un processus puisse s’exécuter, le noyau doit être chargé dans une zone de mémoire protégée. Ensuite, le processus avec le PID 1 (le plus souvent systemd de nos jours) déclenche la chaîne de processus, c’est-à-dire qu’un processus en démarre un ou plusieurs autres et ainsi de suite. Une fois les processus actifs, le noyau Linux se charge de leur allouer des ressources (clavier, souris, disques, mémoire, interfaces réseau, etc.).

Note

Avant systemd, /sbin/init était toujours le premier processus dans un système Linux dans le cadre du gestionnaire de système System V Init. En fait, on trouve encore /sbin/init actuellement mais il est lié à /lib/systemd/systemd.

Lieux de Stockage des Noyaux : /boot

Le noyau réside dans /boot avec d’autres fichiers liés au démarrage. La plupart de ces fichiers comportent dans leur nom les composants du numéro de version du noyau (version du noyau, révision majeure, révision mineure et numéro de correctif).

Le répertoire /boot comprend les types de fichiers suivants, dont les noms correspondent à la version respective du noyau :

config-4.9.0-9-amd64

Les paramètres de configuration du noyau tels que les options et les modules qui ont été compilés avec le noyau.

initrd.img-4.9.0-9-amd64

Image initiale du disque RAM qui aide au processus de démarrage en chargeant un système de fichiers racine temporaire en mémoire.

System-map-4.9.0-9-amd64

Le fichier System-map (sur certains systèmes, il sera nommé System.map) contient les emplacements des adresses mémoire pour les noms des symboles du noyau. Chaque fois qu’un noyau est reconstruit, le contenu du fichier change car les emplacements mémoire peuvent être différents. Le noyau utilise ce fichier pour rechercher les adresses mémoire d’un symbole de noyau particulier, ou vice-versa.

vmlinuz-4.9.0-9-amd64

Le noyau proprement dit dans un format auto-extractible, peu encombrant et compressé (d’où le z dans vmlinuz ; vm signifie mémoire virtuelle et a commencé à être utilisé lorsque le noyau a obtenu la prise en charge de la mémoire virtuelle pour la première fois).

grub

Répertoire de configuration pour le bootloader grub2.

Comme il s’agit d’une caractéristique essentielle du système d’exploitation, plus d’un noyau et ses fichiers associés sont conservés dans /boot au cas où le noyau par défaut deviendrait défectueux et que nous devions nous rabattre sur une version antérieure pour au moins être capable de démarrer le système et de le réparer.

Le Répertoire /proc

Le répertoire /proc est l’un des systèmes de fichiers dits virtuels ou pseudo-virtuels puisque son contenu n’est pas écrit sur le disque, mais chargé en mémoire. Il est alimenté dynamiquement à chaque démarrage de l’ordinateur et reflète constamment l’état actuel du système. Le répertoire /proc contient des informations sur :

  • Les processus en cours

  • La configuration du noyau

  • Le matériel du système

Outre toutes les données concernant les processus que nous verrons dans la prochaine leçon, ce répertoire contient également des fichiers contenant des informations sur le matériel du système et les paramètres de configuration du noyau. Certains de ces fichiers comprennent :

/proc/cpuinfo

Il stocke des informations sur le CPU du système :

$ cat /proc/cpuinfo
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 158
model name	: Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz
stepping	: 10
cpu MHz		: 3696.000
cache size	: 12288 KB
(...)
/proc/cmdline

Il stocke les chaînes de caractères passées au noyau au démarrage :

$ cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-4.9.0-9-amd64 root=UUID=5216e1e4-ae0e-441f-b8f5-8061c0034c74 ro quiet
/proc/modules

Il montre la liste des modules chargés dans le noyau :

$ cat /proc/modules
nls_utf8 16384 1 - Live 0xffffffffc0644000
isofs 40960 1 - Live 0xffffffffc0635000
udf 90112 0 - Live 0xffffffffc061e000
crc_itu_t 16384 1 udf, Live 0xffffffffc04be000
fuse 98304 3 - Live 0xffffffffc0605000
vboxsf 45056 0 - Live 0xffffffffc05f9000 (O)
joydev 20480 0 - Live 0xffffffffc056e000
vboxguest 327680 5 vboxsf, Live 0xffffffffc05a8000 (O)
hid_generic 16384 0 - Live 0xffffffffc0569000
(...)

Le Répertoire /proc/sys

Ce répertoire comprend les paramètres de configuration du noyau dans des fichiers classés en catégories par sous-répertoire :

$ ls /proc/sys
abi  debug  dev  fs  kernel  net  user  vm

La plupart de ces fichiers agissent comme un interrupteur et contiennent l’une des deux valeurs possibles : 0 ou 1 (“on” ou “off”). Par exemple :

/proc/sys/net/ipv4/ip_forward

Valeur qui permet à notre machine d’agir en tant que routeur (être capable de transmettre des paquets) ou qui le désactive :

$ cat /proc/sys/net/ipv4/ip_forward
0

Il y a cependant quelques exceptions :

/proc/sys/kernel/pid_max

Le PID maximum autorisé :

$ cat /proc/sys/kernel/pid_max
32768

Soyez très prudent lorsque vous modifiez les paramètres du noyau, car une valeur incorrecte peut entraîner une instabilité du système.

Les Périphériques Matériels

Rappelez-vous, sous Linux, “tout est un fichier”. Cela implique que les informations sur les périphériques matériels ainsi que les paramètres de configuration propres au noyau sont tous stockés dans des fichiers spéciaux qui résident dans des répertoires virtuels.

Le Répertoire /dev

Le répertoire de périphériques /dev contient les fichiers de périphériques (ou nœuds) de tous les périphériques matériels connectés. Ces fichiers de périphériques sont utilisés comme interface entre les périphériques et les processus qui les utilisent. Chaque fichier de périphérique appartient à l’une des deux catégories suivantes :

Périphériques à blocs

Ce sont ceux dans lesquels les données sont lues et écrites en blocs qui peuvent être adressés individuellement. Les exemples incluent les disques durs (et leurs partitions, comme /dev/sda1), les lecteurs flash USB, les CD, les DVD, etc.

Périphérique à caractères

Ce sont ceux dans lesquels les données sont lues et écrites séquentiellement, un caractère à la fois. Les exemples comprennent les claviers, la console de texte (/dev/console), les ports série (tels que /dev/ttyS0 et ainsi de suite), etc.

Lorsque vous répertoriez les fichiers de périphériques, assurez-vous d’utiliser ls avec l’option -l pour faire la différence entre les deux. Nous pouvons par exemple rechercher les disques durs et les partitions :

# ls -l /dev/sd*
brw-rw---- 1 root disk 8, 0 may 25 17:02 /dev/sda
brw-rw---- 1 root disk 8, 1 may 25 17:02 /dev/sda1
brw-rw---- 1 root disk 8, 2 may 25 17:02 /dev/sda2
(...)

Ou pour les terminaux séries (TeleTYpewriter) :

# ls -l /dev/tty*
crw-rw-rw- 1 root tty     5,  0 may 25 17:26 /dev/tty
crw--w---- 1 root tty     4,  0 may 25 17:26 /dev/tty0
crw--w---- 1 root tty     4,  1 may 25 17:26 /dev/tty1
(...)

Remarquez que le premier caractère est b pour les périphériques à bloc et c pour les périphériques à caractères.

L’astérisque (*) est un caractère de globbing qui signifie 0 ou plus de caractères. D’où son importance dans les commandes ls -l /dev/sd* et ls -l /dev/tty* ci-dessus. Pour en savoir plus sur ces caractères spéciaux, reportez-vous à la leçon sur le globbing.

En outre, /dev comprends des fichiers spéciaux qui sont très utiles pour différents objectifs de programmation :

/dev/zero

Il fournit autant de caractères nuls que nécessaire.

/dev/null

Aka bit bucket. Il rejette toutes les informations qui lui sont envoyées.

/dev/urandom

Il génère des nombres pseudo-aléatoires.

Le Répertoire /sys

Le système de fichiers sys (sysfs) est monté sur /sys. Il a été introduit avec l’arrivée du noyau 2.6 et a représenté une grande amélioration de /proc/sys.

Les processus doivent interagir avec les périphériques dans /dev et le noyau a donc besoin d’un répertoire qui contient des informations sur ces périphériques matériels. Ce répertoire est /sys et ses données sont classées par catégories. Par exemple, pour vérifier l’adresse MAC de votre carte réseau (enp0s3), vous affichez avec cat le fichier suivant :

$ cat /sys/class/net/enp0s3/address
08:00:27:02:b2:74

Mémoire et Types de Mémoire

Généralement, pour qu’un programme commence à fonctionner, il doit être chargé en mémoire. Dans l’ensemble, lorsque nous parlons de mémoire, nous faisons référence à la mémoire vive (RAM), et quand on la compare au disque dur mécanique, elle a l’avantage d’être beaucoup plus rapide. D’un autre côté, elle est volatile (c’est-à-dire qu’une fois que l’ordinateur est éteint, les données disparaissent).

Malgré ce que l’on vient de mentionner, quand il s’agit de mémoire, on peut différencier deux types principaux dans un système Linux :

La mémoire physique

Aussi appelée RAM, elle se présente sous la forme de puces composées de circuits intégrés contenant des millions de transistors et de condensateurs. Ces derniers forment à leur tour des cellules de mémoire (le bloc de base de la mémoire d’un ordinateur). À chacune de ces cellules est associée une adresse mémoire code en hexadécimale à laquelle on peut se référer en cas de besoin.

Le Swap

Également appelé espace d’échange, c’est la partie de la mémoire virtuelle qui vit sur le disque dur et qui est utilisée lorsqu’il n’y a plus de mémoire vive disponible.

D’autre part, il y a le concept de mémoire virtuelle qui est une abstraction de la quantité totale de mémoire d’adressage utilisable (RAM, mais aussi espace disque) telle que vue par les applications.

free analyse /proc/meminfo et affiche la quantité de mémoire libre et utilisée dans le système de manière très claire :

$ free
              total        used        free      shared  buff/cache   available
Mem:        4050960     1474960     1482260       96900     1093740     2246372
Swap:       4192252           0     4192252

Expliquons les différentes colonnes :

total

Quantité totale de mémoire physique et de mémoire Swap installée.

used

Quantité de mémoire physique et de mémoire Swap actuellement utilisée.

free

Quantité de mémoire physique et de mémoire Swap actuellement non utilisée.

shared

Quantité de mémoire physique utilisée, principalement par tmpfs.

buff/cache

Quantité de mémoire physique actuellement utilisée par les tampons du noyau et le cache des pages et les plaques.

available

Estimation de la quantité de mémoire physique disponible pour les nouveaux processus.

Par défaut, free affiche les valeurs en kibioctets, mais permet à une variété d’options d’afficher ses résultats dans différentes unités de mesure. Voici quelques-unes de ses options :

-b

Octets.

-m

Mébioctets.

-g

Gibioctets.

-h

Format lisible par l’homme.

-h est toujours agréable à lire :

$ free -h
              total        used        free      shared  buff/cache   available
Mem:           3,9G        1,4G        1,5G         75M        1,0G        2,2G
Swap:          4,0G          0B        4,0G
Note

Un kibioctet (Kib) équivaut à 1024 octets tandis qu’un kilooctet (Ko) équivaut à 1 000 octets. Il en va de même respectivement pour les mébioctets, gibioctets, etc.

Exercices Guidés

  1. Utilisez la commande which pour connaître l’emplacement des programmes suivants et compléter le tableau :

    Programme Commande which Chemin vers l’exécutable (sortie) L’utilisateur a besoin de privilèges de root ?

    swapon

    kill

    cut

    usermod

    cron

    ps

  2. Où se trouvent les fichiers suivants ?

    Fichier /etc ~

    .bashrc

    bash.bashrc

    passwd

    .profile

    resolv.conf

    sysctl.conf

  3. Expliquez la signification des éléments numériques du fichier de noyau vmlinuz-4.15.0-50-generic trouvé dans /boot :

    Élément de numéro Signification

    4

    15

    0

    50

  4. Quelle commande utiliseriez-vous pour lister tous les disques durs et les partitions dans /dev ?

Exercices d’Exploration

  1. Les fichiers de périphériques pour les disques durs sont représentés sur la base des contrôleurs qu’ils utilisent comme nous l’avons vu /dev/sd* pour les lecteurs utilisant SCSI (Small Computer System Interface) et SATA (Serial Advanced Technology Attachment), mais

    • Comment les anciens lecteurs IDE (Integrated Drive Electronics) étaient-ils représentés ?

    • Et les lecteurs modernes NVMe (Non-Volatile Memory Express) ?

  2. Consultez le fichier /proc/meminfo. Comparez le contenu de ce fichier à la sortie de la commande free et identifiez quelle clé de /proc/meminfo correspond aux champs suivants dans la sortie de free :

    Sortie de free Champ de /proc/meminfo

    total

    free

    shared

    buff/cache

    available

Résumé

Dans cette leçon, vous avez appris à connaître l’emplacement des programmes et de leurs fichiers de configuration dans un système Linux. Les faits importants à retenir sont les suivants :

  • En principe, les programmes se trouvent dans une structure de répertoire à trois niveaux : /, /usr et /usr/local. Chacun de ces niveaux peut contenir des répertoires bin et sbin.

  • Les fichiers de configuration sont stockés dans /etc et ~.

  • Les dotfiles sont des fichiers cachés qui commencent par un point (.).

Nous avons également discuté du noyau Linux. Les faits importants sont les suivants :

  • Pour Linux, tout est un fichier.

  • Le noyau Linux vit dans /boot avec d’autres fichiers liés au démarrage.

  • Pour que les processus commencent à s’exécuter, le noyau doit d’abord être chargé dans une zone de mémoire protégée.

  • La tâche du noyau est d’allouer les ressources du système aux processus.

  • Le système de fichiers virtuel (ou pseudo) /proc stocke les données importantes du noyau et du système de manière volatile.

De même, nous avons exploré les périphériques matériels et appris ce qui suit :

  • Le répertoire /dev stocke des fichiers spéciaux (alias nœuds) pour tous les périphériques matériels connectés : périphériques à blocs ou périphériques à caractères. Les premiers transfèrent les données par blocs ; les seconds, un caractère à la fois.

  • Le répertoire /dev contient également d’autres fichiers spéciaux tels que /dev/zero, /dev/null ou /dev/urandom.

  • Le répertoire /sys stocke des informations sur les dispositifs matériels classés par catégories.

Enfin, nous avons évoqué la mémoire. Nous avons appris :

  • Qu’un programme s’exécute lorsqu’il est chargé en mémoire.

  • Ce qu’est la RAM (Random Access Memory).

  • Ce qu’est le Swap.

  • Comment afficher l’utilisation de la mémoire.

Commandes utilisées dans cette leçon :

cat

Concatène/affiche le contenu du fichier.

free

Affiche la quantité de mémoire libre et utilisée dans le système.

ls

Liste le contenu du répertoire.

which

Affiche l’emplacement d’un programme.

Réponses aux Exercices Guidés

  1. Utilisez la commande which pour connaître l’emplacement des programmes suivants et compléter le tableau :

    Programme Commande which Chemin vers l’exécutable (sortie) L’utilisateur a besoin de privilèges de root ?

    swapon

    which swapon

    /sbin/swapon

    Oui

    kill

    which kill

    /bin/kill

    Non

    cut

    which cut

    /usr/bin/cut

    Non

    usermod

    which usermod

    /usr/sbin/usermod

    Oui

    cron

    which cron

    /usr/sbin/cron

    Oui

    ps

    which ps

    /bin/ps

    Non

  2. Où se trouvent les fichiers suivants ?

    Fichier /etc ~

    .bashrc

    Non

    Oui

    bash.bashrc

    Oui

    Non

    passwd

    Oui

    Non

    .profile

    Non

    Oui

    resolv.conf

    Oui

    Non

    sysctl.conf

    Oui

    Non

  3. Expliquez la signification des éléments numériques du fichier de noyau vmlinuz-4.15.0-50-generic trouvé dans /boot :

    Élément de numéro Signification

    4

    Version du noyau

    15

    Révision majeure

    0

    Révision mineure

    50

    Numéro de correctif

  4. Quelle commande utiliseriez-vous pour lister tous les disques durs et les partitions dans /dev ?

    ls /dev/sd*

Réponses aux Exercices d’Exploration

  1. Les fichiers de périphériques pour les disques durs sont représentés sur la base des contrôleurs qu’ils utilisent comme nous l’avons vu /dev/sd* pour les lecteurs utilisant SCSI (Small Computer System Interface) et SATA (Serial Advanced Technology Attachment), mais

    • Comment les anciens lecteurs IDE (Integrated Drive Electronics) étaient-ils représentés ?

      /dev/hd*

    • Et les lecteurs modernes NVMe (Non-Volatile Memory Express) ?

      /dev/nvme*

  2. Consultez le fichier /proc/meminfo. Comparez le contenu de ce fichier à la sortie de la commande free et identifiez quelle clé de /proc/meminfo correspond aux champs suivants dans la sortie de free :

    Sortie de free Champ de /proc/meminfo

    total

    MemTotal / SwapTotal

    free

    MemFree / SwapFree

    shared

    Shmem

    buff/cache

    Buffers, Cached et SReclaimable

    available

    MemAvailable

Linux Professional Insitute Inc. Tous droits réservés. Visitez le site web du projet _Learning_ : https://learning.lpi.org
Ce travail est sous licence Creative Commons Attribution - Pas d'Utilisation Commerciale - Pas de Modification 4.0 International.

Prochaine leçon

4.3 Localisation des données (4.3 Leçon 2)

Lire la prochaine leçon

Linux Professional Insitute Inc. Tous droits réservés. Visitez le site web du projet _Learning_ : https://learning.lpi.org
Ce travail est sous licence Creative Commons Attribution - Pas d'Utilisation Commerciale - Pas de Modification 4.0 International.

LPI est une organisation à but non lucratif.

© 2023 Le Linux Professional Institute (LPI) est la référence mondiale en matière de certification et un organisme de soutien aux professionnels de l'Open Source. Avec plus de 200 000 certifiés à son actif, c'est le principal organisme de certification indépendant pour Linux et l'Open Source au monde. Le LPI a certifié des professionnels dans plus de 180 pays, organise des examens en plusieurs langues et compte des centaines de partenaires pour la formation.

Notre objectif est la création d'opportunités économiques et créatives pour tous en rendant accessible au monde entier la certification des connaissances et des compétences en matière d'Open Source.

  • LinkedIn
  • flogo-RGB-HEX-Blk-58 Facebook
  • Twitter
  • Contactez-nous
  • Politique en matière de confidentialité et de cookies

Vous avez repéré une erreur ou vous voulez aider à améliorer cette page ? Faites-nous savoir.

© 1999–2023 The Linux Professional Institute Inc. Tous droits réservés.