wiki:systemes_d_exploitation:bsd_unix:netbsd

NetBSD, le système d'exploitation le plus Portable

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.

NetBSD est l'OS BSD 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) :

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.

Il est important de mentionner que NetBSD, comme la plupart des BSD a un compte qui a exactement les mêmes privilèges et le même ID (identifiant de compte) que le superutilisateur nommé root du nom de toor. toor permet en autres d'avoir un autre shell Unix pour le compte root comme le célèbre bash par exemple via les logiciels tiers donc bash s'installe dans le répertoire /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 :

  • modstat permet d'avoir la liste des modules chargés dans le noyau NetBSD.
  • modload permet de charger un module et ses modules dépendants.
  • modunload permet au contraire de décharger un module et ses modules dépendants.

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 :

  • Les ports de Niveau I :
    • aarch64 pour les processeurs ARM 64 bits pour les appareils informatiques récents, tel que les nano-ordinateurs actuels, genre Raspberry Pi, Orange Pi, BeagleBone ou les smartphones/tablettes.
    • x86_64 pour les processeurs de la famille x86 tel que Intel 64 bits et AMD 64 bits.
    • evbarm pour les processeurs ARM 32 bits tel que les processeurs des nano-ordinateurs tel que le Raspberry Pi par exemple.
    • evbmips pour les processeurs MIPS qui fonctionnent sur certains nano-ordinateurs.
    • evbppc pour les processeurs PowerPC comme la Nintendo Wii.
    • hpcarm pour les processeurs ARM 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.
    • i386 pour les anciens processeurs de type x86, Intel et AMD 32 bits.
    • sparc64 pour les processeurs SPARC 64 bits des stations de travail et serveurs basé sur Sun UltraSPARC.
    • Et xen pour les VM (machines virtuelles) de l'hyperviseur Xen.
  • Les ports de Niveau II :
    • acorn32 pour les processeurs ARM 32 bits des RiscPC, A7000 de l' entreprise Acorn.
    • alpha pour les processeurs DEC Alpha de DEC (Digital Equipment Corporation).
    • amiga pour les processeurs M68k des ordinateurs Amiga de Commodore.
    • amigappc pour les processeurs PowerPC des ordinateurs Amiga.
    • atari pour les processeurs M68k des ordinateurs Atari TT030, Falcon et Hades
    • hpcmips pour les processeurs MIPS des PDA à l'origine sous Windows CE.
    • dreamcast pour les processeurs SuperH (SH-3) de Hitachi pour la console de jeux Dreamcast de Sega.
    • ia64 pour les processeurs Intel Itanium 64 bits.
    • riscv pour les processeurs RISC-V utilisés par certains nano-ordinateurs.
    • vax pour les ordinateurs VAX de DEC.
    • et bien d'autres…
  • Les ports de Niveau III :
    • Se sont des ports d'ordinateurs ou de processeurs qui ne sont plus 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.

GNU/Linux est le seul OS qui est 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.
Les ports sous NetBSD, n'ont pas la même 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.
Sachez qu'il est tout à fait possible de compiler la 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 :

  1. Les touches et combinaisons de touche du clavier à utiliser pour naviguer sont : la touche 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.
  2. Le premier menu propose la selection de la langue à utiliser puis la disposition du clavier.
  3. Installer NetBSD sur le média de stockage de votre choix et valider par 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.
  4. Pour 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.
  5. Chosissez d'utiliser le BIOS de la console, vous avez la possiblité de faire une installation complète, une installation sans X11, une installation minimale ou une installation personnalisée. A vous de voir selon vos besoins informatiques.
  6. Ensuite ont vous demande à partir de quel support d'installation, vous installez NetBSD. Vous avez au choix, l'installation par CD/DVD/Clé USB, par HTTP, FTP, par disquette (floppy en anglais), par le biais d'un répertoire local qui a tous les sets de NetBSD. Une fois le média chosi, l'extraction des sets commencent.
  7. Il vous est désormais possible de faire les denières 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 :

  • Le BIOS (Basic Input Output System) ou UEFI (Unified Extensible Firmware Interface) démarre le noyau NetBSD qui initialise tous les périphériques au démarrage et invoque le premier processus du nom de init, puis init exécute le script shell /etc/rc.
  • Le script /etc/rc démarre les daemons dans /etc/rc.conf ou /etc/rc.d/.
  • Le script /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.
  • Aprrès toute cette précédure, init invoque les processus getty qui initialisent les consoles (terminaux virtuelles) listées dans /etc/ttys.
