wiki:systemes_d_exploitation:gnu_linux:debian

La distribution Debian GNU/Linux

Debian GNU/Linux est une distribution GNU/Linux(système d'exploitation) communautaire, librement téléchargeable ici, qui a été créée par Ian Murdock en août 1993 et la Fondation Debian qui a impacte énorme dans le domaine informatique, qui a été créée le 16 août 1993, le site officiel se trouve à cette adresse. C'est l'une des distributions Linux les plus anciennes encore en activité.

Debian GNU/Linux est composé de trois branches(versions) distinctes, Debian Stable(pour la production), Debian Testing(version de test pour la future stable) et Debian Unstable(version instable mais pas plus instable que la plupart des distributions courantes Linux). La version stable de Debian est la branche recommandée pour les nouveaux utilisateurs pour sa facilitée d'utilisation et pour sa très grande stabilité idéale pour les serveurs en production ou pour avoir un poste de travail de qualité professionnel, d'ailleurs Debian GNU/Linux est certainement l'une des distributions Linux les plus stables.

N'allez pas croire que Debian ne se limite qu'aux professionnels, c'est un OS Universel et c'est d'ailleurs le slogan de la distribution. Il est tout à fait possible d'utiliser se système d'exploitation pour le multimédia, le gaming, le streaming et bien plus encore, c'est d'ailleurs la distrib qui a le plus grand nombre de Logiciels dans son référentiel. Le seul problème de la version stable de Debian est que ses logiciels sont vieillissants, y compris au moment de la sortie de la version stable mais celà n'est plus réellement un problème avec les paquets alternatifs tels que Flatpak, Snap ou les AppImage qui permettent d'installer des logiciels dans leurs versions les plus récentes à part en ce qui concerne le coeur du système, le noyau Linux, qui fait que Debian n'est pas forcément le must pour le matériel relativement récent sauf si vous décidez de migrer vers Debian Testing ou Debian Unstable.

La distribution Debian GNU/Linux doit sa popularité en partie à son gestionnaire de paquets du nom de APT (Advanced Packaging Tool) qui gère automatiquement les dépendances logiciels et qui se base sur l'utilitaire Unix qui s'appelle dpkg, qui lui gère l'installation de bas niveau des paquets logiciels (en anglais, software packages) au format .deb mais qui n'est pas prévu pour gérér les dépendances (paquets necessaires pour installer le logiciel). Il existe un grand nombre de logiciels graphiques (logithèque), pour installer des logiciels, tel que GNOME Logiciels pour GNOME, l'environnement de bureau du projet GNU ou Plasma Discover pour le bureau KDE Plasma. Debian dispose du plus grand nombre de paquets logiciels dans son référentiel (ses dépôts).

Debian GNU/Linux est ce qu'on appelle une distribution Linux mère ou une méta-distribution, c'est à dire qu'elle est la base de très nombreuses distributions Linux, parmi les plus notables et populaires ont peut citer Ubuntu, Linux Mint, MX Linux, Kali Linux et bien d'autres encore. Debian GNU/Linux est une distributions GNU/Linux à tout faire, aucuns domaines de l'informatique ne lui résiste. C'est également la distribution choisie par de nombreuses organisations ou entreprises pour des usages comme, un media center (Box TV, comme les Box Android TV mais en plus complet et finement configurable), Kali Linux pour le Hacking, Tails pour préserver votre anonymat et votre vie privée et contrer la censure des FAI(Fournisseurs d'Accès à Internet), pour les personnes en situation de handicap, pour l'astronomie, pour tout ce qui concerne la science et l'éducation, le gaming, le multimedia, pour les enfants, la médecine, pour les serveurs informatiques, openmediavault pour un serveur NAS, le domaine des radioamateurs et encore bien plus de possibilité, en partie grâce à l'énorme référentiel logiciel de Debian.

La dernière version de Debian GNU/Linux est Debian GNU/Linux 12 de son nom de code, Bookworm, elle a été publiée le 10 juin 2023 pour la version 12.0 et la dernière est Debian GNU/Linux 12.8, publiée le 9 novembre 2024. Par défaut, le projet Debian maintient la distribution stable pour une durée de 3 ans mais vu que chaque distribution stable sont des versions LTS (Long Term Support), elles ont en réalité une durée de vie de 5 ans. À noter que le support à long terme de Debian n'est pas géré par Debian elle même mais par des bénévoles et entreprises. D'ailleurs, il faut préciser qu'après la durée de 3 ans il faudra prendre soin de modifier les dépôts de paquets logiciels dans le fichier /etc/apt/sources.list en ajoutant les dépôts spécifiques à LTS pour bénéficier des 5 ans de support. Dans les versions maintenues, il faut ajouter les anciennes stable (oldstable), qui peuvent continuer d'être utilisées 3 ans après la publication de la dernière version stable, grâce au support à long terme (LTS). Debian GNU/Linux Oldstable version 11.11 se nomme Bullseye et a été publiée le 31 août 2024.

Le nom Debian vient de la contraction des trois premières lettres du prénom de l'ex femme du fondateur de Debian, Ian Murdock qui s'appelait Debra et de Ian, le prénom de Ian Murdock. Vous avez du vous rendre compte qu'il est écrit Debian GNU/Linux (sa distribution principale) au lieu de juste Debian, la raison est simple, Debian étant un projet et organisation très diversifié, il n' utilise pas uniquement le noyau Linux, en autres sont ou ont été utilisés, noyau FreeBSD, NetBSD, Hurd. Les différentes distributions sont : Debian GNU/kFreeBSD pour FreeBSD, Debian GNU/NetBSD pour NetBSD et Debian GNU/Hurd pour Hurd (noyau officiel du projet GNU). Le projet Debian (Fondation Debian) est extrèment vaste et ne concerne pas seulement la distribution Debian GNU/Linux, le projet Debian est un véritable vivier pour la communauté open source. Énormément de projet open source prennent comme source des éléments de Debian !
Debian GNU/Linux est également la distribution la plus utilisée sur les nano-ordinateurs tel que le Raspberry Pi et son système d'exploitation officiel créée par la Fondation Raspberry Pi nommé Raspberry Pi OS (anciennement Raspbian). Avant Debian GNU/Linux 12, il était nécessaire de téléchager des images .iso de Debian non-officiels pour bénéficier des firmwares non-libres, ce n'est plus le cas aujourd'hui, Debian GNU/Linux 12 alias Debian GNU/Linux Bookworm, intègre les firmwares non-libres dans ses images .iso par défaut.

Les liens Internet officiels de Debian :

Les sites Internet sur Debian non officiels :

  • Le site Debian Facile, une référence française sur Debian :
    • Son Wiki qui est excellent..
    • Son Forum, c'est l'endroit idéal si vous avez des questions ou problèmes sur Debian. Vous pouvez également joindre des membres de Debian Facile sur IRC (Internet Relay Chat), un vieux protocole de communication mais qui est loin d'être mort à cette endroit.
    • L'Association Debian Facile, à laquelle je vous conseille d'adhérer si vous êtes utilisateurs de Debian, pour se faire, c'est ici et le lien du formulaire.
    • Pour les grands débutants de Debian il y a se livre.
Le livre de référence sur Debian, se trouve ici, qui à l'origine était payant (d'ailleurs l' auteur l'a en livre broché dans sa collection), se livre est indispensable pour tout administrateur système sous Debian. Il est désormais disponible en paquet logiciel dans le référentiel officiel de Debian sous le nom de debian-handbook.

Les trois branches principales de Debian GNU/Linux sont :

  • stable : est la branche recommandée par la communauté Debian, elle est d'une stabilité et fiabilité à toutes épreuves. J'irais même jusqu'à dire que Debian GNU/Linux Stable est la distribution Linux la plus stable, toutes distributions confondues, tant qu'il reste des bugs à corriger, les développeurs de Debian ne la publie pas. Tous les paquets logiciels qui sont inclus sont rigoureusement testés. Par défaut, cette branche ne reçoit essentiellement que des mises à jour de sécurité (correctifs de sécurité). C'est la version de Debian à privilégier pour la production et pour ceux qui n'ont peu de connaissance en GNU/Linux ou Unix. Cette banche est idéale pour les serveurs informatiques.
  • testing : est la branche de test pour la future stable, d'ailleurs elle porte le nom de la prochaine version stable de Debian. La distribution Debian GNU/Linux Testing est une version en continue (c'est à dire ques les logiciels montent en version au fur et à mesure de la vie de la distribution), c'est une semi-rolling release, elle reçoit les paquets provenant de la branche unstable lorsque ceux-ci sont relativement stables pour intégrer Debian GNU/Linux Testing, les paquets qui y sont inclus sont relativement récents. Debian GNU/Linux Testing est un bon compromis pour les utilisateurs qui souhaitent avoir une distribution GNU/Linux ayant une relative stabilité et comprenant des paquets beaucoup plus récents que Debian GNU/Linux Stable. Et globalement, Debian GNU/Linux Testing est aussi voir plus stable que la plupart des distributions Linux populaires et n'est pas figée comme Stable, ses paquets évoluent en versions contrairement à Debian GNU/Linux Stable qui ne bénéficie que de mise à jour de sécurité, de se fait il y a des mises à jour bien plus régulières que sur Stable. Certaines personnes optent pour Testing sur poste de travail du fait que les logiciels sont plutôt récents et la distribution relativement stable. À la fin de son existance Debian GNU/Linux Testing entre en période de freeze (gel) et devient Debian GNU/Linux Stable, un fois qu'elle remplie tous les critères très strictes de celle-ci.
  • unstable : est une distribution que l'on peut qualifier de rolling release (distribution continue, roulante) tout comme l'est Arch Linux, elle contient donc les paquets logiciels les plus récents qui proviennent de la branche experimental, experimental n'est pas une distribution GNU/Linux à part entère, c'est seulement un dépôt (référentiel) de paquets. Debian GNU/Linux Unstable est plutôt réservé' aux développeurs de Debian, donc plus utilisé en interne du projet Debian mais il y a toutefois une partie des particuliers qui utilisent Debian GNU/Linux Unstable pour leurs usages personnels et qui en sont très satisfaits. Debian GNU/Linux Unstable n'est pas moins stable que n' importe quelle autre distribution Linux rolling release, d'ailleurs la distribution très populaires, Ubuntu se base sur Debain Unstable. En réalité, unstable ne signifie pas instable, c'est simplement la branche de développement de Debian, Debian Unstable porte toujours le même nom, Sid.
