Gestion des noyaux et démarrage du système sur Oracle Linux

Découvrez les différents noyaux distribués avec Oracle Linux, comment les gérer et comment contrôler les processus de démarrage.

À propos du démarrage du système

La compréhension du processus de démarrage d'Oracle Linux peut vous aider à résoudre les problèmes lors du démarrage d'un système.

Le processus de démarrage implique plusieurs fichiers, et les erreurs dans ces fichiers sont la cause habituelle des problèmes de démarrage. Les processus de démarrage et la configuration diffèrent selon que le matériel utilise le micrologiciel UEFI ou le BIOS existant pour gérer le démarrage du système.

Une installation d'Oracle Linux comprend le chargeur de démarrage GRUB 2, qui est installé dans un emplacement sur le disque dur accessible par le BIOS ou le micrologiciel UEFI. Le chargeur de démarrage GRUB 2 est utilisé pour charger un noyau et les initramfs en mémoire. Une fois le noyau entièrement initialisé, il démarre le processus systemd qui gère le reste du système d'exploitation.

À propos du démarrage basé sur l'UEFI

Sur un système basé sur l'UEFI exécutant la version d'Oracle Linux, le processus de démarrage du système utilise l'ordre suivant :

  1. Lorsque le système est sous tension, le système effectue un auto-test de mise sous tension (POST) pour détecter et vérifier les composants matériels de base du système, tels que le processeur et la mémoire. Le microprogramme UEFI est ensuite initialisé.

  2. Le micrologiciel UEFI détecte tout autre matériel, tel que les composants périphériques, y compris les périphériques réseau et le stockage. Le micrologiciel UEFI contient son propre gestionnaire de démarrage, qui peut interagir directement avec les chargeurs de démarrage sur divers périphériques de stockage. Le gestionnaire de démarrage stocke un ensemble de variables, y compris la priorité des différents périphériques de démarrage et des chargeurs de démarrage détectés.

    L'UEFI recherche une partition GPT formatée FAT32 avec un identificateur unique global (GUID) spécifique qui l'identifie comme partition système EFI (ESP). Cette partition contient des applications EFI telles que des chargeurs de démarrage et d'autres fichiers de configuration.

    Lorsque plus d'un périphérique de démarrage est présent, le gestionnaire de démarrage UEFI utilise l'ESP approprié en fonction de l'ordre défini dans le gestionnaire de démarrage. Avec l'outil efibootmgr, vous pouvez définir un ordre différent, si vous ne voulez pas utiliser la définition par défaut.

  3. Le gestionnaire de démarrage UEFI charge le chargeur de démarrage par défaut. Oracle Linux utilise un processus de démarrage en 2 étapes pour gérer le processus de validation Secure Boot. Le processus en 2 étapes comprend un chargeur de démarrage de première étape appelé chargeur de démarrage shim sur l'ESP, et le chargeur de démarrage de deuxième étape appelé GRUB 2. Si le démarrage sécurisé est désactivé, le chargeur de démarrage shim charge directement le chargeur de démarrage GRUB 2 sur l'ESP, pour poursuivre le processus de démarrage. Les fichiers du chargeur de démarrage sont nommés en fonction de l'architecture du système. Par exemple, le chargeur de démarrage shim est nommé shimx64.efi sur les systèmes x86_64 et shimaa64.efi sur les systèmes aarch64.

    Sinon, si le démarrage sécurisé est activé, le chargeur de démarrage shim est validé par rapport aux clés stockées dans la base de données de clés de démarrage sécurisé UEFI et, à son tour, vérifie la signature du chargeur de démarrage GRUB 2 par rapport aux certificats stockés dans la base de données de clés de démarrage sécurisé UEFI ou la base de données de clés propriétaire de machine (MOK). Si la signature GRUB 2 est valide, le chargeur de démarrage GRUB 2 s'exécute et, à son tour, valide le noyau qu'il est configuré pour charger.

    Voir Oracle Linux : Utilisation du démarrage sécurisé UEFI pour plus d'informations sur le démarrage sécurisé.

  4. Le chargeur de démarrage charge le fichier d'image du noyau vmlinuz et le fichier d'image initramfs en mémoire. Le noyau extrait le contenu de l'image initramfs dans un système de fichiers temporaire basé sur la mémoire (tmpfs). Le fichier initramfs contient les pilotes et utilitaires essentiels nécessaires au démarrage.

  5. Le chargeur d'amorçage transmet le contrôle au noyau et fournit des pointeurs vers initramfs et tout autre paramètre d'amorçage. Le noyau poursuit l'initialisation du système, la détection du matériel, le chargement des pilotes nécessaires et le montage du système de fichiers racine.

  6. Le noyau recherche le processus init dans initramfs et démarre le processus défini avec un ID processus de 1 (PID 1). Sur Oracle Linux, le processus init par défaut est configuré en tant que systemd. Pour plus d'informations, voir Administration de SELinux dans Oracle Linux.

  7. systemd exécute tous les autres processus définis pour elle.

    Note

    Spécifiez les autres actions à traiter lors du processus de démarrage en définissant des unités systemd. Cette méthode est préférable à l'utilisation du fichier /etc/rc.local.

