Vous voulez passer à la vitesse supérieure avec Linux ? Explication de la terminologie avancée

Le système Linux actuel est extrêmement convivial, mais pour exploiter tout son potentiel, il est nécessaire de se familiariser avec certains aspects avancés. Examinons sept thèmes clés qui vous permettront de passer du statut d'utilisateur occasionnel de Linux à celui d'utilisateur chevronné.

1. Shell, Bash et scripts

Un shell est défini comme un interpréteur de ligne de commande. C'est le programme qui reçoit les commandes que vous tapez dans un terminal/console, les convertit en instructions que le noyau peut traiter, puis renvoie la sortie vers le terminal/console.

La plupart des systèmes Linux utilisent Bash (Bourne Again SHell) comme shell par défaut, car il est polyvalent et suffisant pour une utilisation occasionnelle. Il existe cependant d'autres shells, comme Zsh, Ksh, fish et Tcsh. Pour vérifier quel shell vous utilisez, tapez « echo $SHELL » dans le terminal.

Un script shell est un fichier contenant une série de commandes. Ces commandes sont exécutées en séquence lorsque vous exécutez le script à partir du terminal. Il peut s'agir d'un puissant outil d'automatisation sous Linux, qui vous permet de regrouper des tâches complexes en une seule commande. 

2. X11, Wayland et XWayland

X11 est le protocole de fenêtrage par défaut de Linux et des systèmes d'exploitation de type Unix depuis son introduction au milieu des années 80. Il utilise un modèle client-serveur. Les fenêtres d'application avec lesquelles vous interagissez sont appelées « clients ». Le « serveur », alias le serveur X, traite les informations provenant de ces clients, par exemple les mouvements de la fenêtre, et indique ensuite comment le client doit réagir. X11 est le protocole du système de fenêtrage qui transmet les données d'entrée des clients au serveur X et les données de sortie aux clients.

Wayland est un protocole de serveur d'affichage plus moderne (développé en 2008 par Red Hat). Il simplifie l'architecture client-serveur et améliore la sécurité et les performances. Il permet à la fenêtre de l'application de communiquer directement avec le compositeur (plus d'informations à ce sujet par la suite), réduisant ainsi les surcharges et les temps de latence. L'architecture simplifiée est également en mesure d'améliorer la sécurité.

À l'heure où nous écrivons ces lignes, la plupart des distributions populaires ont migré vers Wayland. Cependant, certaines applications optimisées pour X11 ne sont pas encore compatibles avec Wayland. Pour résoudre ce problème, il existe XWayland, une couche de compatibilité qui permet aux applications X11 de fonctionner dans un environnement Wayland.

Pour vérifier si votre système utilise Wayland ou X11, entrez la commande suivante dans votre terminal :

echo $XDG_SESSION_TYPE

3. Gestionnaires de fenêtres et compositeurs

Vous est-il déjà arrivé de déplacer une fenêtre d'application sous Linux, pour constater que les bords de la fenêtre se déplaçaient alors que l'intérieur restait vide et mettait quelques secondes à s'afficher ? Cela se produit lorsque les bords de la fenêtre se comportent comme prévu, mais que les images à l'intérieur de la fenêtre prennent trop de temps à être affichées.

Vous voyez, les bords de la fenêtre et les images à l'intérieur de la fenêtre peuvent être contrôlés par deux systèmes distincts, en particulier dans les systèmes X11. Pour contrôler l'emplacement et l'apparence des fenêtres sur votre écran, vous disposez d'un gestionnaire de fenêtres. Ils vous permettent de déplacer, redimensionner, minimiser et maximiser les fenêtres, ainsi que d'afficher les bordures et les barres de titre des fenêtres.

D'autre part, nous avons les compositeurs. Ils sont responsables du rendu du contenu de chaque fenêtre. Un compositeur combine l'image finale rendue par l'application avec des effets graphiques tels que la transparence, les ombres et les animations pour créer une image unique qui est affichée à l'intérieur des fenêtres.

Dans les environnements X11 traditionnels, le gestionnaire de fenêtres et le compositeur sont généralement des composants distincts. Cette approche modulaire offre de la flexibilité, mais peut également entraîner une plus grande complexité et une instabilité potentielle du système, comme dans l'exemple que j'ai décrit plus haut.