À savoir, il y a une autre branche qui se nomme Oldstable, qui est officiellement maintenue par la communauté Debian pendant 1 ans après la sortie de Debian GNU/Linux Stable et 2 ans de plus dès qu'elle passe en version LTS (Long-Term Support), la branche oldstable, qui est l'ancienne branche stable. En définitive Debian GNU/Linux Stable a une durée de vie de 5 ans (pour les architectures les plus usités comme Intel x86_64 ou ARM64).
À vrai dire, maintenant il n'est plus forcément indispensable d'avoir une autre branche que stable pour avoir des logiciels récents ! Il existe différentes techniques pour conserver Debian GNU/Linux Stable avec les dernières versions des logiciels, par exemple par : les backports, le pinning en ce qui concerne les paquets Debian ou alors par des gestionnaires de paquets alternatifs tel que : Flatpak, Snap d'Ubuntu ou encore les AppImage voir même Docker, qui utilisent tous une méthode d'isolation qui fait que chaque logiciel installé par se biais est isolé des logiciels installés par défaut, via APT (le principe du sandboxing), donc les solutions sont vastes !

Debian GNU/Linux couvre un très grand nombre de domaine différents, allant du serveur informatique, au poste de travail pour : la bureautique, le multimédia, le gaming, le développement, le hacking et bien d'autres encore. Debian GNU/Linux est également l'une des distribution GNU/Linux qui supporte le plus grand nombre d'architecture processeur différente, comme les portages officiels : Intel (Intel x86 et Intel x86_64), ARM (armel, armhf, arm64), MIPS (mipsel, mips64el), PowerPC (ppc64el), System z (s390x), RISC-V (riscv64) et d' autres, enfin bref, Debian GNU/Linux est l'une des distributions pouvant fonctionner sur le plus de plateformes différentes et vous avez même la possibilité de télécharger les sources de Debian GNU/Linux. Comme mentionné précédement, Debian GNU/Linux est une distribution mère (une méta-distribution), sur laquelle repose une multitude d'autres distributions Linux, elles sont tellement nombreuses que je ne peux par toutes les citer, en voici quelques une : les très populaires, Ubuntu, Linux Mint, MX Linux et des distributions spécialisées dans certains domaines, Raspberry Pi OS pour nano-ordinateur Raspberry Pi, OpenMediaVault pour serveur NAS, Tails pour l'anonymat et éviter la censure, Kali Linux pour le pentesting (hacking), Mobian pour smartphone, Armbian pour les processeurs ARM mais il en existe encore beaucoup d'autres. Debian GNU/Linux 12 intègre par défaut toute la panoplie de logiciels GNU, du noyau Linux en version 6.1, le shell unix Bash version 5.2.15, de systemd version 252, d'apt 2.6.1, de GCC 12.2.0, PHP 8.2, Python 3.11, GNOME 43, Cinnamon 5.6.8, KDE Plasma 5.14.2, Xfce 4.18, LXDE 11, LXQt 31,…etc

