wiki:os:bsd_unix:freebsd

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
wiki:os:bsd_unix:freebsd [2025/04/01 14:32] – [FreeBSD, le système BSD le plus populaire et polyvalent] Thibault Seguinwiki:os:bsd_unix:freebsd [2025/04/03 09:26] (Version actuelle) – [FreeBSD un système d'exploitation complet] Thibault Seguin
Ligne 19: Ligne 19:
 FreeBSD est sans aucun doute la distribution BSD la plus utilisée et est également le BSD que l'on peut utiliser dans le plus de domaines différents et contrairement à se que l'on peut penser, FreeBSD n'est pas seulement un OS pour les **serveurs informatiques** mais peut très bien être utilisé pour se créer une **station de travail** professionnelle ou bien même pour la bureautique, multimédia mais FreeBSD étant un système d'exploitation ayant été prévu à l'origine plutôt pour les serveurs, il n'y a pas d' interface graphique installée par défaut donc il faut avoir un minimum de connaissance pour configurer son OS à son image après installation.  FreeBSD est sans aucun doute la distribution BSD la plus utilisée et est également le BSD que l'on peut utiliser dans le plus de domaines différents et contrairement à se que l'on peut penser, FreeBSD n'est pas seulement un OS pour les **serveurs informatiques** mais peut très bien être utilisé pour se créer une **station de travail** professionnelle ou bien même pour la bureautique, multimédia mais FreeBSD étant un système d'exploitation ayant été prévu à l'origine plutôt pour les serveurs, il n'y a pas d' interface graphique installée par défaut donc il faut avoir un minimum de connaissance pour configurer son OS à son image après installation. 
  
-À la différence de **GNU/Linux** les distributions BSD sont des OS complets, qui comporte à la fois leurs propres **utilitaires Unix** et un **noyau monolithique modulaire** (pour FreeBSD et [[wiki:os:bsd_unix:netbsd|NetBSD]]) et les **daemons** (**//services//** de base), comme FTP, NFS, SSH, NTP,...etc, en clair tous les composants d'un système BSD sont créés par la même entité, en l'occurrence les membres du développement de FreeBSD. De plus le nombre de logiciels disponibles dans les **dépôts** de FreeBSD sont relativement conséquents, la plupart des logiciels disponibles sous GNU/Linux le sont aussi sous FreeBSD, mis à part les programmes qui sont spécifiques à GNU/Linux.+À la différence de [[wiki:os:gnu_linux|GNU/Linux]] les [[wiki:os:bsd_unix:distributions_bsd_libres|distributions BSD]] sont des OS complets, qui comporte à la fois leurs propres **utilitaires Unix** et un **noyau monolithique modulaire** (pour FreeBSD et [[wiki:os:bsd_unix:netbsd|NetBSD]]) et les **daemons** (**//services//** de base), comme FTP, NFS, SSH, NTP,...etc, en clair tous les composants d'un système BSD sont créés par la même entité, en l'occurrence les membres du développement de FreeBSD. De plus le nombre de logiciels disponibles dans les **dépôts** de FreeBSD sont relativement conséquents, la plupart des logiciels disponibles sous GNU/Linux le sont aussi sous FreeBSD, mis à part les programmes qui sont spécifiques à GNU/Linux.
  
 <note>Si FreeBSD est actuellement le système d'exploitation de type BSD le plus utilisé et le plus populaire c'est en premier lieu parce que l'entreprise **Walnut Creek CDROM Inc** qui fournissait des **CDROMs** sur les logiciels libres (**open source**) à distribuée FreeBSD sur CD et DVD, là où **internet** était encore peu utilisé, ce qui a propulsé FreeBSD et lui a permit de se faire connaître. FreeBSD c'est également focalisé sur l'architecture processeur de type Intel i386, qui était l'architecture des **compatibles PC** (**//Ordinateur Personnel//** ou en anglais **//Personal Computer//**) qui était et sont les ordinateurs les plus populaires et utilisés auprès du grand publique.</note> <note>Si FreeBSD est actuellement le système d'exploitation de type BSD le plus utilisé et le plus populaire c'est en premier lieu parce que l'entreprise **Walnut Creek CDROM Inc** qui fournissait des **CDROMs** sur les logiciels libres (**open source**) à distribuée FreeBSD sur CD et DVD, là où **internet** était encore peu utilisé, ce qui a propulsé FreeBSD et lui a permit de se faire connaître. FreeBSD c'est également focalisé sur l'architecture processeur de type Intel i386, qui était l'architecture des **compatibles PC** (**//Ordinateur Personnel//** ou en anglais **//Personal Computer//**) qui était et sont les ordinateurs les plus populaires et utilisés auprès du grand publique.</note>
Ligne 34: Ligne 34:
 ===== Spécifications et caractéristiques de FreeBSD ===== ===== Spécifications et caractéristiques de FreeBSD =====
 ==== FreeBSD un système d'exploitation complet ==== ==== FreeBSD un système d'exploitation complet ====
-Tout d'abord, comme mentionné précédemment, tous les systèmes d'exploitation de type BSD, sont des OS complets, qui comportent les utilitaires Unix en ligne de commande, le noyau BSD spécifique à chaque distributions BSD, les daemons (services en français) et tout ce que nécessite un système d'exploitation complet après installation et pour une utilisation optimale et FreeBSD ne déroge pas à cette règle. FreeBSD utilise par défaut les shells Unix, **tcsh** pour un utilisateur ordinaire (non-privilégié) et **sh** (**ash**) pour le compte root (superutilisateur), il est à noter que FreeBSD dispose d'un compte du nom de **toor**, qui a les mêmes privilèges que root mais sur lequel on peut associer un shell Unix des **dépôts tiers** comme le populaire **bash**, en autres. FreeBSD dispose d'un noyau de type **monolithique modulaire**, c'est à dire qu'il est possible d'installer des modules (équivalent des pilotes sous **Windows**) externes qui ne sont pas intégrés au noyau par défaut, cela permet d'avoir un noyau  monolithique qui prend moins de place sur la mémoire de masse et qui donne la possibilité de prendre en charge du matériel informatique supplémentaire. Tout ce qui compose FreeBSD (utilitaires Unix, noyau FreeBSD, daemons de base, pilotes de périphériques et plus encore) sont développés en interne par les membres du projet FreeBSD spécialisés dans le développement de cet OS. Par contre, si vous souhaitez faire de FreeBSD votre poste de travail, il vous faut installer l'environnement de bureau de votre choix par vos propres moyens car FreeBSD n'installe pas d'interface graphique par défaut après installation et c'est un choix délibéré pour vous laissez le choix de créer votre système d'exploitation selon vos besoins (**serveur** ou **poste bureautique**) mais surtout pour une histoire de licence, car FreeBSD a fait le choix d'inclure un maximum de logiciels sous **licence BSD**, mais pour les plus pressés d'entre vous, sachez qu'il existe une distribution BSD basée sur FreeBSD du nom de [[wiki:os:bsd_unix:ghostbsd|GhostBSD]] qui vous permet au choix, d'installer l'environnement de bureau appelé MATE (fork de GNOME2) ou Xfce qui est non pas géré par le projet officiel de GhostBSD comme MATE mais par sa communauté. +Tout d'abord, comme mentionné précédemment, tous les systèmes d'exploitation de type BSD, sont des OS complets, qui comportent les utilitaires Unix en ligne de commande, le noyau BSD spécifique à chaque distributions BSD, les daemons (services en français) et tout ce que nécessite un système d'exploitation complet après installation et pour une utilisation optimale et FreeBSD ne déroge pas à cette règle. FreeBSD utilise par défaut les shells Unix, **tcsh** pour un utilisateur ordinaire (non-privilégié) et **sh** (**ash**) pour le compte root (superutilisateur), il est à noter que FreeBSD dispose d'un compte du nom de **toor**, qui a les mêmes privilèges que root mais sur lequel on peut associer un shell Unix des **dépôts tiers** comme le populaire **bash**, en autres. FreeBSD dispose d'un noyau de type **monolithique modulaire**, c'est à dire qu'il est possible d'installer des modules (équivalent des pilotes sous [[wiki:os:windows|Windows]]) externes qui ne sont pas intégrés au noyau par défaut, cela permet d'avoir un noyau  monolithique qui prend moins de place sur la mémoire de masse et qui donne la possibilité de prendre en charge du matériel informatique supplémentaire. Tout ce qui compose FreeBSD (utilitaires Unix, noyau FreeBSD, daemons de base, pilotes de périphériques et plus encore) sont développés en interne par les membres du projet FreeBSD spécialisés dans le développement de cet OS. Par contre, si vous souhaitez faire de FreeBSD votre poste de travail, il vous faut installer l'environnement de bureau de votre choix par vos propres moyens car FreeBSD n'installe pas d'interface graphique par défaut après installation et c'est un choix délibéré pour vous laissez le choix de créer votre système d'exploitation selon vos besoins (**serveur** ou **poste bureautique**) mais surtout pour une histoire de licence, car FreeBSD a fait le choix d'inclure un maximum de logiciels sous [[wiki:licences|licence]] BSD, mais pour les plus pressés d'entre vous, sachez qu'il existe une distribution BSD basée sur FreeBSD du nom de [[wiki:os:bsd_unix:ghostbsd|GhostBSD]] qui vous permet au choix, d'installer l'environnement de bureau appelé MATE (fork de GNOME2) ou Xfce qui est non pas géré par le projet officiel de GhostBSD comme MATE mais par sa communauté. 
  
 <note important>Si par mégarde pour avez installés FreeBSD avec la disposition clavier **QWERTY** et souhaitez passer votre clavier en **AZERTY**, exécutez cette commande : ''kbdcontrol -l fr.iso.acc'' (ceci n'est que temporaire), pour passer votre clavier en AZERTY de manière définitive il faut ajouter cette disposition au fichier ''/etc/rc.conf'' en ajoutant : ''keymap="fr.acc.kbd"'' à ''/etc/rc.conf''. La commande ''kbdcontrol'' fonctionne également si vous êtes en mode **single-user** pour dépanner un système ''cassé''.</note> <note important>Si par mégarde pour avez installés FreeBSD avec la disposition clavier **QWERTY** et souhaitez passer votre clavier en **AZERTY**, exécutez cette commande : ''kbdcontrol -l fr.iso.acc'' (ceci n'est que temporaire), pour passer votre clavier en AZERTY de manière définitive il faut ajouter cette disposition au fichier ''/etc/rc.conf'' en ajoutant : ''keymap="fr.acc.kbd"'' à ''/etc/rc.conf''. La commande ''kbdcontrol'' fonctionne également si vous êtes en mode **single-user** pour dépanner un système ''cassé''.</note>
Ligne 40: Ligne 40:
  
 ==== Le noyau FreeBSD ==== ==== Le noyau FreeBSD ====
-Le **noyau** (**kernel** en anglais) de FreeBSD est de type **monolithique modulaire** tout comme **Linux**. Pour gérer les modules du noyau, il y a ''trois'' commandes Unix qui sont : **kldload** pour charger les modules, **kldunload** pour les décharger et **kldstat** pour savoir quels modules du noyau sont chargés. Dans le **FHS** de FreeBSD les modules du noyau installés par défaut se trouvent dans ''/boot/kernel'' et la plupart des modules externes, dans ''/boot/modules''. Le noyau en lui même est le fichier ''/boot/kernel/kernel''+Le **noyau** (**kernel** en anglais) de FreeBSD est de type **monolithique modulaire** tout comme Linux. Pour gérer les modules du noyau, il y a ''trois'' commandes Unix qui sont : **kldload** pour charger les modules, **kldunload** pour les décharger et **kldstat** pour savoir quels modules du noyau sont chargés. Dans le **FHS** de FreeBSD les modules du noyau installés par défaut se trouvent dans ''/boot/kernel'' et la plupart des modules externes, dans ''/boot/modules''. Le noyau en lui même est le fichier ''/boot/kernel/kernel''
  
 FreeBSD intègre **KMS** (**//Kernel-based Mode-Setting//**) qui est un pilote graphique qui se charge de la gestion des modes d'affichage graphique. FreeBSD intègre **KMS** (**//Kernel-based Mode-Setting//**) qui est un pilote graphique qui se charge de la gestion des modes d'affichage graphique.
Ligne 52: Ligne 52:
  
 ==== Compilateur logiciel sous FreeBSD ==== ==== Compilateur logiciel sous FreeBSD ====
-FreeBSD est passé du compilateur **GCC** (**//GNU Compiler Collection//**) sous **licence GNU GPL** à droit d'auteur **copyleft**, au compilateur **Clang** et ces bibliothèques **LLVM** qui sont sous **licence libre permissive** et de se fait FreeBSD n'est plus contraint à la notion de copyleft. Désormais tous les logiciels par défaut de FreeBSD sont compilés avec l'association Clang/LLVM ainsi que les logiciels ''tiers'' dans le **catalogue des logiciels portés**. Le principal but de Clang/LLVM est d'être une alternative viable à GCC. Derrière les composants de se compilateur, se trouvent les entreprises : **Apple**, **Microsoft**, **Google**, **ARM**, **Sony**, **Intel**, **AMD** et **Mozilla** (en ce qui concerne les bibliothèques LLVM). Clang prend en charge les langages de programmation **C**, **C++**, **Objective-C** et **Objective-C++**. Les développeurs de Clang affirment qu'il utilise moins de mémoire vive et est plus rapide que le compilateur GCC. Clang est également le compilateur par défaut de **macOS**. À noter que le débogueur **DTrace** provenant de **Sun Microsystems** pour le projet et OS **OpenSolaris** fait parti intégrante de FreeBSD.+FreeBSD est passé du compilateur **GCC** (**//GNU Compiler Collection//**) sous **licence GNU GPL** à droit d'auteur **copyleft**, au compilateur **Clang** et ces bibliothèques **LLVM** qui sont sous **licence libre permissive** et de se fait FreeBSD n'est plus contraint à la notion de copyleft. Désormais tous les logiciels par défaut de FreeBSD sont compilés avec l'association Clang/LLVM ainsi que les logiciels ''tiers'' dans le **catalogue des logiciels portés**. Le principal but de Clang/LLVM est d'être une alternative viable à GCC. Derrière les composants de se compilateur, se trouvent les entreprises : **Apple**, **Microsoft**, **Google**, **ARM**, **Sony**, **Intel**, **AMD** et **Mozilla** (en ce qui concerne les bibliothèques LLVM). Clang prend en charge les langages de programmation **C**, **C++**, **Objective-C** et **Objective-C++**. Les développeurs de Clang affirment qu'il utilise moins de mémoire vive et est plus rapide que le compilateur GCC. Clang est également le compilateur par défaut de [[wiki:os:macos|macOS]]. À noter que le débogueur **DTrace** provenant de **Sun Microsystems** pour le projet et OS **OpenSolaris** fait parti intégrante de FreeBSD.
  
  
Ligne 84: Ligne 84:
 <note>Packet Filter (PF) est le pare-feu logiciel par défaut de **pfSense** ([[https://pfsense.org/|Site Officiel]]) de l'entreprise [[https://www.netgate.com/|Netgate]] et son fork nommé **OPNsense** ([[https://opnsense.org/|site officiel]]), tous deux des distributions BSD dédiées aux **pare-feu** issu de **m0n0wall** basés sur FreeBSD. Pour la partie matériels informatiques, vous pouvez trouver des **routeurs** et **pare-feu** [[https://shop.netgate.com/|ici]] pour pfSense et [[https://shop.opnsense.com/|sur se site]] pour OPNsense. Sachez qu'il est tout à fait possible de se faire son propre **pare-feu matériel** avec OPNsense, il vous suffit de disposer d'un ordinateur à base de processeur **Intel** ou **AMD** récent, disposant de l'architecture processeur **AMD64** appelée aussi Intel x86_64, il vous suffit de télécharger OPNsense [[https://opnsense.org/download/|ici]] et d'installer l'image sélectionnée sur votre ordinateur.</note>   <note>Packet Filter (PF) est le pare-feu logiciel par défaut de **pfSense** ([[https://pfsense.org/|Site Officiel]]) de l'entreprise [[https://www.netgate.com/|Netgate]] et son fork nommé **OPNsense** ([[https://opnsense.org/|site officiel]]), tous deux des distributions BSD dédiées aux **pare-feu** issu de **m0n0wall** basés sur FreeBSD. Pour la partie matériels informatiques, vous pouvez trouver des **routeurs** et **pare-feu** [[https://shop.netgate.com/|ici]] pour pfSense et [[https://shop.opnsense.com/|sur se site]] pour OPNsense. Sachez qu'il est tout à fait possible de se faire son propre **pare-feu matériel** avec OPNsense, il vous suffit de disposer d'un ordinateur à base de processeur **Intel** ou **AMD** récent, disposant de l'architecture processeur **AMD64** appelée aussi Intel x86_64, il vous suffit de télécharger OPNsense [[https://opnsense.org/download/|ici]] et d'installer l'image sélectionnée sur votre ordinateur.</note>  
  
-FreeBSD intègre également **OpenSSH**, une implémentation ''libre'' du protocole **SSH** (**//Secure Shell//**) qui est une suite d'utilitaires réseau, la commande Unix **ssh** (partie client) permet de se connectée à distance de manière ''sécurisée'' par le biais de la **cryptographie asymétrique** à un système Unix et désormais également à **Windows** sur un serveur OpenSSH (commande **sshd**). OpenSSH est un logiciel **client-serveur** pour le protocole SSH qui remplace en autres **Telnet** et **rlogin** et qui a été créé par le projet OpenBSD, la première version a été publiée 1er décembre 1995 et a été intégrée dans **FreeBSD 4.8-RELEASE**. OpenSSH est aujourd'hui utilisé par la plupart des systèmes d'exploitation, tels que les distributions **GNU/Linux**, toutes les distributions BSD (**macOS** d'**Apple** y compris), les systèmes UNIX ''commerciaux'' et les **distributions Illumos** ainsi que **Windows**, Windows 10 étant la première version à l'avoir intégré.+FreeBSD intègre également **OpenSSH**, une implémentation ''libre'' du protocole **SSH** (**//Secure Shell//**) qui est une suite d'utilitaires réseau, la commande Unix **ssh** (partie client) permet de se connectée à distance de manière ''sécurisée'' par le biais de la **cryptographie asymétrique** à un système Unix et désormais également à Windows sur un serveur OpenSSH (commande **sshd**). OpenSSH est un logiciel **client-serveur** pour le protocole SSH qui remplace en autres **Telnet** et **rlogin** et qui a été créé par le projet [[wiki:os:bsd_unix:openbsd|OpenBSD]], la première version a été publiée 1er décembre 1995 et a été intégrée dans **FreeBSD 4.8-RELEASE**. OpenSSH est aujourd'hui utilisé par la plupart des systèmes d'exploitation, tels que les distributions **GNU/Linux**, toutes les distributions BSD (**macOS** d'**Apple** y compris), les systèmes UNIX ''commerciaux'' et les **distributions Illumos** ainsi que **Windows**, Windows 10 étant la première version à l'avoir intégré.
  
 <note>Le protocole SSH d'OpenBSD, OpenSSH mérite une page complète tellement il est riche et complet !!! Pour rappel, OpenSSH, le logiciel exploitant le protocole SSH, est le plus utilisé parmi les OS Unix et il est y compris disponible sur Microsoft Windows, à partir de **Windows 10**.</note>   <note>Le protocole SSH d'OpenBSD, OpenSSH mérite une page complète tellement il est riche et complet !!! Pour rappel, OpenSSH, le logiciel exploitant le protocole SSH, est le plus utilisé parmi les OS Unix et il est y compris disponible sur Microsoft Windows, à partir de **Windows 10**.</note>  
Ligne 95: Ligne 95:
 ==== Virtualisation et conteneurisation par défaut sous FreeBSD ==== ==== Virtualisation et conteneurisation par défaut sous FreeBSD ====
 === Hyperviseur Bhyve développé par FreeBSD === === Hyperviseur Bhyve développé par FreeBSD ===
-**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 [[wiki:virtualisation_et_emulation:virtualbox|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'hyperviseur d'Oracle, VirtualBox. Sachez qu'il est tout à fait possible installer via les logiciels ''tiers'' l'hyperviseur d'Oracle, VirtualBox.
  • wiki/os/bsd_unix/freebsd.1743517960.txt.gz
  • Dernière modification : 2025/04/01 14:32
  • de Thibault Seguin