Pour résoudre ce problème, Wayland a combiné le gestionnaire de fenêtres et le compositeur en un seul composant, le compositeur Wayland. Cela simplifie l'architecture, ce qui permet d'améliorer les performances et la sécurité. Voici quelques exemples de compositeurs Wayland que l'on peut voir dans les distributions habituelles utilisant Wayland :

  • Sway : Un gestionnaire de fenêtres en mosaïque conçu pour remplacer le gestionnaire de fenêtres i3 basé sur X11, mais pour Wayland.
  • Mutter (initialement conçu pour X11) : Le gestionnaire de fenêtres par défaut de GNOME.
  • KWin (initialement conçu pour X11) : Le gestionnaire de fenêtres par défaut de KDE Plasma. 

4. Noyaux Linux sur mesure

On parle souvent de Linux comme d'un système d'exploitation, mais il s'agit en fait du nom du noyau qui fait fonctionner le système d'exploitation. Un noyau est en fait le cœur du système d'exploitation qui fait le lien entre le matériel et le logiciel. Le noyau Linux officiel est maintenu par Linux Torvalds et la communauté Linux. Toutefois, dans le plus pur esprit Linux, des personnes ont modifié le noyau officiel afin d'optimiser les performances, d'améliorer la prise en charge du matériel ou d'ajouter des fonctionnalités.

Vous pouvez donc remplacer le noyau Linux officiel de votre système par l'un de ces noyaux personnalisés afin d'obtenir de meilleures performances. La plupart des distributions exigent que vous compiliez manuellement le noyau personnalisé et que vous l'installiez sur votre distribution. Cependant, certaines distributions avancées comme Manjaro et Garuda vous offrent une application GUI pour remplacer le noyau par défaut par un noyau personnalisé. 

Voici quelques-uns des noyaux Linux personnalisés les plus populaires :

  • Zen Kernel : Il apporte des améliorations au planificateur et des optimisations de la gestion de la mémoire afin d'améliorer les performances des jeux et des applications multimédias. Conçu pour une utilisation générale, il offre une expérience stable et fiable.
  • Noyau Liquorix : Incorpore un planificateur personnalisé (MuQSS) et des optimisations donnant la priorité à une faible latence et à la réactivité. Il est idéal pour les joueurs et les utilisateurs intensifs d'ordinateurs de bureau cherchant à maximiser les performances, bien qu'il puisse être un peu instable en fonction du matériel.
  • Noyau XanMod : Inclut des correctifs pour une planification plus rapide des tâches et une réduction de la latence d'entrée/sortie afin d'améliorer les performances globales du système. Il s'agit d'une option relativement stable pour les utilisateurs qui privilégient les performances brutes pour les charges de travail générales.
  • Noyau Clear Linux : Développé par Intel, ce noyau inclut divers correctifs et configurations pour améliorer les performances du processeur Intel et de la mémoire, ce qui en fait un bon choix pour les utilisateurs de processeurs Intel.

Déterminer quel noyau Linux personnalisé fonctionne le mieux avec votre configuration matérielle spécifique peut être une démarche à tâtons. Il est utile d'essayer différentes options et de voir comment votre système se comporte, en s'en tenant à celui qui donne les meilleurs résultats.

Attention : les noyaux sur mesure peuvent ne pas recevoir de mises à jour aussi fréquemment que le noyau principal, ce qui peut avoir un impact sur la sécurité et la compatibilité au fil du temps. 


 5. Systemd et SysV Init

Lorsque vous démarrez votre système Linux, le tout premier processus à démarrer est le système init, dont l'ID de processus (PID) est #1. La plupart des distributions Linux modernes utilisent principalement l'un de ces deux systèmes d'initialisation : SystemD ou SysV Init. Vous pouvez vérifier quel système d'initialisation est utilisé par votre distribution en exécutant la commande suivante dans votre terminal :
*
ps -p 1

Si la sortie indique « systemd », vous utilisez SystemD. En revanche, si elle affiche « init », vous utilisez SysV Init.

SystemD est le système d'initialisation le plus récent et le plus courant, utilisé par toutes les distributions populaires, y compris Ubuntu, Fedora et Arch Linux. Il est conçu pour être plus rapide et plus efficace. Mon système actuel, qui tourne sous Garuda Linux, utilise également SystemD. Cependant, il présente quelques problèmes techniques qui divisent la communauté Linux.

En conséquence, quelques distros Linux évitent SystemD et utilisent un système d'initialisation plus ancien, SysV Init. D'autres systèmes d'initialisation populaires utilisent runit, OpenRC et Upstart. Chacun d'entre eux a sa propre approche de la gestion des services et de l'initialisation du système.

Savoir quel système init vous utilisez est crucial si vous voulez démarrer (ou arrêter) un service particulier pendant le démarrage du système. Par exemple, j'ai rencontré un problème où UFW (Uncomplicated Firewall) se désactivait automatiquement après le redémarrage. Pour résoudre ce problème, je devais utiliser le système init pour démarrer automatiquement UFW au démarrage du système. Comme j'utilisais SystemD, j'ai utilisé la commande systemctl. Mais si j'avais utilisé SysV, j'aurais eu besoin de la commande service.