À propos du démarrage basé sur le BIOS

Sur un système basé sur le BIOS exécutant la version d'Oracle Linux, le processus de démarrage est le suivant :

  1. Le BIOS du système effectue un auto-test de mise sous tension (POST), puis détecte et initialise tous les périphériques et le disque dur.

  2. Le BIOS lit le Master Boot Record (MBR) en mémoire à partir du périphérique de démarrage. Le MBR stocke des informations sur l'organisation des partitions sur cet appareil, la table de partition et la signature d'initialisation utilisée pour la détection des erreurs. Le MBR comprend également le pointeur vers le programme de chargement de démarrage (GRUB 2), généralement sur une partition /boot dédiée sur le même périphérique de disque.

  3. Le chargeur de démarrage charge le fichier d'image du noyau vmlinuz et le fichier d'image initramfs en mémoire. Le noyau extrait ensuite le contenu de initramfs dans un système de fichiers temporaire basé sur la mémoire (tmpfs).

  4. Le noyau charge les modules de pilote à partir du système de fichiers initramfs nécessaires pour accéder au système de fichiers racine.

  5. Le noyau recherche le processus init dans initramfs et démarre le processus défini avec un ID processus de 1 (PID 1). Sur Oracle Linux, le processus init par défaut est configuré en tant que systemd. Pour plus d'informations, voir Administration de SELinux dans Oracle Linux.

  6. systemd exécute tous les autres processus définis pour elle.
    Note

    Spécifiez les autres actions à traiter lors du processus de démarrage en définissant des unités systemd. Cette méthode est préférable à l'utilisation du fichier /etc/rc.local.

À propos de GRUB 2 Bootloader

Oracle Linux comprend la version 2 du GRand Unified Bootloader (GRUB 2), qui charge le système d'exploitation sur un système au moment du démarrage.

En plus d'Oracle Linux, GRUB 2 peut charger et charger en chaîne de nombreux systèmes d'exploitation propriétaires. GRUB 2 comprend les formats de nombreux systèmes de fichiers et fichiers exécutables du noyau. GRUB 2 nécessite le chemin complet du noyau et initramfs par rapport au périphérique d'initialisation ou racine. Vous pouvez configurer ces informations à l'aide du menu GRUB 2 ou en les entrant sur la ligne de commande GRUB 2.

La commande grub2-mkconfig génère le fichier de configuration GRUB 2 à l'aide des scripts de modèle dans /etc/grub.d et des paramètres de configuration de menu extraits du fichier de configuration, /etc/default/grub.

Les fichiers GRUB 2 générés sont lus lors du démarrage du système à partir de /boot. Le fichier de configuration principal de GRUB 2 est disponible à l'adresse /boot/grub2/grub.cfg. Sur les systèmes basés sur l'UEFI, un fichier de configuration initial à l'adresse /boot/efi/EFI/redhat/grub.cfg est utilisé pour aider à diriger GRUB 2 vers le périphérique et l'emplacement corrects du fichier de configuration GRUB2 principal. Les paramètres de démarrage de chaque version du noyau sont stockés dans des fichiers de configuration indépendants dans /boot/loader/entries. Selon la version d'Oracle Linux, chaque configuration de noyau est stockée avec le nom du fichier :
  • machine_id-kernel_version.el10.arch.conf
  • machine_id-kernel_version.el9.arch.conf
  • machine_id-kernel_version.el8.arch.conf