À l'époque de 4.3BSD ou 4.4BSD, les daemons des système BSD était tous intégré directement dans le fichier /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.

NetBSD est le seul BSD Libres à prendre en charge les puces Wi-Fi des différents 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 :

  • Veriexec (Verified Executables) qui permet la signature des fichiers binaires, si un exécutable ne correspond pas à son empreintes digitales, il n'est pas exécuter.
  • Le pilote de périphérique cryptographique du nom de CGD qui permet de crypter tout type de périphérique de stockage (y compris les CD/DVD).
  • Des 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.
  • Le framework (cadriciel) Kernel Authorization (Kauth), qui est un sous-système pour les demandes d'autorisation à l'intérieur du noyau, il permet en autres aux modules externes du noyau de se connecter au processus d'autorisation.
  • Les extensions du compilateur GCC du nom de Stack Smashing Protection aussi connu sous le nom de ProPolice qui est un protection contre les dépassements de tampon.
  • D'un contrôle d'accès au niveau des fichiers et des ressources système.
  • Des systèmes de détection d'intrusion tel que Snort.
  • La ségrégation des privilèges qui permet aux processus de s'exécuter avec des privilèges bien spécifique.
  • La bibliothèque du nom de PAM (Pluggable Authentication Modules).
  • NetBSD à son propre pare-feu du non de NPF (NetBSD Packet Filter) qui est un fork de PF (PacketFilter) du système BSD nommé OpenBSD.

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.

  • pkgsrc est un système de compilation qui permet d'installer un logiciel et toutes ses dépendances de manière 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.
  • pkgin est un gestionnaire de paquets 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.

La collection de logiciels de pkgsrc n'est pas seulement disponible sur NetBSD, vous pouvez installer pkgsrc sous Linux, macOS, FreeBSD, OpenBSD, Solaris et illumos, MINIX, HP-UX de HP, AIX d'IBM,…

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.

  • SSH (Secure Shell), précisément OpenSSH sous NetBSD est un protocole qui permet en autres de se connecter à un ordinateur distant ayant un serveur SSH en ligne de commande, comme l'ancien Telnet ou Rlogin mais de manière sécurisée en utilisant la cryptographie asymétrique.
  • HTTP (Hypertext Transfer Protocol), NetBSD dispose d'un serveur Web par défaut du nom de bozotic HTTP server (bozohttpd).
  • FTP (File Transfer Protocol), en autres, protocole de transfert de fichiers à distance.
  • TFTP (Trivial File Transfer Protocol) est un protocole simplifié de transfert de fichiers.
  • Telnet qui permet en autres, tout comme SSH, de se connecter à un ordinateur distant mais de manière 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.
  • Rlogin permet de se connecter en ligne de commande à une vielle station UNIX qui ne bénéfie pas d'un serveur SSH.
  • Postfix est un serveur de messagerie électronique, plus facile à appréhender que Sendmail.
  • Inetd est en quelque sorte un serveur de serveur qui lance les daemons des serveurs qui ne sont pas utilisés à grande échelle. Le fichier de configuration de inetd est /etc/inetd.conf.
  • et beaucoup d'autre protocoles.
Il est important de savoir que tous les serveurs 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.

  • sysinst : il vous faut un média d'installation de type CD/DVD ou Clé USB par exemple puis au moment du démarrage de l'installateur il vous est proposé soit d' installer NetBSD ou de le mettre à journiveau), 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).
  • sysupgrade : après avoir installer sysupgrade via pkgsrc ou pkgin, qui permet de 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
Pour une documentation plus poussée sur sysupgrade, veuillez consulter le manuel (page de man) avec la commande : 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.

  • wiki/systemes_d_exploitation/bsd_unix/netbsd.txt
  • Dernière modification : 2025/01/15 22:58
  • de Thibault Seguin