6. Types de systèmes de fichiers

À mesure que vous vous familiariserez avec Linux, vous constaterez qu'il prend en charge une grande variété de systèmes de fichiers, contrairement à Windows, qui utilise principalement NTFS pour son système de fichiers principal et FAT ou exFAT pour le stockage externe. La plupart des systèmes Linux utilisent ext4 par défaut, mais il existe d'autres options répandues.

  • Ext4 : un choix fiable pour la plupart des cas d'utilisation.
  • ZFS : Développé par Sun Microsystems, ZFS offre un contrôle de l'intégrité des données, un RAID intégré et une fonction d'instantané. Il est disponible pour Ubuntu en tant que fonctionnalité opt-in et peut être installé sur d'autres distributions.
  • XFS : Le système de fichiers par défaut dans les distributions Red Hat Enterprise Linux comme Fedora, connu pour son évolutivité et sa résistance à la fragmentation.
  • Btrfs : Se concentre sur l'intégrité des données, la tolérance aux pannes et la facilité d'administration grâce à des fonctionnalités telles que les instantanés et le RAID intégré. C'est le système de fichiers par défaut de Garuda Linux.

Linux utilise également des systèmes de fichiers secondaires à des fins spécifiques, comme tmpfs pour les fichiers temporaires en mémoire et vfat pour les partitions de démarrage ou la compatibilité avec Windows.

Pour vérifier les systèmes de fichiers utilisés par votre distribution Linux, tapez df -T dans un terminal et appuyez sur Entrée. 

Si vous souhaitez changer de système de fichiers sur un système Linux existant, vous devez sauvegarder vos données, puis formater la ou les partitions avec le type de système de fichiers souhaité.

7. SELinux et AppArmor

Linux est réputé pour sa sécurité, mais il n'est pas invulnérable. Si vous avez des fichiers et des données importants sur votre PC Linux, vous devez jouer un rôle actif en veillant à ce qu'il soit configuré de manière à être aussi sûr et sécurisé que possible. Pour ce faire, vous devez vous familiariser avec SELinux et AppArmor. Ces deux modules de sécurité du noyau Linux ajoutent une couche supplémentaire de sécurité en limitant ce que les applications peuvent faire, réduisant ainsi le risque d'exploitation des failles de sécurité.

Vous disposez de SELinux par défaut dans Fedora et Red Hat Enterprise Linux (RHEL). Toutefois, vous pouvez également l'installer et le configurer pour qu'il fonctionne sur une autre distribution. Ce modèle de sécurité du noyau a été développé par la NSA et offre un contrôle fin de l'accès des applications aux ressources à l'aide de contrôles d'accès obligatoires (mandatory access controls -MAC). Il est complexe mais offre une sécurité complète, ce qui le rend adapté aux environnements hautement sécurisés.

Ensuite, nous avons AppArmor. Il propose une approche plus simple de la sécurité, basée sur les chemins d'accès, ce qui facilite sa configuration tout en assurant une protection efficace. AppArmor est la version par défaut d'Ubuntu et de SUSE Linux Enterprise Server (SLES). Cela dit, si vous utilisez une autre distribution, AppArmor est disponible dans tous les principaux dépôts Linux et vous pouvez facilement l'installer sur n'importe quelle distribution Linux.

Pour utiliser efficacement ces modules de sécurité, vous devez mettre en place des politiques de sécurité qui définissent les actions autorisées pour les applications. Cette comparaison entre AppArmor et SELinux devrait vous aider à choisir celui qui convient le mieux à vos besoins et à vos exigences. 

Conclusion :

La compréhension de ces concepts avancés de Linux est cruciale pour toute personne souhaitant passer du statut d'utilisateur occasionnel à celui d'utilisateur chevronné. En explorant les subtilités des shells, des systèmes de fenêtres, des noyaux personnalisés, de l'initialisation du système, des systèmes de fichiers et des modules de sécurité, vous apprécierez davantage la flexibilité et la puissance de Linux.

traduction de :

https://www.howtogeek.com/advanced-linux-terms-explained/

0 Commentaires

Les commentaires sont validés manuellement avant publication. Il est normal que ceux-ci n'apparaissent pas immédiatement.

Enregistrer un commentaire

Les commentaires sont validés manuellement avant publication. Il est normal que ceux-ci n'apparaissent pas immédiatement.

Post a Comment (0)

Plus récente Plus ancienne