Note

Ne modifiez pas directement le fichier de configuration GRUB 2 dans /boot.

L'entrée de menu par défaut est définie par la valeur du paramètre GRUB_DEFAULT dans /etc/default/grub. Si GRUB_DEFAULT est réglé à saved, vous pouvez utiliser les commandes grub2-set-default et grub2-reboot pour spécifier l'entrée par défaut. La commande grub2-set-default définit l'entrée par défaut pour tous les redémarrages, tandis que grub2-reboot définit l'entrée par défaut pour le redémarrage suivant uniquement.

Si vous spécifiez une valeur numérique comme valeur de GRUB_DEFAULT ou comme argument pour grub2-reboot ou grub2-set-default, GRUB 2 compte les entrées de menu dans le fichier de configuration à partir de 0 pour la première entrée.

Pour mettre à jour la configuration du chargeur de démarrage GRUB 2 sur Oracle Linux, utilisez la commande grubby pour contrôler et gérer toutes les exigences de démarrage.

L'outil de ligne de commande grubby vous aide à gérer la configuration GRUB 2 et les paramètres de démarrage du noyau. Il est entièrement scriptable et résume les détails du chargeur de démarrage de bas niveau, de sorte que vous n'avez pas besoin de modifier les fichiers GRUB à la main. Pour plus d'informations, voir Utilisation de grubby pour gérer les noyaux.

Important

Les modifications de ligne de commande du noyau persistant doivent être effectuées avec grubby. La régénération de /boot/grub2/grub.cfg à partir de /etc/default/grub n'appliquera pas ces modifications.

Si vous devez modifier certains paramètres dans la configuration au moment du démarrage, vous pouvez modifier temporairement les paramètres de démarrage du noyau dans le menu de démarrage GRUB 2. Voir Modification des paramètres de démarrage du noyau avant le démarrage.

Pour plus d'informations sur l'utilisation, la configuration et la personnalisation de GRUB 2, voir le Manuel GNU GRUB, qui est également installé en tant que /usr/share/doc/grub2-tools-2.00/grub.html.

À propos des noyaux Linux

Oracle Linux peut être démarré avec différents noyaux personnalisés pour l'interopérabilité ou la performance du système.

Le noyau Linux est le noyau du système d'exploitation et fournit l'interface entre le matériel du système et toutes les applications qui s'exécutent sur le système. Le noyau gère les ressources système, gère la sécurité et permet aux logiciels d'interagir avec le matériel sans avoir besoin d'un accès direct. Le noyau Linux est un projet open source mis à disposition par la Fondation Linux.

La Fondation Linux fournit un hub aux développeurs open source pour coder, gérer et mettre à l'échelle différents projets de technologie ouverte. Il gère également l'organisation du noyau Linux qui existe pour distribuer diverses versions du noyau Linux, qui est au cœur de toutes les distributions Linux, y compris celles utilisées par Oracle Linux.

Vous devez installer et exécuter l'un de ces noyaux Linux avec Oracle Linux :

  • Unbreakable Enterprise Kernel (UEK) : UEK est basé sur une branche de noyau stable de la fondation Linux, avec des ajouts axés sur le client, et plusieurs UEK peuvent exister pour une version spécifique d'Oracle Linux. Son objectif est la performance, la stabilité et un minimum de rétroportages en suivant le code source principal fourni par Linux Kernel Organization, aussi étroitement que possible. UEK est testé et utilisé pour exécuter Oracle Engineered Systems, Oracle Cloud Infrastructure (OCI) et des déploiements d'entreprise pour les clients d'Oracle.

    UEK inclut certains paquets ou versions de paquets qui ne sont pas disponibles dans RHCK. Voici quelques exemples d'ensembles connexes btrfs-tools, rds et rdma, ainsi que des outils de réglage de noyau.

  • Noyau compatible Red Hat (RHCK) : RHCK est entièrement compatible avec le noyau Linux distribué dans une version correspondante de Red Hat Enterprise Linux (RHEL). Vous pouvez utiliser RHCK pour assurer une compatibilité totale avec les applications exécutées sur Red Hat Enterprise Linux.

