Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
wiki:systemes_d_exploitation:bsd_unix:freebsd [2025/03/26 12:26] – [Virtualisation et conteneurisation par défaut sous FreeBSD] Thibault Seguin | wiki:systemes_d_exploitation:bsd_unix:freebsd [2025/03/26 12:41] (Version actuelle) – [Suppléments de documentation sur FreeBSD] Thibault Seguin |
---|
**Bhyve** est un **hyperviseur** de ''type 2'', tout comme l'est **VirtualBox**, installé par défaut sous FreeBSD, il a été intégré à FreeBSD à partir de la version **FreeBSD 10.0-RELEASE**, il est relativement récent mais est très prometteur et est d'ores et déjà en mesure de virtualiser, divers distributions **GNU/Linux**, tel que : Debian, Ubuntu, Fedora, Alpine Linux..., du côté des **distributions Illumos** on peut citer : OpenIndiana, SmartOS, OmniOS et plus encore et bien évidemment la plupart des **distributions BSD** comme : FreeBSD, NetBSD, OpenBSD mais aussi **Windows** de Microsoft. La version initiale de **bhyve** a été créée en 2014 par les développeurs de FreeBSD. Pour le moment, il n'existe pas d'interface graphique pour bhyve mais il y a des outils en ligne de commande tels que : **iohyve**, **vm-bhyve** pour les plus courants permettant de gérer en intégralité l'hyperviseur spécifique à FreeBSD. Si vous n'êtes pas fan de la ligne de commande, vous pouvez vous orienter vers une **interface Web** légère du nom de **BVCP** disponible à cette [[https://bhyve.npulse.net/|adresse]]. Parmi les fonctionnalités, bhyve prend en charge les installations **UEFI** (**//Unified Extensible Firmware Interface//**),les interfaces émulées de **KVM**, **VirtIO**, pour la prise en charge des périphériques tels que les contrôleurs USB avec la spécification **xHCI** (**//eXtensible Host Controller Interface//**), les contrôleurs NVM Express (NVMe), les contrôleurs audio haute définition, le périphérique de mémoire tampon d'image brute connecté au serveur **VNC** (**sortie vidéo**) et le **relais AHCI / PCI**. | **Bhyve** est un **hyperviseur** de ''type 2'', tout comme l'est **VirtualBox**, installé par défaut sous FreeBSD, il a été intégré à FreeBSD à partir de la version **FreeBSD 10.0-RELEASE**, il est relativement récent mais est très prometteur et est d'ores et déjà en mesure de virtualiser, divers distributions **GNU/Linux**, tel que : Debian, Ubuntu, Fedora, Alpine Linux..., du côté des **distributions Illumos** on peut citer : OpenIndiana, SmartOS, OmniOS et plus encore et bien évidemment la plupart des **distributions BSD** comme : FreeBSD, NetBSD, OpenBSD mais aussi **Windows** de Microsoft. La version initiale de **bhyve** a été créée en 2014 par les développeurs de FreeBSD. Pour le moment, il n'existe pas d'interface graphique pour bhyve mais il y a des outils en ligne de commande tels que : **iohyve**, **vm-bhyve** pour les plus courants permettant de gérer en intégralité l'hyperviseur spécifique à FreeBSD. Si vous n'êtes pas fan de la ligne de commande, vous pouvez vous orienter vers une **interface Web** légère du nom de **BVCP** disponible à cette [[https://bhyve.npulse.net/|adresse]]. Parmi les fonctionnalités, bhyve prend en charge les installations **UEFI** (**//Unified Extensible Firmware Interface//**),les interfaces émulées de **KVM**, **VirtIO**, pour la prise en charge des périphériques tels que les contrôleurs USB avec la spécification **xHCI** (**//eXtensible Host Controller Interface//**), les contrôleurs NVM Express (NVMe), les contrôleurs audio haute définition, le périphérique de mémoire tampon d'image brute connecté au serveur **VNC** (**sortie vidéo**) et le **relais AHCI / PCI**. |
| |
Sachez qu'il est tout à fait possible installer via les logiciels ''tiers'' l'hyperviveur d'Oracle**, VirtualBox. | Sachez qu'il est tout à fait possible installer via les logiciels ''tiers'' l'hyperviseur d'Oracle, VirtualBox. |
| |
<note>L'OS d'Apple, **macOS** à un portage de bhyve du nom de **xhyve**. Se port logiciel, est utilisé par l'hyperviseur de macOS appelé **HyperKit**, qui permet de faire fonctionner **Docker**, le logiciel de conteneurs le plus populaire. L'hyperviseur xhyve peut tout à fait être utilisé pour faire tourner de nombreux systèmes d'exploitation différents.</note> | <note>L'OS d'Apple, **macOS** à un portage de bhyve du nom de **xhyve**. Se port logiciel, est utilisé par l'hyperviseur de macOS appelé **HyperKit**, qui permet de faire fonctionner **Docker**, le logiciel de conteneurs le plus populaire. L'hyperviseur xhyve peut tout à fait être utilisé pour faire tourner de nombreux systèmes d'exploitation différents.</note> |
==== Quelques daemons (services) et logiciels installés par défaut sous FreeBSD ==== | ==== Quelques daemons (services) et logiciels installés par défaut sous FreeBSD ==== |
=== Exemple de daemons installés par Défaut === | === Exemple de daemons installés par Défaut === |
* **OpenSSH**, protocole **SSH** (**//Secure Shell//**) par défaut sur la plupart des **systèmes UNIX**. Créée à l'origine par et pour l'**OS** **OpenBSD**. | * **OpenSSH**, protocole **SSH** (**//Secure Shell//**) par défaut sur la plupart des systèmes UNIX. Créée à l'origine par et pour l'OS OpenBSD. |
* **FTP** (**//File Transfer Protocol//**), qui est un protocole qui a été créée avant même l'arrivée du **Web**. | * **FTP** (**//File Transfer Protocol//**), qui est un protocole qui a été créée avant même l'arrivée du Web. |
* **NFS** (**//Network File System//**), un système de **partage de fichiers**. | * **NFS** (**//Network File System//**), un système de partage de fichiers. |
* **inetd** qui est en quelque sorte un **serveur** de **serveur**. | * **inetd** qui est en quelque sorte un serveur de serveur. |
* **TFTP** (**//Trivial File Transfer Protocol//**) est un protocole simplifié de **transfert de fichiers**. | * **TFTP** (**//Trivial File Transfer Protocol//**) est un protocole simplifié de transfert de fichiers. |
* **LPD** (**//Line Printer Daemon Protocol//**) qui est un **serveur d'impression**. | * **LPD** (**//Line Printer Daemon Protocol//**) qui est un serveur d'impression. |
* **NTP** (**//Network Time Protocol//**) qui permet d'avoir un système à l'heure exacte via des **serveurs de temps**. | * **NTP** (**//Network Time Protocol//**) qui permet d'avoir un système à l'heure exacte via des serveurs de temps. |
* enfin tous les **daemons** essentiels aux systèmes **UNIX** modernes. | * enfin tous les **daemons** essentiels aux systèmes UNIX modernes. |
| |
=== Logiciels d'intérêt installés par Défaut === | === Logiciels d'intérêt installés par Défaut === |
* **Sendmail** comme ** serveur de messagerie électronique**. | * **Sendmail** comme serveur de messagerie électronique. |
* **Bhyve**, l'hyperviseur créé par **FreeBSD**. | * **Bhyve**, l'hyperviseur créé par FreeBSD. |
* Le compilateur **Clang** et ses bibliothèques **LLVM**. | * Le compilateur **Clang** et ses bibliothèques **LLVM**. |
* Tous les outils nécessaires pour gérer le **réseau**. | * Tous les outils nécessaires pour gérer le **réseau**. |
* **ZFS** et tous ses utilitaires qui est un **système de fichier** ultra complet. | * **ZFS** et tous ses utilitaires qui est un système de fichier ultra complet. |
* **Pkgng** et sa commande **pkg**, le **gestionnaire de paquets** binaire qui est très complet, créé par la **Fondation FreeBSD**. | * **Pkgng** et sa commande **pkg**, le gestionnaire de paquets binaire qui est très complet, créé par la **Fondation FreeBSD**. |
* **Jails** qui permet d'avoir autant de système **FreeBSD** ou **Linux** que l'on souhaite, spécifique à **FreeBSD**. | * **Jails** qui permet d'avoir autant de système FreeBSD ou Linux que l'on souhaite, spécifique à FreeBSD. |
* ... | * ... |
| |
<note>Par défaut, tous les daemons sous **FreeBSD** sont désactivés. Ils sont tous activables dans ''/etc/rc.conf''. Exemple, ajoutez ''inetd_enable="YES"'' à ''/etc/rc.conf''. **FreeBSD** est d'une conception très ''sécurisée'' par défaut, et le fait que tous les **daemons** intégrés au système soient désactivés par défaut, il n'y a aucun risque de ''sécurité'' à se qu'ils soient préinstallés.</note> | <note>Par défaut, tous les daemons sous FreeBSD sont désactivés. Ils sont tous activables dans ''/etc/rc.conf''. Exemple, ajoutez ''inetd_enable="YES"'' à ''/etc/rc.conf''. FreeBSD est d'une conception très ''sécurisée'' par défaut, et le fait que tous les daemons intégrés au système soient désactivés par défaut, il n'y a aucun risque de ''sécurité'' à se qu'ils soient préinstallés.</note> |
| |
==== Mise à jour ou à niveau de FreeBSD ==== | ==== Mise à jour ou à niveau de FreeBSD ==== |
L'outil en **ligne de commande** pour mettre à jour ou mettre à niveau **FreeBSD** se nomme **freebsd-update**. Il est extrêmement fiable pour qui connaît cet **OS** ! Les mises à jour ou à niveau sont à effectuer avec le compte **root** (**super-utilisateur**) ou **sudo** ou encore **doas**. | L'outil en ligne de commande pour mettre à jour ou mettre à niveau FreeBSD se nomme **freebsd-update**. Il est extrêmement fiable pour qui connaît cet OS ! Les mises à jour ou à niveau sont à effectuer avec le compte **root** (**super-utilisateur**) ou **sudo** ou encore **doas**. |
| |
Pour passer en mode **root** sous **FreeBSD** : | Pour passer en mode **root** sous FreeBSD : |
| |
<code>su -</code> | <code>su -</code> |
Il existe deux types de ''mise à niveau'', ''mineure'' et ''majeure''. | Il existe deux types de ''mise à niveau'', ''mineure'' et ''majeure''. |
| |
La mise à niveau ''mineure'' est par exemple de passer de **FreeBSD 14.1** à **14.2** et la mise à niveau ''majeure'' est par exemple de passer de **13.3** à **14.2**, pour faire une mise à niveau ''mineure'' : | La mise à niveau ''mineure'' est par exemple de passer de FreeBSD 14.1 à 14.2 et la mise à niveau ''majeure'' est par exemple de passer de 13.3 à 14.2, pour faire une mise à niveau ''mineure'' : |
| |
Pensez à vérifier que votre **système** est à ''jour'' | Pensez à vérifier que votre système est à ''jour'' |
| |
<code>freebsd-update fetch ; freebsd-update install</code> | <code>freebsd-update fetch ; freebsd-update install</code> |
puis : | puis : |
| |
<code>freebsd-update install</code> pour mettre à niveau le **noyau FreeBSD** | <code>freebsd-update install</code> pour mettre à niveau le **noyau** FreeBSD |
| |
Une fois terminé, vous redémarrez : | Une fois terminé, vous redémarrez : |
<code>shutdown -r now</code> | <code>shutdown -r now</code> |
| |
Une fois booter sur le nouveau **noyau** vous exécutez à nouveau : | Une fois booter sur le nouveau noyau vous exécutez à nouveau : |
| |
<code>freebsd-update install</code> ce qui va mettre le **système** au ''complet'' à niveau. | <code>freebsd-update install</code> ce qui va mettre le système au ''complet'' à niveau. |
| |
Cest fini !!! | Cest fini !!! |
| |
Pour faire une mise à niveau ''majeure'', le **processus** est exactement le même, sauf qu'il faut penser à mettre à jour les logiciels ''tiers'' (externes) avec **pkgng** comme ceci : | Pour faire une mise à niveau ''majeure'', le processus est exactement le même, sauf qu'il faut penser à mettre à jour les logiciels ''tiers'' (externes) avec **pkgng** comme ceci : |
| |
<code>pkg update</code> | <code>pkg update</code> |
<code>pkg upgrade</code> | <code>pkg upgrade</code> |
| |
<note>Contrairement à certaines **distributions Linux**, la **mise à niveau** sous **FreeBSD** est très fiable, elle réussie à coup sûr si vous avez de bonne connaissance sous **FreeBSD**. L'une des raisons pour laquelle une mise à niveau est en général plus fiable que sous **GNU/Linux** vient du fait que les logiciels fournis par défaut sous **FreeBSD**, sont séparés des logiciels tiers (externes) qui se trouvent dans leur propre répertoire, ''/usr/local'' (principe que l'on retrouve dans toutes les **distributions BSD** confondues).</note> | <note>Contrairement à certaines distributions Linux, la **mise à niveau** sous FreeBSD est très fiable, elle réussie à coup sûr si vous avez de bonne connaissance sous FreeBSD. L'une des raisons pour laquelle une mise à niveau est en général plus fiable que sous GNU/Linux vient du fait que les logiciels fournis par défaut sous FreeBSD, sont séparés des logiciels tiers (externes) qui se trouvent dans leur propre répertoire, ''/usr/local'' (principe que l'on retrouve dans toutes les distributions BSD confondues).</note> |
| |
| |
| |
===== Suppléments de documentation sur FreeBSD ===== | ===== Suppléments de documentation sur FreeBSD ===== |
Dans cette ''section'' vous trouverez des [[wiki:systemes_d_exploitation:bsd_unix:freebsd:tutos|tutoriels sur FreeBSD]] pour de plus amples informations sur la **distribution FreeBSD**. | Dans cette ''section'' vous trouverez des [[wiki:systemes_d_exploitation:bsd_unix:freebsd:tutos|tutoriels sur FreeBSD]] pour de plus amples informations sur la distribution FreeBSD. |
| |
<note>Pour davantage d'informations, il existe un **manuel** de ''référence'' en français sur **FreeBSD** sur son **site officiel**, à cette [[https://docs.freebsd.org/fr/books/handbook/|adresse]] et la version en anglais (plus ''à jour''), [[https://docs.freebsd.org/en/books/handbook/|ici]].</note> | <note>Pour davantage d'informations, il existe un **manuel** de ''référence'' en français sur FreeBSD sur son site officiel, à cette [[https://docs.freebsd.org/fr/books/handbook/|adresse]] et la version en anglais (plus ''à jour''), [[https://docs.freebsd.org/en/books/handbook/|ici]].</note> |