Sachez qu'Ubuntu est devenu également une distribution mère basé sur la méta-distribution, Debian GNU/Linux. De nos jours, énormément de distribution se base sur Ubuntu, donc indirectement sur Debian GNU/Linux, c'est la raison pour laquelle je n'ai pas cité les distributions basées sur Ubuntu, Ubuntu mérite un article à elle seule. Sachez tout de même que ses deux distributions se ressemblent énomément et que la plupart des tutos pour Debian s'appliquent à Ubuntu et inversement.

Le noyau Linux de Debian GNU/Linux se situe dans le répertoire /boot, le noyau en lui même est le fichier /boot/vmlinuz-version_de_votre_noyau-amd64 pour un noyau Intel ou AMD 64 bits. Le noyau Linux est un noyau monolithique modulaire, il comporte des BLOBs (Binary Large Object) qui permettent à Debian de reconnaître un maximum de matériels informatiques et qui de se fait facilitent l'utilisation de Debian GNU/Linux et des modules. Les modules du noyau Linux permettent de charger un pilote de matériels qui n'est pas activé par défaut et d'installer des modules externes, en général sous forme de firmware. La majorité des modules se trouvent dans /usr/lib/modules/votre_noyau ou /lib/modules/votre_noyau qui est un lien symbolique vers /usr ou pour accèder directement à vos modules /usr/lib/modules/`uname -r`.