Les ensembles de noyau sont spécialement conçus pour éviter les dépendances sur un type de noyau particulier. Tout noyau qui n'est pas utilisé peut être supprimé du système sans aucune incidence.

Par exemple, pour supprimer RHCK d'un système exécutant UEK, vous pouvez exécuter :

sudo dnf remove kernel-core

Si un système utilise RHCK, vous pouvez supprimer UEK en exécutant :

sudo dnf remove kernel-uek-core

Voir Vérification des noyaux disponibles sur le système pour voir quels noyaux sont installés sur le système.

Voir Modification du noyau par défaut pour savoir comment modifier le noyau par défaut, par exemple de RHCK à UEK, ou de UEK à RHCK.

Important

Les noyaux Linux sont essentiels pour l'exécution d'applications dans l'espace utilisateur Oracle Linux. Par conséquent, vous devez tenir le noyau à jour avec les dernières corrections de bogues, améliorations et mises à jour de sécurité fournies par Oracle. Pour ce faire, mettez en œuvre une stratégie de mise à jour et de mise à niveau continue. Voir Oracle Linux : Guide de l'utilisateur Ksplice pour plus d'informations sur la mise à jour du noyau sans qu'il soit nécessaire de redémarrer le système. Voir Oracle Linux : Gestion des logiciels sur Oracle Linux pour des informations générales sur la mise à jour des logiciels sur le système.

Pour plus d'informations sur les noyaux disponibles, voir :

À propos des modules de noyau

Le chargeur de démarrage charge le noyau en mémoire. Vous pouvez ajouter un nouveau code au noyau en incluant les fichiers sources dans l'arborescence des sources du noyau et en recompilant le noyau. Les modules de noyau fournissent des pilotes de périphérique qui permettent au noyau d'accéder à un nouveau matériel, de prendre en charge différents types de système de fichiers et d'étendre ses fonctionnalités d'autres manières. Les modules peuvent être chargés et déchargés dynamiquement sur demande. Pour éviter de gaspiller de la mémoire sur les pilotes de périphérique inutilisés, Oracle Linux prend en charge les modules de noyau chargeables (LKM), qui permettent à un système de s'exécuter uniquement avec les pilotes de périphérique et le code de noyau qui doivent être chargés en mémoire. Voir Gestion des modules de noyau pour plus d'informations sur la gestion des modules de noyau sur Oracle Linux.

Note

À partir de UEK R7, les modifications de l'emballage du noyau sont appliquées pour fournir un noyau plus rationalisé. Les modules de noyau requis pour la plupart des configurations de serveur sont fournis dans l'ensemble kernel-uek-modules, tandis que les modules de noyau facultatifs pour le matériel moins souvent trouvés dans les configurations de serveur, telles que Bluetooth, Wi-Fi et cartes de capture vidéo, sont disponibles dans l'ensemble kernel-uek-modules-extra. Notez que ces deux ensembles nécessitent l'installation de l'ensemble linux-firmware.

Vous pouvez afficher le contenu de ces packages en exécutant :

dnf repoquery -l kernel-uek-modules
dnf repoquery -l kernel-uek-modules-extra

Pour installer tous les modules de noyau disponibles, exécutez :

sudo dnf install -y kernel-uek-modules kernel-uek-modules-extra linux-firmware

Voir UEK R7 (5.15.0).

Note

