Logo de NetBSD :
NetBSD est un système d'exploitation de type BSD Unix étant basé à l'origine sur 386BSD 0.1 et 4.3BSD Net/2, désormais basé sur 4.4BSD Lite Release 2. Si le projet NetBSD a été crée, c'était à la base parce que Lynne et William Jolitz, les fondateurs de 386BSD n'était pas enclin à intégrer des patchkits (correctifs) proposés par des développeurs externes de 386BSD, ce qui a motivé Chris Demetriou, Theo de Raadt (créateur
d'OpenBSD), Adam Glass et Charles Hannum à créer NetBSD, FreeBSD a été créée pour les mêmes raisons mais pour des objectifs
différents.
Les premières versions de NetBSD basée sur 386BSD 0.1 et 4.3BSD Net/2, sont NetBSD 0.8, publiée le 20 avril 1993 et NetBSD 0.9 publiée le 23 août 1993. À partir de NetBSD 1.0, NetBSD fût basé sur 4.4BSD Lite, puis NetBSD 1.3 c'est basé sur 4.4BSD Lite Release 2, la dernière version BSD du CSRG à l' université de Berkeley. L' intégration
complète de 4.4BSD Lite Release 2 a été finalisée avec la version NetBSD 1.4.
Dès le départ NetBSD était prévu pour fonctionner sur un maximum de machines différentes
, déjà, à partir de NetBSD 1.0 le système fonctionnait sur l' ordinateur Amiga, jusqu'à l' Amiga 4000 et l' ordinateur macintosh pour l' architecture processeur du Motorola M68k, sur le processeur Intel 80386, l' ordinateur Sun4c à architecture SPARC V7 de l' entreprise
Sun Microsystems, l' ordinateur HP 300 de Hewlett-Packard, l' ordinateur PC532 avec processeur NS32532 de l' entreprise
National Semiconductor.
La dernière version de NetBSD est NetBSD 10.1 publiée le 16 décembre 2024 sous licence BSD à 2 clauses
, elle inclut énormément de nouveautées
.
Libres
le moins mis en avant parmis les 3
principales distributions BSD et c'est fort dommage
car NetBSD a énormément de fonctionnalités
par défaut, comme un noyau de type monolithique modulaire et une compatibilité
binaire avec Linux en autres, chose que n'a pas OpenBSD. À cause du manque de visibilité
de NetBSD, il n'y a malheureusement pas beaucoup de logiciels tiers à installer mais mis à part ça, c'est un OS idéal pour faire revivre de vieilles stations UNIX et il est également très stable
, robuste
, sécurisé
pour les machines récentes. NetBSD n'est pas moins performant
que les autres BSD et est autant adapté pour les ordinateurs récents
!!!
Le site officiel (en anglais) :
porté
sur GNU/Linux, Solaris (et illumos), macOS. Je vous suggère de consulter le Projet pkgsrc-wip.
Comme tous les BSD Libres, NetBSD est un OS complet, développé
par la même entité
, la Fondation NetBSD, il est composé de tous les composants propre à un système UNIX, comme un noyau de type monolithique modulaire, système d'initialisation de type init (rc.d), de plusieurs shell Unix (par défaut sh, ksh et csh), des systèmes de fichiers (UFS et ZFS à l'installation par défaut), tous les utilitaires Unix de base et plus, des bibliothèques logicielles, des daemons (services) comme SSH ou NFS, des protocoles réseau, des journaux de log, un hyperviseur appelé NVMM (NetBSD Virtual Machine Monitor) piloté avec l'émulateur QEMU, d'un gestionnaire de paquets, du compilateur GCC de GNU et sous NetBSD, vous avez également la possibilité d'installer par défaut un serveur X (serveur d'afficahge) en l'occurence X.Org associé au gestionnaire de fenêtre du nom de CTWM (Claude's Tab Window Manager) qui est une améliotation du gestionnaire de fenêtre nommé twm (Tab Window Manager) qui était le gestionnaire de fenêtre par défaut sous les principaux BSD, dont NetBSD.
/usr/pkg/bin
ce qui n'est pas un problème pour une utilisation courante mais le devient si vous devez dépanner votre NetBSD et dans se cas vous devez booter (démarrer) en mode
single user (mono-utilisateur et en l'occurence avec le compte root) mais dans se mode
vous n'avez seulement accès au système de base et pas aux shells contenus dans /usr/pkg/bin
, d'ailleurs vous n'avez même plus aucun accès au répertoire /usr/pkg
dans sa totalité, se qui en résulte, c'est que si vous associez directement bash au compte root et bien vous n'avez accès à plus aucun shell Unix vu que bash se trouve dans /usr/pkg/bin
. Pour vous connecter au compte toor depuis une session
multi-utilisateur, il suffit de se conncecter en root en tapant cette commande : su -
puis cette commande su - toor
.
NetBSD est composé de plusieurs parties de l'OS que l'on appelle des sets dans le jargon
BSD. Les sets indispensables au fonctionnement de NetBSD, sont : le set base (qui contient tous les utilitaires Unix de base), etc (qui contient tous les fichiers de configuration dans etc
.), et kern-GENERIC (qui contient le noyau de base de NetBSD) puis les sets fortement recommandés : le set comp, debug, games (pas essentiel), gpufw (pas essentiel), man, misc, modules (modules ajoute des fonctionnalités
au noyau), rescue (qui comporte tous les utilitaires Unix standard et d'administration de base
de manière statique
, très utile pour réparer
une installation NetBSD cassée) et text. Tous ses sets sont suffisants pour avoir un NetBSD complètement fonctionnel mais si vous souhaitez faire de NetBSD un poste de travail, il faut ajouter ses sets : xbase (qui contient des utilitaires graphiques de base, tel que : xcalc, xclock, xkill,…), xcomp, xdebug, xfont, xetc (qui contient les fichiers de configutations dans /etc
liés à X) et xserver (contient le serveur X en lui même, qui est X.Org).
Le noyau de NetBSD est un noyau monolithique modulaire, modulaire dans le sens où il permet d'activer ou installer des fonctionnalités
via des modules, qui ne sont pas activées par défaut sous le noyau NetBSD. Le noyau NetBSD prend en charge SMP (Symmetric Multiprocessing, multiprocesseur symétrique en français) qui n'a cessé d'être amélioré au fil de l' évolution
de NetBSD, qui consiste à multiplier
les processeurs identiques au sein d'un ordinateur, de manière à augmenter la puissance de calcul, tout en conservant une unique mémoire.
Pour la gestion de modules du noyau, on peut citer les utilitaires en console suivants :
La grande force de NetBSD réside dans sa grande portabilité
, NetBSD est disponible pour un nombre très impressionnant d'architecture processeur comme les familles: x86, ia-64, m68k, arm, riscv, powerpc, sparc, mips, alpha, hppa, vax et sh3, on décompte pas moins de 12
architectures processeurs différentes et environ 60
plates-formes matérielles, ce qui est énorme pour un seul et même OS.
Les ports (architecture processeur sous NetBSD) ont trois niveaux
de compatibilité
, ses trois niveaux
sont :
Niveau I
:64 bits
pour les appareils informatiques récents, tel que les nano-ordinateurs actuels, genre Raspberry Pi, Orange Pi, BeagleBone ou les smartphones/tablettes.64 bits
et AMD 64 bits
.32 bits
tel que les processeurs des nano-ordinateurs tel que le Raspberry Pi par exemple.32 bits
, plus précisément Intel StrongARM et XScale pour le PDA. (Personal Digital Assistant, assistant personnel en français), comme le Jornada de Hewlett-Packard.32 bits
.64 bits
des stations de travail et serveurs basé sur Sun UltraSPARC.Niveau II
:32 bits
des RiscPC, A7000 de l' entreprise
Acorn.64 bits
.Niveau III
:produits
et devenus obsolètes
tel que l'ordinateur PDP-11 de DEC. C'est très souvent du matériel informatique que NetBSD ne peut pas se procurer.
Les ports de Niveau I
: sont les ports prioritaires
sous NetBSD qui bénéficient du meilleur support
. Dans ses ports se trouvent les appareils informatiques les plus récents
et utilisés
.
Les ports de Niveau II
: sont les ports qui sont jugés comme secondaires
et qui bénéficient d'un support
moins important, car les appareils informatiques de ses ports ne sont plus en utilisés et produits pour la production
et qui sont également peu utilisés pour un usage personnel.
porté
sur autant de processeurs différents mais contrairement à NetBSD, il n'y a aucune distribution Linux qui supporte à elle seule autant de processeurs et d'ordinateurs que NetBSD ! Il est important de mentionner
que la puce (SoC) Apple M1, c'est à dire que la première génération
d'ordinateurs d'Apple sous processeur ARM 64 bits
sont théoriquement compatible avec NetBSD.
signification
que sous FreeBSD. Sous NetBSD, les ports signifient les machines (avec processeurs différents) sur lesquels fonctionnent NetBSD alors que sous FreeBSD les ports signifient les applications portées
sur cet OS.
totalité
du système NetBSD (espace utilisateur et noyau NetBSD compris, enfin tout) à partir de n'importe quel Unix ou de Type Unix via le framework et script shell nommé build.sh qui permet en plus la compilation croisée, c'est à dire que l'on peut par exemple compiler entièrement un système NetBSD prévu pour un processeurs de type ARM 64 bits
sur un ordinateur sous un système GNU/Linux doté d'un processeur Intel ou AMD 64 bits
(architecture
amd64). build.sh est un petite révolution
!!!
L'installateur de NetBSD se nomme sysinst c'est un installateur qui a une interface de type Curses et qui est relativement complet (il peut paramétrer très finement
l'installation de NetBSD) mais un peu complexe pour les non-initiés, qui permet tout type d'installation, pour les serveurs informatiques ou les postes de travail. Un cours résumé pour installer NetBSD :
Tabulation
(↹), la combinaisons de touche Ctrl+N
(N
= Next
) pour aller sur l'occurence suivante
et Ctrl+P
(P
= Previous
) pour l'occurence précédente
et la touche Entrer
(↵) pour valider
un choix ou une opération.Oui
en appuyant sur Entrer
, ensuite on vous propose de selectionner le périphéque de stockage (si vous en avez plusieurs) nommé wd0
, wd1
,…, vous pouvez confirmer la géométrie du disque et choisir d'utiliser le disque entier
ou partitionner
votre média de stockage. Si vous choisissez d'installer NetBSD sur le disque entier
vous pouvez directement passer à la partie 5
. partitionner
votre média de stockage, vous pouvez partitionner
seulement deux slices (partitions étendues sous BSD) sur la partition principale pour le bon fonctionnement de NetBSD, le slice pour la partition racine /
nommé a
et le slice pour la partition d'échange (swap, qui est utile quand la mémoire vive est saturée) nommé b
, le slice c
représente toujours la partition dans son intégralité et d
le disque entier
(c
et d
sont indentiques si il n'y a pas de partition de type MBR). Pour le swap je vous conseille de créer un slice de 1,5 fois
la taille de la mémoire vive (RAM) et le reste pour votre partition racine. Pour des installations plus spécifique référez vous aux tutos.installation complète
, une installation sans X11
, une installation minimale
ou une installation personnalisée
. A vous de voir selon vos besoins
informatiques.local
qui a tous les sets de NetBSD. Une fois le média chosi, l'extraction des sets commencent.configurations
du système installé. Vous pouvez configurer votre réseau, le fuseau horaire (timezone), le shell Unix du compte
root, modifier le mot de passe de root, activer l'installation des paquets binaires via pkgin, installer les paquets sources de pkgsrc, activer le serveur SSH, activer le serveur NTP, lancer ntpdate au démarrage de NetBSD, activer mdnsd, activer le gestionnaire de session xdm, activer cgd pour crypter les partitions, le gestionnaire de volumes logiques LVM, activer raidframe pour les fonctionnalités
de RAID logiciel, et enfin ajouter un utilisateur standard (indispensable pour un système UNIX récent) en plus du compte
root. Une fois votre configuration
terminée, choisissez Configuration terminée
et redémarrer
votre NetBSD fraichement installé. Et voilà c'est terminé !
Le système d'initialisation de NetBSD est de type rc.d plus précisément rc.d-ng qui n'a été inégré qu'à partir de NetBSD 1.5 sortie le 6 décembre 2000 (utilisé également par les autres BSD Libres) qui est en autres composé de init, rc et des script shell des daemons dans /etc/rc.conf
ou /etc/rc.d
. Pour résumé, le système d'initialisation se déroule ainsi :
/etc/rc
./etc/rc
démarre les daemons dans /etc/rc.conf
ou /etc/rc.d/
. /etc/rc
peut égalemant faire appel à /etc/rc.local
qui contient des daemons locaux qui ne sont pas compatibles avec le script shell /etc/rc.conf
.virtuelles
) listées dans /etc/ttys
. /etc/rc
mais à lépoque il n'y avait beaucoup moins de daemons incluent par défaut au sein des BSD mais tout de même, le script /etc/rc
etait bien chargé.
NetBSD inclut évidement comme système de fichiers spécifique au BSD, UFS (Unix File System) plus précisément UFS2 mais aussi ZFS (beaucoup plus avancé) provenant d'OpenSolaris (une version open source de l'UNIX Solaris) qui a été incorporé par défaut à NetBSD en 2009 et le protocole de stockage iSCSI (Internet Small Computer Systems Interface). NetBSD a égalament CHFS comme système de fichiers pour mémoire de stockage de type Flash, idéal pour SSD, carte SD, clé USB,…etc
UFS et ZFS sont les systèmes de fichiers proposés à l'installation de NetBSD mais NetBSD reconnait un grand nombre de systèmes de fichiers comme, ext, ext2, ext3 et ext4 en ce qui concerne Linux, 9p de Plan 9, v7fs de Unix version 7, tous les systèmes de fichiers FAT (FAT32 le plus utilisé) et NTFS de Windows, ISO9660 pour CD/DVD, UDF (Universal Disk Format), HFS d'Apple,…etc. NetBSD gère aussi par défaut UnionFS (Union File System) qui permet de fusionner
plusieurs points de montage mais également le système de fichiers NFS (Network File System) qui est un système de fichiers réseau créée par la défunte entreprise
Sun Microsystems.
NetBSD a sa propre version de FUSE (Filesystem in Userspace) nommé puffs (Pass-to-Userspace Framework File System) qui utilise la bibliothèque nommée refuse qui est une réimplémentation de libfuse. puffs tout comme FUSE monte un système de fichiers en espace utilisateur. FUSE est un gestionnaire de système de fichiers en espace utilisateur qui permet très souvent de prendre en charge des systèmes de fichiers qui ne le sont pas par défaut.
Le pilote de pseudo-périphérique nommé bio, qui a comme commande shell bioctl qui permet de gérer pleinement la technologie RAID (Redundant Array of Inexpensive Disks) qui est intégré à NetBSD depuis 2007 et le pilote CCD qui permet à l'utilisateur de concaténer
plusieurs disques physiques en un seul pseudo-volume.
NetBSD à comme gestionnaire de volumes logiques issue de Linux, LVM (Logical Volume Management), qui est une réimplémentation
spécifique à NetBSD.
Le système NetBSD a pour outil de base en console, wscons qui est un logiciel de type cadriciel (framework) qui gère l' interaction
entre le système et les périphériques d' entrée/sortie
tel que les claviers, souris, écrans, il a comme fichier de configuration /etc/wscons.conf
. wscons est en autres le pilote de console sous NetBSD (également sous OpenBSD), il permet la création et la gestion des consoles virtuelles (getty), la configuration du clavier tel que sa disposition ou layout (AZERTY,QWERTY,…), la gestion de la souris, la configuration de l'écran et le support des types de terminaux tel que VT100, VT220,…
NetBSD à une pile TCP/IP, très stable
, robuste
qui c'est basé originellement sur 4.3BSD Net2, pour finir par intégrer
la pile TCP/IP de 4.4BSD Lite Release 2 qui a été constamment améliorée par le projet NetBSD. NetBSD prend évidement en charge le protocole de communication de type Ethernet mais également le Wifi, la pile TCP/IP prend en charge IPv4 et IPv6.
modèles
de Raspberry Pi (puce Broadcom). Et ça c'est un grand atout
pour tous les projets possibles avec un Raspberry Pi !!!
Tout d'abord NetBSD à de base un code source d'une extrême qualitée
, l'une des nombreuses raisons vient du fait que NetBSD est extrêmement portable, les processus s'exécutent avec les privilèges les plus restreints
possibles, réduisant ainsi la surface d'attaque, il y a des mises à jour régulière
et une communauté très active.
Parmi les mécanismes de sécurité, NetBSD intègre :
fonctionnalités
de réduction des vulnérabilités de type ASLR (Address Space Layout Randomization), KASLR, restricted mprotect et Segvguard tous venant du projet PaX.connecter
au processus d'autorisation.
NetBSD utilise deux
méthodes d'installation de paquets, soit sous forme de compilation avec pkgsrc ou sous forme binaire avec l'utilitaire en ligne de commande du nom de pkgin. Tous les logiciels tiers, installés par pkgsrc ou pkgin se retrouvent dans le répertoire /usr/pkg
.
automatisée
par compilation avec de simple Makefiles (fichiers d'instructions de compilation) et l'utilitaire Unix des plus célèbres, make. Vous pouvez installer pkgsrc à la fin de l'installation de NetBSD à condition d'être connecté à Internet.binaire
, paquets disponibles dans les dépôts NetBSD de pkgsrc. pkgin est un gestionnaire de paquets qui a pris comme base le système APT de Debian et est très similaire
à se dernier. Vous pouvez également installer pkgin à la fin de l'installation de NetBSD, également à condition d'être connecté à Internet.Pour installer des logiciels sous NetBSD référez vous à se tuto.
L'OS NetBSD est pouvu d'une compatibilité binaire avec Linux en implémentant l'ABI (Application Binary Interface) de Linux ce qui permet d'exécuter des applications prévues pour Linux de façon quasi natives
. La compatibilité binaire avec Linux est activé par défaut dans le noyau GENERIC de NetBSD sous le nom de COMPAT_LINUX, elle est aussi bien compatible
avec les logiciels 32 bits
et 64 bits
. Il y a peu, depuis NetBSD 10.0 sortie le 28 mars 2024, il y a aussi une compatibilité binaire avec Linux pour les processeurs ARM 64 bits
. Par défaut, en passant par les sources via pkgsrc ou par les binaires via pkgin, donc les logiciels tiers, NetBSD installe une distribtion OpenSUSE, le FHS (Filesystem Hierarchy Standard) est installé dans /emul/linux
qui est un lien symbolique qui pointe vers /usr/pkg/emul/linux
, c'est à dire toute l'arborescence de Linux, les répertoires, les fichiers,… Vous avez également la possibilité d'installer la distribution Linux de votre choix, par exemple pour Debian GNU/Linux utilisez l'outils en ligne de commande du nom de debootstrap pour faciliter le téléchargement
de la distro.
Vous avez également la possiblité d'installer et d'utiliser des binaires prévus pour Windows via les logiciels tiers du nom de Wine, disponible sur la plupart des OS de Type Unix. Là encore, ce n'est pas une émulation à proprement parler mais une implémentation de l'ABI de Windows. Cela peut-être pratique pour des logiciels uniquement disponible sous Windows, en particulier les jeux et les logiciels de grand éditeur tel que Photoshop d'Adobe. Mais en ce qui concerne les logiciels hors jeux vous avez souvent des alternatives mais je comprends que certaines personnes ayant passées du temps à apprendre à utiliser un logiciel n'est pas forcément l'envie ni le courage de passer à un autre logiciel et d'être obligé de tout réapprendre.
Depuis peu, NetBSD à son propre hyperviseur maison, intégré au noyau du nom de NVMM (NetBSD Virtual Machine Monitor) qui utiliste la bibliothèque nommée libnvmm et qui est exécutable via l'émulateur QEMU, pour le moment, il ne supporte que les processeurs Intel ou AMD de type x86. Il y a un utilitaire en console qui permet aussi de gérer NVMM du nom de nvmmctl, nvmmctl permet de controler les VM (machines virtuelles).
Avec QEMU, NetBSD peut aussi utiliser l'hyperviseur Intel HAXM.
L'hyperviseur Xen est intégré à NetBSD depuis la version NetBSD 3.0, il est pleinement fonctionnel, il gère les Dom0 et les DomU.
Tous les protocoles réseaux applicatifs
comprennent à la fois le client et le serveur.
sécurisée
en utilisant la cryptographie asymétrique.distance
.simplifié
de transfert de fichiers.non sécurisé
, les mots de passe transitent en clair
. Mais Telnet peut toujours être pratique pour faire des tests de connexion
à un ordinateurs distant.appréhender
que Sendmail. /etc/inetd.conf
.intégrés
à NetBSD sont désactivés
par défaut, pour activer les serveurs sous NetBSD, il faut les renseigner dans /etc/rc.conf
. Exemple pour activer le daemon et serveur OpenSSH : echo sshd=YES » /etc/rc.conf
.
Pour mettre à jour ou à mettre à niveau vous pouvez utilisez l' installateur de NetBSD nommé sysinst ou utilisez un logiciel tiers du nom de sysupgrade, que vous pouvez soit installer via pkgsrc ou pkgin.
installer
NetBSD ou de le mettre à jour
(à niveau
), chosissez mettre à jour
puis suivez les instructions
. L'avantage de sysinst est qu'il permet de mettre à niveau
NetBSD sans connexion à Internet (il tout de même préférable d'être connecté à Internet).mettre à niveau
un système NetBSD en cours d'exécution, connecté à Internet. Dans l'exemple nous mettrons à niveau
NetBSD 9.3 vers NetBSD 10.0 sur un ordinateur doté d'un processeurs Intel ou AMD 64 bits
(architecture la plus courante sur PC), voici la marche à suivre (toutes les commandes sont à exécuter en tant qu' utilisateur
root, l'invite de commande doit être précédée du signe #
.), tapez les commandes en root : sysupgrade auto https://cdn.NetBSD.org/pub/NetBSD/NetBSD-10.0/amd64
sysupgrade fetch https://cdn.NetBSD.org/pub/NetBSD/NetBSD-10.0/amd64
sysupgrade kernel
sysupgrade modules
reboot
sysupgrade sets
sysupgrade etcupdate
sysupgrade postinstall
sysupgrade clean
reboot
man sysupgrade
(évidement il faut que le paquet sysupgrade soit installer sur votre système NetBSD).
Pour une documentation complète référez vous aux tutoriels sur NetBSD.