Les commande Unix de base (qui sont à exécuter avec un compte administrateur comme root) pour gérer les modules du noyau Linux sont :

  • lsmod pour visualiser tous les modules chargés dans le noyau.
  • modinfo pour avoir des informations sur un modules en particulier.
  • insmod permet de charger un module en spécifiant son chemin complet, exemple : insmod /usr/lib/modules/`uname -r`/kernel/XXX/XXX.ko. insmod les dépendances des modules que partiellement.
  • rmmod qui lui, à l'inverse, décharge un module en mentionnant son nom.
  • modprobe qui a les fonctionnalités de insmod et rmmod mais en plus avancée, car cette commande gère entièrement les dépendances. Exemple : modprobe nom_du_module pour charger un module et toutes ses dépendances et modprobe -r nom_du_module pour le décharger.

Il existe un outils en ligne de commande ou en mode interactif via l'interface curses, spécifique à Debian GNU/Linux du nom de module-assistant qui permet de créer ses propres modules à partir du code source du dit module, cet outil est vraiment riche en fonctionnalités et les modules installés par son biais sont automatiquement re-compilés et installés suite à une mise à jour du noyau Linux.

À savoir, il existe une version du noyau Linux dépourvue de BLOB (Binary Large Object), cette version se nomme Linux-libre qui est le noyau par défaut des distributions GNU/Linux recommandés par la Fondation GNU qui les considère comme de véritable distributions GNU/Linux Libres.