À partir de UEK 8, des modifications de l'emballage du noyau sont appliquées pour fournir un noyau plus rationalisé. Le nombre minimal de modules noyau et de fichiers de prise en charge, tels que les fichiers générés par depmod, sont fournis dans l'ensemble kernel-uek-modules-core. Les modules de noyau requis pour la plupart des configurations de serveur sont fournis dans l'ensemble kernel-uek-modules, tandis que les modules de noyau facultatifs pour le matériel moins souvent trouvés dans les configurations de serveur, telles que Bluetooth, Wi-Fi et cartes de capture vidéo, sont disponibles dans l'ensemble kernel-uek-modules-extra. Notez que ces deux ensembles nécessitent l'installation de l'ensemble linux-firmware.

Vous pouvez afficher le contenu de ces packages en exécutant :

dnf repoquery -l kernel-uek-modules-core
dnf repoquery -l kernel-uek-modules
dnf repoquery -l kernel-uek-modules-extra

Pour installer tous les modules de noyau disponibles, exécutez :

sudo dnf install -y kernel-uek-modules-core kernel-uek-modules kernel-uek-modules-extra linux-firmware

Voir UEK 8 (6.12.0).

Les modules de noyau peuvent être signés pour protéger le système contre l'exécution de code malveillant au démarrage. Lorsque UEFI Secure Boot est activé, seuls les modules du noyau contenant les informations de signature correctes peuvent être chargés. Pour plus d'informations, voir Oracle Linux : Utilisation du démarrage sécurisé UEFI.

À propos des modules de mise à jour faibles

Les modules externes, tels que les pilotes installés à l'aide d'un disque de mise à jour de pilote ou installés à partir d'un ensemble indépendant, sont généralement installés dans le répertoire /lib/modules/kernel-version/extra. Les modules stockés dans ce répertoire sont préférés aux modules correspondants inclus dans le noyau lors du chargement de ces modules. Les pilotes et modules externes installés peuvent remplacer les modules de noyau existants pour résoudre les problèmes matériels. Pour chaque mise à jour du noyau, ces modules externes doivent être mis à la disposition de chaque noyau compatible afin d'éviter les problèmes de démarrage potentiels résultant d'incompatibilités de pilote avec le matériel affecté.

Étant donné que la nécessité de charger le module externe avec chaque mise à jour du noyau compatible est critique pour le système, un mécanisme existe pour charger les modules externes en tant que modules de mise à jour faible pour les noyaux compatibles.

Vous rendez les modules de mise à jour faibles disponibles en créant des liens symboliques vers des modules compatibles dans le répertoire /lib/modules/kernel-version/weak-updates. Le gestionnaire d'ensembles gère ce processus automatiquement lorsqu'il détecte les modules de pilote installés dans les répertoires /lib/modules/kernel-version/extra pour tous les noyaux compatibles.

Par exemple, si un noyau plus récent est compatible avec un module qui a été installé pour le noyau précédent, un module externe (tel que kmod-kvdo) est automatiquement ajouté en tant que lien symbolique dans le répertoire weak-updates dans le cadre du processus d'installation, comme indiqué dans la sortie de commande suivante :

ls -l /lib/modules/6.12.0-100.28.2.el10.x86_64/weak-updates/kmod-kvdo/uds
lrwxrwxrwx. 1 root root 68 Jul  8 07:57 uds.ko -> 
/lib/modules/6.12.0-100.28.2.el10.x86_64/extra/kmod-kvdo/uds/uds.ko
ls -l /lib/modules/6.12.0-100.28.2.el10.x86_64/weak-updates/kmod-kvdo/vdo

Le lien symbolique permet au module externe de charger les mises à jour du noyau.

Les mises à jour faibles sont bénéfiques et garantissent qu'aucun travail supplémentaire n'est nécessaire pour transporter un module externe via les mises à jour du noyau. Tous les problèmes de démarrage potentiels liés au pilote après les mises à niveau du noyau sont évités, de sorte que cette approche offre un fonctionnement plus prévisible d'un système et de son matériel.

Vous pouvez supprimer les modules de mise à jour faibles si une version du noyau fournit une version supérieure ou préférée du pilote ou du module. Pour plus d'informations, voir Suppression des modules de mise à jour faible.

Pour plus d'informations sur les modules de pilote externes et les disques de mise à jour des pilotes, consultez les documents suivants :

