Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
wiki:systemes_d_exploitation:gnu_linux:debian [2025/03/27 18:23] – [Le noyau Linux sous Debian GNU/Linux] Thibault Seguin | wiki:systemes_d_exploitation:gnu_linux:debian [2025/03/27 20:00] (Version actuelle) – [Présentation de Debian GNU/Linux] Thibault Seguin |
---|
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.10**, publiée le 15 mars 2025. 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. | 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.10**, publiée le 15 mars 2025. 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. |
| |
<note>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êmement 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 !</note> | <note>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êmement 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 !</note> |
| |
<note important>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éé par la **Fondation Raspberry Pi** nommé **Raspberry Pi OS** (anciennement **Raspbian**). Avant Debian GNU/Linux 12, il était nécessaire de télécharger 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 ces images ''.iso'' par défaut.</note> | <note important>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éé par la **Fondation Raspberry Pi** nommé **Raspberry Pi OS** (anciennement **Raspbian**). Avant Debian GNU/Linux 12, il était nécessaire de télécharger 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 ces images ''.iso'' par défaut.</note> |
| |
==== Installateur de Debian GNU/Linux ==== | ==== Installateur de Debian GNU/Linux ==== |
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êmement 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 ordinateur 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. | 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êmement 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 ce 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 ordinateur 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. |
| |
<note>À savoir qu'il existe des fichiers compressés ''tar.gz'' ou ''zip'' contenant les firmwares ''non-free'' inclus, à cette [[https://cdimage.debian.org/cdimage/firmware/|adresse]].</note> | <note>À savoir qu'il existe des fichiers compressés ''tar.gz'' ou ''zip'' contenant les firmwares ''non-free'' inclus, à cette [[https://cdimage.debian.org/cdimage/firmware/|adresse]].</note> |
| |
==== Le programme de démarrage sous Debian GNU/Linux ==== | ==== Le programme de démarrage sous Debian GNU/Linux ==== |
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 | 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 ordinateur où **Windows**, **Debian GNU/Linux** et **FreeBSD** sont installés vous pouvez démarrer chaque **OS** sans aucun problème. **GNU GRUB** est programme d'amorçage avec énormé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. | existants, par exemple, si vous avez un ordinateur où Windows, Debian GNU/Linux et FreeBSD sont installés vous pouvez démarrer chaque OS sans aucun problème. GNU GRUB est programme d'amorçage avec énormément de fonctionnalités, vous pouvez en autres booter n'importe quel OS installé sur votre ordinateur mais aussi des clés USB bootables, des CD/DVD-Rom bootables, des images ISO, des disques dur virtuels enfin bref les possibilités sont quasiment infini. |
| |
À l'époque c'était le chargeur d'amorçage **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'époque c'était le chargeur d'amorçage **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. |
==== Système d’initialisation et de gestion des daemons de Debian GNU/Linux ==== | ==== Système d’initialisation et de gestion des daemons de Debian GNU/Linux ==== |
À 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. | À 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** à énormément de fonctionnalités, en autres : | Systemd à énormément de fonctionnalités, en autres : |
* L'**initialisation du système** et le lancement des premières **console virtuelles** (**getty**). | * L'initialisation du système et le lancement des premières consoles virtuelles (**getty**). |
* La gestion des **daemons** (**services**) via la commande **systemctl**. Par exemple : | * La gestion des daemons (services) via la commande **systemctl**. Par exemple : |
* <file>systemctl ACTION <Nom_du_service>.service</file> Parmi les ''ACTIONS'' on peut citer : ''start'', ''stop'', ''restart'', ''reload'', ''status'', ''show'',... | * <file>systemctl ACTION <Nom_du_service>.service</file> 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 : | * La getsion des **targets** (équivalent des runlevels de sysv) également avec la commande systemctl. Exemples : |
* <file>systemctl isolate multi-user.target</file> qui permet de passer une session **graphique multi-utilisateur** en mode **console multi-utilisateur**. | * <file>systemctl isolate multi-user.target</file> qui permet de passer une session **graphique multi-utilisateur** en mode **console multi-utilisateur**. |
* <file>systemctl isolate graphical.target</file> pour repasser en mode **graphique multi-utilisateur**. | * <file>systemctl isolate graphical.target</file> pour repasser en mode **graphique multi-utilisateur**. |
* Son propre service de **journalisation** via la commande nommé **journalctl**. Exemple pour le serveur **SSH** : | * Son propre service de **journalisation** via la commande nommé **journalctl**. Exemple pour le serveur SSH : |
* <file>journalctl nfs-server.service</file> par le nom du **service**. | * <file>journalctl nfs-server.service</file> par le nom du service. |
* <file>journalctl _PID=1300</file> par son ''PID'' (''//Process IDentifier//''). | * <file>journalctl _PID=1300</file> par son ''PID'' (''//Process IDentifier//''). |
* <file>journalctl /usr/sbin/sshd</file> par son ''exécutable''. | * <file>journalctl /usr/sbin/sshd</file> par son exécutable. |
* Il est aussi possible d'**éteindre**, **mettre en veille**, **hiberner**, exemple par ordre : | * Il est aussi possible d'éteindre, mettre en veille, hiberner, exemple par ordre : |
* <file>systemctl poweroff</file> pour **éteindre**. | * <file>systemctl poweroff</file> pour éteindre. |
* <file>systemctl suspend</file> pour **mettre en veille**. | * <file>systemctl suspend</file> pour mettre en veille. |
* <file>systemctl hibernate</file> pour **hiberner** | * <file>systemctl hibernate</file> pour hiberner. |
Ce n'est qu'un cours résumé sur les fonctionnalités de **systemd** qui comme je l'ai dit, est une ''usine à gaz''. | Ce n'est qu'un cours résumé sur les fonctionnalités de systemd qui comme je l'ai dit, est une ''usine à gaz''. |
| |
<note important>Des utilisateurs, mécontents par la décision de **Debian** d'intégrer **systemd** en son sein au détriment de **sysvinit**, ont créés un fork (fourche logicielle) 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 [[https://www.devuan.org/|ici]].</note> | <note important>Des utilisateurs, mécontents par la décision de Debian d'intégrer systemd en son sein au détriment de sysvinit, ont créés un fork (fourche logicielle) 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 [[https://www.devuan.org/|ici]].</note> |
==== Les Systèmes de fichiers sous Debian GNU/Linux ==== | ==== Les Systèmes de fichiers sous Debian GNU/Linux ==== |
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édemment mentionnés gèrent 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 doute 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. | 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édemment mentionnés gèrent 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 doute 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. |
| |
==== Gestionnaire de paquets sous Debian GNU/Linux ==== | ==== Gestionnaire de paquets sous Debian GNU/Linux ==== |
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 finissants 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**. | 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 finissants 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**. | 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**. |
| |
<note>À 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 consiste à 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 trop d'intérêt de nos jours. Ces 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é''.</note> | <note>À 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 consiste à 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 trop d'intérêt de nos jours. Ces 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é''.</note> |
| |
<note tip>Pour installer des logiciels sous **Debian GNU/Linux**, se référer à ce [[wiki:systemes_d_exploitation:gnu_linux:debian:tutos:admin:install_logiciel_debian|tuto]].</note> | <note tip>Pour installer des logiciels sous Debian GNU/Linux, se référer à ce [[wiki:systemes_d_exploitation:gnu_linux:debian:tutos:admin:install_logiciel_debian|tuto]].</note> |
| |
==== La pile audio sous Debian GNU/Linux ==== | ==== La pile audio sous Debian GNU/Linux ==== |
À 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 [[http://www.opensound.com/download.cgi|ici]]. | À 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 [[http://www.opensound.com/download.cgi|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**. | 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 Debian GNU/Linux ==== | ==== La pile graphique sous Debian GNU/Linux ==== |
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. | 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'occurrence **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. |
| |
==== Le réseau sous Debian GNU/Linux ==== | ==== Le réseau sous Debian GNU/Linux ==== |
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éseaux**.\\ | 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éseaux.\\ |
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** : | 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 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**. | * 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**.\\ | 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**, auquel on peut ajouter des **extensions**, par exemple pour les réseaux **VPN** (**//Virtual private network//**, **//Réseau Privé Virtuel//** en français). | 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, auquel 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/''. | 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'interfaces réseaux 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** ! | 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 ! |
| |
==== La sécurité réseau sous Debian GNU/Linux ==== | ==== La sécurité réseau 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**. | 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 ce 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**. | 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 est complètement inutile d'avoir un antivirus, sauf si vous êtes en dualboot avec Windows et GNU/Linux sur le même ordinateur, dans ce 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**. |
| |
<note important>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.</note> | <note important>Il est totalement inutile d'avoir un antivirus sous Debian GNU/Linux et sur toutes les autres distributions Linux, à moins d'avoir un serveur mail comme mentionné précédemment ! Ça ne ferait que consommer des ''ressources'' inutilement.</note> |
| |
==== La virtualisation et conteneurisation sous Debian GNU/Linux ==== | ==== La virtualisation et conteneurisation sous Debian GNU/Linux ==== |
**Debian GNU/Linux** est loin d'être dépourvu de logiciel de **virtualisation**, **émulation** et **conteneurisation**. | Debian GNU/Linux est loin d'être dépourvu de logiciel de **virtualisation**, **émulation** et **conteneurisation**. |
| |
=== Virtualisation === | === 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'occurrence 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**. | 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'occurrence le noyau Linux, de ce 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 : | 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**. | * 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**. | * **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'' : | Les **hyperviseurs** de ''type 2'' : |
* [[wiki:virtualisation_et_emulation:virtualbox|VirtualBox]] plus pré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 fonctionnant 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**) | * [[wiki:virtualisation_et_emulation:virtualbox|VirtualBox]] plus pré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 grande partie des OS récents, il faut que l' OS ''virtualisé'' soit un système fonctionnant 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**. | * **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 et n'est pas un logiciel open source. |
| |
=== Émulation === | === É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 gourmand en ''ressources''. | 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 mêmes 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 gourmand en ''ressources''. |
| |
Quelques **émulateurs** : | Quelques **émulateurs** : |
* [[wiki:virtualisation_et_emulation:qemu|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 vieil **OS**. À la base c'est un émulateur créé pour **GNU/Linux**. | * [[wiki:virtualisation_et_emulation:qemu|QEMU]] 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 vieil OS. À la base c'est un émulateur créé pour GNU/Linux. |
* [[wiki:virtualisation_et_emulation:simh|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. | * [[wiki:virtualisation_et_emulation:simh|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** de type **PowerPC** et donc **Mac OS Classic** et les premières versions de **Mac OS X**. | * **PearPC** est un émulateur qui émule les vieux Macintosh de type **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. | * **MAME** (**//Multiple Arcade Machine Emulator//**) permet d'émuler de nombreux jeux d'arcade et consoles de jeux mais aussi de nombreux ordinateurs anciens, qui était à l'époque géré par **MESS**. Il est disponible pour la plupart des OS populaires. |
| |
=== Conteneurisation === | === Conteneurisation === |
La **conteneurisation** à quelques similitudes avec l'**appel système** et **commande Unix** nommé **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 **conteneurisation** son pour ainsi dire ''native'', en gros, une application exécutée dans un **conteneur** est aussi ''réactive'' que sur le **système hôte** ! | La **conteneurisation** à quelques similitudes avec l'appel système et commande Unix nommé **chroot**, la conteneurisation 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 conteneurisation son pour ainsi dire ''native'', en gros, une application exécutée dans un **conteneur** est aussi ''réactive'' que sur le système hôte ! |
| |
Les **conteneurs** (**containers** en anglais) : | Les **conteneurs** (**containers** en anglais) : |
* Les conteneurs **LXC** (**//LinuX Containers//**) peuvent virtualiser toutes les **distributions Linux**, comme mentionné précédemment, ils virtualisent la totalité de l'**espace utilisateur** (**userland** en anglais) en utilisant les **cgroups** et le **noyau Linux** de l'**hôte**. Un conteneur **LXC** utilise donc un **système Linux** complet avec le **noyau** de l'**hôte**, le conteneur **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 **conteneur**. Un conteneur **LXC** n'a même pas accès aux autres conteneurs **LXC**. Pour faire simple, chaque **conteneur** paraît et fonctionne comme n'importe quel système à part entière **Linux**. **LXC** est spécifique et disponible seulement sur **GNU/Linux**. | * Les conteneurs **LXC** (**//LinuX Containers//**) peuvent virtualiser toutes les distributions Linux, comme mentionné précédemment, ils virtualisent la totalité de l'**espace utilisateur** (**userland** en anglais) en utilisant les cgroups et le noyau Linux de l'hôte. Un conteneur LXC utilise donc un système Linux complet avec le noyau de l'hôte, le conteneur 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 droits sur un conteneur. Un conteneur LXC n'a même pas accès aux autres conteneurs LXC. Pour faire simple, chaque conteneur paraît et fonctionne comme n'importe quel système à part entiè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 **conteneurisation** 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 par sa conception, **Docker** n'est désormais plus seulement compatible avec **GNU/Linux** mais avec la majorité des systèmes d'exploitation, dont **GNU/Linux**, **macOS**, **Windows** et **FreeBSD**. | * **Docker** était à l'origine basé sur LXC mais utilise désormais son propre système de conteneurisation 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 par sa conception, Docker n'est désormais plus seulement compatible avec GNU/Linux mais avec la majorité des systèmes d'exploitation, dont **GNU/Linux**, **macOS**, **Windows** et **FreeBSD**. |
| |
<note>La **virtualisation**, **émulation** et **conteneurisation** sur cette page n'est qu'un petit résumé des fonctionnalités et offre logiciels dans ce 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 !!!</note> | <note>La virtualisation, émulation et conteneurisation sur cette page n'est qu'un petit résumé des fonctionnalités et offre logiciels dans ce 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 !!!</note> |
| |
| |