Tout d'abord Debian est installable via CD ou DVD-Rom, par clé USB bootable ou par le réseau en passant par exemple par PXE (Pre-boot eXecution Environment) et pour finir par FAI (Fully Automatic Installer) qui permet une installation automatique et massive sur plusieurs ordinateurs à la fois, genre stations de travail, serveurs, voir machines virtuelles. L'installateur de Debian se nomme tout simplement debian-installer, c'est un installateur extrèment modulaire qui permet d'installer Debian GNU/Linux au cas par cas, pour commencer debian-installer peut installer Debian en mode texte (console) via Curses ou en mode graphique. L'installateur de Debian étant très modulaire, ce n'est pas forcément l'installateur Linux de plus simple à appréhender et il est même jugé comme austère par certains membres de la communauté open source. Mais honnêtement l'apparence n'est que futile, l'important c'est les nombreuses fonctionnalités dont dispose l'installateur de Debian et de se côté, c'est la panacée. debian-installer permet d'installer Debian de façon standard (automatisé) ou en mode expert qui permet une installation étape par étape et de manière très fine, via cette option vous avez accès à toutes les configurations possibles de Debian (le mode expert comme sont nom l'indique, est réservé aux personnes ayant de bonnes connaissances en informatique). Avec l'installateur de Debian vous avez la possibilité d'installer le système avec le strict minimum pour un système embarqué, en incluant seulement les utilitaires essentiels pour un serveur ou d'installer un environnement de bureau, par défaut GNOME mais vous pouvez également installer Cinnamon, KDE Plasma, Xfce, MATE, LXDE ou LXQt et j'omets les gestionnaires de fenêtres qui sont très nombreux. À savoir que pendant le processus d'installation, Debian détecte si il ne reconnait pas un composant de votre oridinateurs et vous permet de charger des firmwares non-free via une clé USB par exemple. Au moment où il vous est proposé d'installer certains logiciels, vous avez la possibilité d'installer les services (daemons) de bases comme SSH, CUPS ou encore le serveur Web Apache. Vous aurez une page spécifique pour le processus d'installation.

À savoir qu'il existe des fichiers compressés tar.gz ou zip contenant les firmwares non-free inclus, à cette adresse.

Installation d'une Debian 12.9 minimale sur architecture AMD64 sous VirtualBox

Sous Debian GNU/Linux, pour l'amorçage du système, c'est GNU GRUB (GRand Unified Bootloader) qui est utilisé, c'est un programme d'amorçage qui est très complet et qui gére très bien le multiboot (multi-amorçage), il peut booter tous les systèmes d'exploitation existant, par exemple, si vous avez un ordinateurWindows, Debian GNU/Linux et FreeBSD sont installés vous pouvez démarer chaque OS sans aucun problème. GNU GRUB est programme d'amorçage avec énomément de fonctionnalités, vous pouvez en autres booter n'importe quel OS installé sur votre ordinateur mais aussi des clé USB bootable, des CD/DVD-Rom bootable, des images ISO, des disque dur virtuel enfin bref les possibilités sont quasiment infini.

À l'époque c'était le chargeur d'amorçage nommé LILO (Linux Loader) qui était utilisé sur toutes les distributions Linux, il était beaucoup plus limité que GNU GRUB mais jouait tout de même bien son rôle.

À l'origine Debian GNU/Linux utilisait le système d’initialisation sysvinit qui utilisait des scripts shell, système SysV init similaire à celui de UNIX System V. Depuis Debian Jessie, sortie le 26 avril 2015, c'est systemd, créée par Lennart Poettering, qui a pris de relais et qui gère l'initialisation, la gestion des services (daemons), les cgroups, les journaux systèmes et beaucoup d'autres services. systemd a été très controversé, il met un terme aux principes KISS de sysvinit, c'est une véritable usine à gaz. J'avoue que je ne suis moi même pas très fan de systemd et que j'étais beaucoup plus à l'aise avec sysvinit et son système de runlevel au sein de /etc/inittab. Mais malgré tout, même si certaines orientations de GNU/Linux ne me semble pas très bonne, j'essaie tout de même de passer aux nouvelles normes.

Systemd à énomément de fonctionnalités, en autres :

  • L'initialisation du système et le lancement des premières console virtuelles (getty).
  • La getsion des daemons (services) via la commande nommé systemctl. Par exemple :
    • systemctl ACTION <Nom_du_service>.service

      Parmi les ACTIONS on peut citer : start, stop, restart, reload, status, show,…

  • La getsion des targets (équivalent des runlevels de sysv) également avec la commande systemctl. Exemples :
    • systemctl isolate multi-user.target

      qui permet de passer une session graphique multi-utilisateur en mode console multi-utilisateur.

    • systemctl isolate graphical.target

      pour repasser en mode graphique multi-utilisateur.

  • Son propre service de journalisation via la commande nommé journalctl. Exemple pour le serveur SSH :
    • journalctl nfs-server.service

      par le nom du service.

    • journalctl _PID=1300

      par son PID (Process IDentifier).

    • journalctl /usr/sbin/sshd

      par son exécutable.

  • Il est aussi possible d'éteindre, mettre en veille, hiberner, exemple par ordre :
    • systemctl poweroff

      pour éteindre.

    • systemctl suspend

      pour mettre en veille.

    • systemctl hibernate

      pour hiberner

Ce n'est qu'un cours résumé sur les fonctionnalités de systemd qui comme je l'ai dit, est une uzine à gaz.

Des utilisateurs, mécontents par la décision de Debian d'intégrer systemd en son sein au détriment de sysvinit, ont créées un fork de Debian du nom de Devuan qui reste sur le traditionnel SysV init. Il est possible de choisir entre sysvinit, runit ou OpenRC. Cette distribution est disponible ici.

Les systèmes de fichiers proposés par défaut à l'installation et l' utilisation sont : ext4, ext3, btrfs, XFS, F2FS. Les systèmes de fichiers ext (extended file system) sont les systèmes de fichiers par défaut sous GNU/Linux. Tous les systèmes de fichiers précédement mentionner gère la journalisation. ext4 est le système de fichiers conseillé en premier, il est fiable, performant et à plus de fonctionnalités que ext3 mais il est légèrement plus énergivore. btrfs est sans doûte le plus avancé, il gère les snapshots, la compression et la mise en miroir mais n'est je pense pas aussi mature que ext4. Un autre choix est F2FS qui a été conçue pour les SSD (Solid-State Drive) et qui offre de meilleures performances d'écriture séquentielle. Bien évidement, suite à l'installation de Debian GNU/Linux vous pouvez installer d'autres systèmes de fichiers.

L'une des grandes forces de Debian est son gestionnaire de paquets, qui a fait en partie la renommé de cette distribution GNU/Linux. Dans les toutes premières versions de Debian, la gestion de paquets n'était géré que par dpkg et son frontend dselect. C'est à partir de Debian GNU/Linux 2.1 du nom de Slink, publié le 9 mars 1999, que Debian intégra APT (Advanced Packaging Tool), à ne pas confondre avec la commande apt, APT est le centre névralgique du gestionnaire de paquets. APT fût le premier gestionnaire de paquets à gérer les dépendances logiciels. L'outil en ligne de commande principal qui installe les paquets à proprement parler sans gérer les dépendances est dpkg. Les outils en ligne de commande qui installent le logiciel souhaité et ses dépendances sont : apt, apt-get ou aptitude pour les principaux. La commande qui est devenue la référence est apt, qui combine les fonctionnalités de apt-get, apt-cache et apt-file. Les logiciels sous Debian se trouvent dans des dépôts (repository en anglais) qui sont référencés dans le fichier /etc/apt/sources.list et pour des dépôts hors Debian vous pouvez utiliser le répertoire /etc/apt/sources.list.d qui se compose de fichiers finissant par l'extension de fichiers .list, se répertoire est très utile pour installer des logiciels ne faisant pas partis des dépôts officiels de Debian. En ce qui concerne les interfaces graphiques à APT ont peux citer : Synaptic, Adept Manager,…et pour les logithèques, il y a GNOME Logiciels pour l'environnement de bureau GNOME ou Plasma Discover pour environnement de bureau KDE Plasma, qui sont similaire au Play Store de Google ou de l'App Store d'Apple. À savoir, qu'il est tout à fait possible d'installer un paquet .deb isolé (hors dépôts) en gérant l'installation automatique des dépendances du paquet avec le logiciel du nom de Gdebi, pour installer la version graphique, installer le paquet gdebi et pour la version en ligne de commande, installer gdebi-core.

Le compilateur pour GNU/Linux est GCC (GNU Compiler Collection), il prend en charge les langages de programmation suivants : C, C++, Objective-C, Java, Ada, Fortran et Go.

À savoir que sous Debian GNU/Linux, il y a également des gestionnaires de paquets alternatifs qui permettent d'avoir les toutes dernières versions des logiciels n'étant souvent pas disponible par défaut sous Debian GNU/Linux, à moins de faire du pinning, qui consite à installer des logiciels provenant des autres branches de Debian comme Testing ou Unstable en toute sécurité, sans impacter la base logiciel de Debian GNU/Linux Stable mais c'est un procédé un peu complexe et qui n'a plus trôt d'intérêt de nos jours. Ses fameux gestionnaires de paquets alternatifs sont : Flatpak de Alexander Larsson, Snap de Canonical Ltd et enfin les fichiers AppImage qui comporte un logiciel et toutes ses dépendances dans un même fichier. Contrairement à Flatpak et Snap, AppImage n'est qu'un fichier contenant tout le nécessaire pour exécuter un logiciel sans même avoir besoin de l'installer, il suffit de rendre le fichier appimage exécutable. Tous ses paquets alternatifs son en mode sandbox, c'est à dire qu'ils sont isolés et n' interfèrent pas avec le système de base de Debian GNU/Linux. C'est très pratique pour avoir la dernière version des logiciels sans se prendre la tête et de manière sécurisé.
Pour installer des logiciels sous Debian GNU/Linux, se référer à se tuto.

À l'époque du noyau Linux 2.4 le pilote pour l'audio etait OSS (Open Sound System), désormais le pilote par défaut pour l'audio est ALSA (Advanced Linux Sound Architecture) qui a une compatibilité avec OSS. Il existe également une nouvelle version du pilote OSS du nom de OSS4 (Open Sound System v4) qui se trouve ici.

Le serveur de son utilisé actuellement est PipeWire, le serveur de son précédent était PulseAudio, créée par l'auteur de systemd. PipeWire a une couche de rétro-compatiblité avec PulseAudio du nom de pipewire-pulse, une autre pour le serveur de son nommé JACK (ack Audio Connection Kit) qui est devenue obsolète avec PipeWire et enfin pipewire-alsa, couche de rétro-compatiblité avec ALSA. Un serveur de son joue le rôle d'intermédiaire entre les applications audio et le pilote ALSA.

La pile graphique sous GNU/Linux se compose des éléments suivants : les applications graphiques et bibliothèques graphiques, les pilotes graphiques liés au noyau Linux, le serveur X11 (en l'occurence X.Org, maintenu par la Fondation du même nom) ou un compositeur graphique tel que Wayland associé à un gestionnaire de fenêtres compatible tel que Mutter de l'environnement graphique GNOME ou encore KWin de KDE Plasma. Pour le moment il n'y a pas énormément d'interface graphique compatible avec Wayland et malheureusement Wayland ne permet pas d'être utilisé avec les pilotes propriétaires Nvidia qui est pour les cartes graphiques les plus récentes, le seul pilote réellement utilisable.

L' élément central est la pile TCP/IP intégrée au noyau Linux fondée sur le modèle OSI qui gère tous les protocoles réseaux et les interfaces réseau.
Il y a deux paquets logiciels qui ont le même rôle et qui sont des outils en ligne de commande pour gérer son réseau :

  • le paquet du nom de net-tools, qui contient les commandes : ifconfig, netstat, ipmaddr, iptunnel, mii-tool, nameif, plipconfig, rarp, route, slattach et arp.
  • le paquet nommé iproute2 qui comprend les commandes : ip, ss, bridge, dcb, devlink, rtacct, rtmon, tc, tipc, vdpa, lnstat, nstat, rdma, routel, arpd, genl, ctstat et rtstat.

Il y a également le paquet wireless-tools pour gérer les cartes wifi, qui ont comme utilitaires : iwconfig, iwlist, iwevent, iwgetid, iwpriv et iwspy.
En ce qui concerne l'utilitaire graphique (et ses commandes Unix associés) le plus utilisé sous GNU/Linux ont peut citer Network-Manager qui contient tous les outils essentiels pour gérer son réseau, auxquel on peut ajouter des extensions, par exemple pour les réseaux VPN (Virtual private network, Réseau Privé Virtuel en français).

Le fichier qui contient les interfaces réseau sous Debian est /etc/network/interfaces où vous pouvez faire un réglage minutieux de chaque interface. Vous pouvez également créer vos propres fichiers d'intefaces réseau via le répertoire /etc/network/interfaces.d/.

Globalement le réseau sous Debian GNU/Linux est très stable, ce n'est pas pour rien qu'il y a un nombre gigantesque de serveur informatique sous Debian GNU/Linux !

Debian GNU/Linux inclut dans son noyau Linux le cadriciel (framework) appelé Netfilter qui implémente le pare-feu du noyau Linux et la commande Unix iptables pour IPv4 et ip6tables pour IPv6 permettent de configurer les chaînes et les règles en autres du pare-feu Netfilter. Parmi les commandes Unix comprises dans le paquet iptables il y a également ebtables, spécifique aux trames Ethernet. Il existe un outil en ligne de commande pour configurer de manière simplifiée le pare-feu Netfilter du nom de UFW (Uncomplicated Firewall), il existe également une interface graphique pour UFW nommée Gufw (bien pratique pour les postes de travail). Il existe aussi un utilitaire Unix qui se veut être le remplacement de l'utilitaire iptables qui a une syntaxe plus claire et cohérente appelé nftables, il permet également une compatibilité avec iptables en traduisant la syntaxe de iptables en syntaxe nftables.

Sous Debian GNU/Linux et sous GNU/Linux en général il y a un antivirus open source du nom de ClamAV qui utilise la bibliothèque libclamav. Pour un poste de travail sous GNU/Linux, il complètement inutile d'avoir un antivirus, sauf si vous êtes en dualboot avec Windows et GNU/Linux sur le même ordinateur, dans se cas ClamAV peut vérifier que vous n'avez pas de fichiers infectés sous GNU/Linux qui pourrait nuire à votre Windows. Par contre ClamAV peut-être utile sur un serveur mail sous Debian GNU/Linux. Pour installer ClamAV, il faut installer son paquet qui est clamav, à savoir qu'il existe également une interface graphique pour ClamAV du nom de ClamTk, son paquet est tout simplement clamtk.

Il est totalement inutile d'avoir un antivirus sous Debian GNU/Linux et sur toutes les autres distributions Linux ! Ça ne ferait que consommer des ressources inutilement.

Debian GNU/Linux est loin d'être dépourvu de logiciel de virtualisation, émulation et conteuneurisation.

Virtualisation

La virtualisation consiste à exécuter un système d'exploitation appelé machine virtuelle, qui fonctionne de concert avec l'hôte (Debian GNU/Linux, le système principal) en l'occurence le noyau Linux, de se fait il y a un gain de performance énorme par rapport à un système d'exploitation émulé. Avec un hyperviseur, c'est le CPU (processeur), mémoire vive (RAM), disque (mémoire de masse) de l'hôte (de l'ordinateur) qui est utilisé pour les machines virtuelles (système d'exploitation virtualisé appelé également VM), chaque VM est isolée les unes des autres et du système hôte. Un OS virtualisé ne peut fonctionner que si il a la même architecture processeur que l'OS Hôte.

En ce qui concerne la virtualisation vous avez les hyperviseurs de type 1 suivants :

  • L'hyperviseur par défaut de Linux (directement intégré dans le noyau Linux) du nom de KVM (Kernel-based Virtual Machine) qui fonctionne de concert avec l'émulateur QEMU (Quick Emulator), il est très performant et il est disponible sur les processeurs comme Intel ou AMD, ESA/390, PowerPC, IA-64 (Intel Itanium 1 et 2) et ARM.
  • Xen est également un hyperviseur de type 1 natif sous Linux, en partie intégré dans le noyau Linux, il est disponible pour les architectures processeur suivantes : x86, x64, IA-64, PowerPC et ARM et SPARC. À noter que Xen est également disponible sous NetBSD.

Les hyperviseurs de type 2 :

  • VirtualBox plus pécisément Oracle VM VirtualBox est un hyperviseur de type 2, disponible pour les OS : Linux, Windows, macOS, Solaris, FreeBSD et Genode. Il permet de virtualiser la plus des OS, il faut que l' OS virtualisé soit un système focntionnant sur le même processeur que l'hôte par exemple pour un OS Hôte avec un processeur Intel ou AMD 64 bits, il faut un OS invité (VM) qui supporte soit l'architecture x86 ou x64 d'Intel ou AMD. Pour le moment, VirtualBox n'est disponible que pour les processeurs Intel ou AMD 64bits (x64 aussi nommé x86_64)
  • VMware Player est très similaire à VirtualBox, il supporte peut-être un peu plus d'OS invité par contre VMware Player n'est pas disponible à l'installation pour autant d'OS que VirtualBox.

Émulation

L'émulation consiste à émuler la totalité d'un appareil informatique, par exemple : un vieux PC, un ancien Macintosh, de vielle station UNIX, un mini-ordinateur (PDP-11, VAX, IBM 1130,…), une console de jeu,…etc. L'émulateur ne bénéficie en aucun cas des ressources de l'Hôte mais il permet d'émuler des OS qui non pas la même architecture processeur que votre ordinateur hôte. Par contre, évidement les appareils informatiques émulés n'ont pas les performances et réactivités que les OS virtualisés. Mais la plupart du temps, on émule du vieux matériels qui ne sont vraiment pas groumand en ressources.

Quelques émulateurs :

  • QEMU (Quick Emulator) est un émulateur multi-architecure qui peut émuler des systèmes : x86, ARM, PowerPC, RISC-V, MIPS, s390, SPARC. C'est l'un des émulateurs les plus complets. Il permet d'émuler une multitude de viel OS. À la base c'est un émulateur créée pour GNU/Linux.
  • SimH est un émulateur pour simuler les vieux ordinateurs des années 60 à 80. Il permet en autres de simuler un PDP-11, VAX, Altair 8800,… Il est idéal pour simuler tous les vieux UNIX mais permet bien plus.
  • PearPC est un émulateur qui émule les vieux Macintosh PowerPC et donc Mac OS Classic et les premières versions de Mac OS X.
  • MAME (Multiple Arcade Machine Emulator) permet d'émuler de nombreux jeux d'arcade et console de jeux mais aussi de nombreux ordinateurs anciens. Il est disponible pour la plupart des OS les plus populaires.

Conteuneurisation

La conteuneurisation à quelques similitudes avec l'appel système et commande Unix chroot, elle consiste à virtualiser la totalité d'un système GNU/Linux (peu importe la distribution Linux), hormis son noyau. C'est une méthode de virtualisation qui utilise l'isolation comme méthode de cloisonnement au niveau du système d'exploitation. Les performances de la virtualisation par conteuneurisation son pour ainsi dire native, en gros, une application exécutée dans un conteuneur est aussi réactive que sur le système Hôte !

Les conteuneurs (containers en anglais) :

  • Les conteuneurs LXC (LinuX Containers) peuvent virtualiser toutes les distributions Linux, comme mentionné précédement, ils virtualisent la totalité de l'espace utilisateur (userland en anglais) en utilisant les cgroups et le noyau Linux de l'hôte. Un conteuneur LXC utilise donc un système Linux complet avec le noyau de l'hôte, le conteuneur LXC est isolé de l'OS principal de l'hôte et n'a donc aucun droit d'accès sur le système principal, alors que le système principal à tous les droit sur un conteuneur. Un conteuneur LXC n'a même pas accès aux autres conteuneurs LXC. Pour faire simple, chaque conteuneur paraît et fonctionne comme n'importe quel système à part enitère Linux. LXC est spécifique et disponible seulement sur GNU/Linux.
  • Docker était à l'origine basé sur LXC mais utilise désormais son propre système de conteuneurisation qui est en grande partie similaire à LXC avec une API (Application Programming Interface ou Interface de Programmation Applicative) de haut niveau et des fonctionnalités supplémentaires. Contrairement à LXC, de part sa conception, Docker n'est désormais plus seulement compatible avec GNU/Linux mais avec la majorité des systèmes d'exploitation, donc GNU/Linux, macOS, Windows et FreeBSD.
La virtualisation, émulation et conteuneurisation sur cette page n'est qu'un petit résumé des fonctionnalités et offre logiciels dans se domaine sous Debian GNU/Linux ! Le monde de la virtualisation/émulation est bien plus vaste sous Debian GNU/Linux, je n'ai citer qu'une infime partie des programmes fournis par Debian dans le domaine !!!

Dans cette section nous traiterons des tutoriels sur Debian GNU/Linux, c'est là où vous aurez une documentation sur des sujets bien spécifiques liés à Debian GNU/Linux.

Cette article n'est en aucun cas exhaustif, c'est juste un résumé de Debian GNU/Linux ! L'endroit où vous aurez réellement une documentation poussée sur Debian GNU/Linux est dans les Tutos.
  • wiki/systemes_d_exploitation/gnu_linux/debian.txt
  • Dernière modification : 2025/01/17 13:51
  • de Thibault Seguin