À propos des systèmes de fichiers virtuels et de la configuration du système

Une fois le processus de démarrage terminé, les systèmes de fichiers virtuels fournissent une interface au noyau en cours d'exécution ainsi qu'aux processus et au matériel disponibles sur le système. Deux systèmes de fichiers virtuels sont disponibles :
  • procfs : est monté sur /proc et fournit une interface aux structures de données du noyau, principalement liées aux processus et au matériel.
  • sysfs : est monté sur /sys et fournit des informations sur les appareils, les modules de noyau, les systèmes de fichiers et les autres composants de noyau.

Ces systèmes de fichiers virtuels sont utilisés pour contrôler et générer des rapports sur le noyau en cours d'exécution, de sorte que la configuration du système peut être surveillée et ajustée pendant la mise en service du système d'exploitation.

Bien qu'il ne fasse pas partie de la collection du système de fichiers virtuel du noyau, le chemin d'accès au fichier de configuration du système /etc/sysconfig est également important car il fournit une interface à de nombreuses variables de configuration du système de base qui sont lues lors du démarrage du système.

Voir aussi Explorer les fichiers de configuration du système et les réglages du noyau sur Oracle Linux pour un tutoriel pratique sur la configuration des paramètres de système.

À propos des fichiers /etc/sysconfig

Le répertoire /etc/sysconfig contient des fichiers qui contrôlent la configuration du système après le démarrage. Le contenu de ce répertoire dépend des packages que vous avez installés sur le système. Le répertoire /etc/sysconfig fournit en grande partie une vue unique de nombreux fichiers de configuration utilisés par systemd et les composants connexes qui contrôlent la configuration du système, tels que Network Manager.

Dans les versions plus récentes d'Oracle Linux, le nombre de fichiers de configuration dans ce répertoire diminue, car la configuration est mieux gérée par systemd et d'autres unités de configuration. Pour plus d'informations sur systemd, voir Gestion du système avec systemd.

Certains fichiers que vous pouvez trouver dans le répertoire /etc/sysconfig sont les suivants :

atd

Spécifie les arguments de ligne de commande pour le démon atd.

autofs

Définit des options personnalisées pour le montage automatique des périphériques et le contrôle du fonctionnement du compteur automatique. Non disponible dans Oracle Linux 9 ou une version ultérieure.

crond

Transmet les arguments au démon crond au démarrage.

chronyd

Transmet les arguments au démon chronyd utilisé pour les services NTP au démarrage.

firewalld

Transmet les arguments au démon de pare-feu (firewalld) au démarrage.

grub

Spécifie les paramètres par défaut pour le chargeur de démarrage GRUB 2. Ce fichier est un lien symbolique vers /etc/default/grub. Pour plus d'informations, voir À propos du chargeur de démarrage GRUB 2. Non disponible dans Oracle Linux 9 ou une version ultérieure.

named

Transmet les arguments au démon du service de noms au moment du démarrage. Le démon named est un serveur de système de noms de domaine (DNS) qui fait partie de la distribution Berkeley Internet Name Domain (BIND). Ce serveur tient à jour une table qui associe des noms d'hôte à des adresses IP sur le réseau.

samba

Transmet les arguments aux démons smbd, nmbd et winbindd au démarrage pour prendre en charge la connectivité de partage de fichiers pour les clients Windows, le service de noms NetBIOS-over-IP et la gestion des connexions aux contrôleurs de domaine.

selinux

Contrôle l'état de SELinux sur le système. Ce fichier est un lien symbolique vers /etc/selinux/config.

Pour plus d'informations, voir Administration de SELinux dans Oracle Linux.

snapper

Définit une liste des systèmes de fichiers btrfs et des volumes LVM provisionnés finement dont le contenu peut être enregistré en tant qu'instantanés par l'utilitaire snapper.

Pour plus d'informations, voir les documents suivants :

sysstat

Configure les paramètres de journalisation pour les utilitaires de collecte de données d'activité du système tels que sar.

Sur Oracle Linux 8, plus d'informations sont disponibles dans /usr/share/doc/initscripts*/sysconfig.txt. Ce contenu n'est pas disponible dans les versions plus récentes d'Oracle Linux.

À propos du système de fichiers virtuel /proc

Les fichiers de la hiérarchie de répertoires /proc contiennent des informations sur le matériel système et les processus qui s'exécutent sur le système. Vous pouvez modifier la configuration du noyau en écrivant dans certains fichiers disposant d'une autorisation d'écriture.

Les fichiers qui se trouvent sous le répertoire /proc sont des fichiers virtuels que le noyau crée sur demande pour présenter une vue des structures de données sous-jacentes et des informations système. Par conséquent, /proc est un exemple de système de fichiers virtuel. La plupart des fichiers virtuels ont une taille de 0 octet, mais ils contiennent une grande quantité d'informations lorsqu'ils sont consultés.

Les fichiers virtuels tels que /proc/interrupts, /proc/meminfo, /proc/mounts et /proc/partitions fournissent une vue du matériel du système. D'autres fichiers, tels que /proc/filesystems et les fichiers sous /proc/sys, fournissent des informations sur la configuration du système et permettent de modifier les configurations au besoin.

Les fichiers contenant des informations sur des sujets connexes sont regroupés dans des répertoires virtuels. Un répertoire distinct existe dans le répertoire /proc pour chaque processus exécuté sur le système. Le nom du répertoire correspond au code de traitement numérique. Par exemple, /proc/1 correspond au processus systemd qui a un PID de 1.

Pour examiner des fichiers virtuels, vous pouvez utiliser des commandes telles que cat, less et view, comme illustré dans l'exemple suivant :

cat /proc/cpuinfo
processor         : 0
vendor_id         : GenuineIntel
cpu family        : 6
model             : 42
model name        : Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz
stepping          : 7
cpu MHz           : 2393.714
cache size        : 6144 KB
physical id       : 0
siblings          : 2
core id           : 0
cpu cores         : 2
apicid            : 0
initial apicid    : 0
fpu               : yes
fpu_exception     : yes
cpuid level       : 5
wp                : yes
...

Pour les fichiers qui contiennent du contenu non lisible par l'homme, vous pouvez utiliser des utilitaires tels que lspci, gratuit, haut et sysctl pour accéder aux informations. Par exemple, la commande lspci liste les appareils PCI d'un système :

sudo lspci
00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
00:01.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)
00:02.0 VGA compatible controller: InnoTek Systemberatung GmbH VirtualBox Graphics Adapter
00:03.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 02)
00:04.0 System peripheral: InnoTek Systemberatung GmbH VirtualBox Guest Service
00:05.0 Multimedia audio controller: Intel Corporation 82801AA AC'97 Audio Controller (rev 01)
00:06.0 USB controller: Apple Inc. KeyLargo/Intrepid USB
00:07.0 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 08)
00:0b.0 USB controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller
00:0d.0 SATA controller: Intel Corporation 82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode]
        (rev 02)
...

Voir Informations de référence sur le répertoire procfs pour plus d'informations sur les différents répertoires disponibles sous /proc. Voir Gestion des paramètres de noyau à l'exécution pour plus d'informations sur la façon de voir et de modifier les paramètres de noyau dans /proc/sys afin de contrôler le comportement d'exécution du système.

À propos du système de fichiers virtuel /sys

En plus du système de fichiers /proc, le noyau exporte les informations vers le système de fichiers virtuel /sys (sysfs). Des programmes tels que le gestionnaire de périphériques dynamique (udev) utilisent /sys pour accéder aux informations sur les pilotes de périphériques et de périphériques. Voir Gestion des appareils système à l'aide du gestionnaire d'appareils udev pour plus d'informations sur la gestion des appareils.

Note

/sys expose les structures de données et les points de contrôle du noyau, ce qui implique que le répertoire contient des références circulaires, où un répertoire est lié à un répertoire ancêtre. Ainsi, une commande find utilisée sur /sys peut ne jamais s'arrêter.

Voir Informations de référence sur le répertoire sysfs pour plus d'informations sur les répertoires disponibles dans /sys.