NetBSD 6.0, BSD UNIX 35 ans plus tard

Magazine
Marque
GNU/Linux Magazine
Numéro
155
Mois de parution
décembre 2012
Spécialité(s)


Résumé
Le 17 octobre 2012, la nouvelle version majeure du système d'exploitation NetBSD voyait le jour après deux versions BETA et deux Release Candidates. Ainsi, 35 ans après les premières contributions de la CSRG [0] (1BSD, en 1977), le plus ancien héritier des UNIX issus de l'université de Berkeley débarque en version 6.0. Bien que NetBSD jouisse d'une excellente stabilité et d'un design enviable, force est de constater que sa popularité est inversement proportionnelle à sa qualité. Cette release, bien que n'apportant pas de révolution, est un excellent cru, l'équipe releng [1], et en particulier Jeff Rizzo ont réalisé un travail exceptionnel de suivi pour faire de NetBSD 6 un réel succès... dans les temps !

Body

1. More music, less talk

L'un des pilotes que tout le monde attendait fait partie du wagon des nouveautés : virtio(4) [2]. Les drivers VirtIO vont nous permettre de faire fonctionner NetBSD dans une machine virtuelle KVM [3] sans perte de performance liée à l'émulation matérielle. Même si NetBSD dispose d'une pile Xen [4] capable de paravirtualiser depuis sa version 3.0 (23 décembre 2005), il est souvent plus pratique, sur sa station de travail, de mener ses tests à l'aide de la machinerie libvirt/KVM... surtout lorsqu'on a fait l'erreur d'acheter une carte nVidia. Mais je m'égare.

Pourquoi parler immédiatement de VirtIO ? Mais parce que nous n'allons pas cérémonieusement lister les nouvelles fonctionnalités de l'ancestral BSD UNIX, nous allons les découvrir pendant une installation et une configuration fraîches !

Cas d'école, une station Debian GNU/Linux sur une machine disposant d'un processeur supportant les instructions VT[5], prérequis pour KVM. Nous aurons besoin du paquet virt-manager, du module noyau kvm, fourni en standard depuis des lustres par l'ensemble des distributions GNU/Linux, et bien évidemment d'une image ISO de NetBSD 6.0 [6].

Afin d'obtenir de bonnes performances, et parce que c'est tout de même plus élégant, nous choisirons d'articuler l'installation sur un volume logique LVM au lieu d'une image brute. 20GB d'espace seront amplement suffisants. Nous verrons qu'en réalité, la totalité du système tiendrait aisément sur 1GB.

# lvcreate -L 20G -n nb6_glmf tatooine

Logical volume "nb6_glmf" created

Nous allons maintenant pouvoir créer notre machine virtuelle à l'aide du très pratique virt-manager.

2. Polala comment c'est dur !

Munis de l'image ISO correspondant à l'architecture processeur de notre choix, nous nommons notre future machine virtuelle et choisissons cette dernière. Notez que NetBSD ne figure pas dans la liste des systèmes cible (quand je vous parle de manque de popularité...), aussi nous choisirons OpenBSD, ce dernier étant un proche parent ; pour rappel, OpenBSD est un fork de NetBSD dont la première release est apparue en 1996.

nb6-1

Nom de la VM et choix du media d'installation

nb6-2

Choix de l'ISO et du système cible

Un cœur et 512Mo de mémoire suffisent largement pour notre petite démonstration, mais j'ambitionne ici de vous mettre le pied à l'étrier, muni de cette quantité démesurée de mémoire, vous pourrez par la suite mener vos propres expériences.

Un mot sur la gestion multi-processeurs/cœurs ; depuis NetBSD 5.0, le support du SMP a été grandement amélioré grâce au travail titanesque effectué par Andrew Doran (ad@) ; ainsi, l'évolutivité est proprement linéaire et parfaitement prédictible. Aussi, si vous disposez de quelques cœurs supplémentaires, n'hésitez pas à faire monter NetBSD en charge !

nb-3

Mémoire et nombre de processeurs

Attention, ici nous donnons le chemin du volume logique LVM, nous n'utiliserons pas une image disque brute pour de simples raisons de performances. Et puis, c'est quand même pratique LVM. À ce sujet, grâce à Adam Hamsik (haad@), LVM 2.02.44 est d'ailleurs également disponible par défaut sous NetBSD 6.0. C'est également à Adam que l'on doit le portage de ZFS.

nb-4

Cible

Nous démarrons sur l'ISO d'installation, à moins d'un panic(9) intempestif, aucune raison de démarrer sur autre chose que le choix numéro 1, «Install NetBSD ». Un travail conséquent a été effectué sur la gestion de l'ACPI [7], NetBSD 6.0 tire profit de façon exemplaire des multiples fonctionnalités liées à la gestion de l'énergie ; on pourra obtenir une foule d'informations à l'aide de la commande envstat(4) ou encore manipuler la gestion de la puissance processeur de façon très fine grâce au paquet estd(1).

nb-5

Boot

Voici l'historique interface curses de sysinst(8), les quelques écrans suivants sont très simples et sans réel intérêt, faites votre choix de langue et clavier et poursuivez.

nb-6

Invite

nb-7

Install

Notre disque / volume logique est effectivement détecté, on le choisit, et dans le menu suivant, on optera pour une installation complète. En effet, nombre de paquets binaires dépendent de bibliothèques X11, aussi, pour nous simplifier la tâche, nous installons les 600Mo (!!) que représente le système NetBSD complet. Dans cette orgie de mégas, nous trouverons les sets (c'est la terminologie officielle) suivants :

- base, archive contenant le strict nécessaire au bon fonctionnement du système d'exploitation.

- comp, les outils destinés au développement, en particulier divers compilateurs, includes et autres bibliothèques statiques.

- etc, le contenu non traité du répertoire /etc, certains fichiers de cette archive seront manipulés par la suite par sysinst(8).

- games, ne vous attendez pas à trouver Doom III dans ce set, il s'agit plus de divertissement via de petits jeux en console.

- kern-*, divers noyaux, par défaut, c'est le noyau GENERIC qui sera installé ; il sied à la plupart des utilisations.

- man, est-il nécessaire de préciser ? :)

- misc, essentiellement des documentations tierces au format ASCII.

- modules, les modules noyau.

- text, vous trouverez ici les classiques outils de manipulation de texte avancée tels que groff, nroff, mandoc et associés.

- test, apparu dans NetBSD 5.0, dans ce set se trouve la grande œuvre de Julio Merino (jmmv@), ATF pour «Automated Testing Framework ». Derrière cette appellation mystérieuse se trouve une véritable test suite dont l'objectif est de tester selon des critères personnalisables diverses fonctionnalités. À l'issue des tests, des rapports, eux aussi personnalisables, sont générés.

- Le set xbase est composé des briques essentielles au bon fonctionnement de X11, à ce jour dans NetBSD 6.0 : X.Org X Server 1.10.3.

- xcomp contient les éléments indispensables à la programmation de X11.

- xetc, les fichiers de configuration des briques essentielles de X11R7.

- xfont, les polices de caractères de base.

- xserver, les nombreux serveurs X correspondant aux cartes graphiques supportées par Xorg.

nb-8

Disque virtuel

nb-9

Full install

nb-10

On utilise tout le disque

Compte tenu de la relative faible taille de notre futur système, nous ne perdrons pas de temps dans un partitionnement complexe. Nous augmenterons malgré tout la taille de la partition swap à 1Go, plus pour la démonstration que par réelle nécessité.

nb-11

Partitions

Notons un changement important ici, longtemps le système NetBSD, probablement l'un des projets les plus conservateurs de l'univers du Logiciel Libre, proposait de formater les partitions lors de l'installation en FFSv1, ancestral système de fichiers directement issu de 4.4BSD. FFSv2 et ses pointeurs de blocs 64 bits sont enfin le choix par défaut. Ajoutons à cela l'activation de WAPBL, le système de journalisation de FFS.

WAPBL, pour Write Ahead Physical Block Logging, est un mécanisme de journalisation apparu également dans NetBSD 5.0, initialement créé par la société Wasabi Systems Inc., société éminemment impliquée dans le projet (voir la Fondation...) NetBSD, qui emploie nombre de développeurs du Projet.

nb-12

Options du FS

nb-13

Logging

Comme toujours, l'installation initiale ne prend qu'une poignée de minutes.

nb-14

Fin de l'install

Voici encore une nouveauté de sysinst(8) à la sauce 6.0, la possibilité de configurer quelques points essentiels du système à travers un menu très simple. Après avoir spécifié les informations relatives à notre configuration IP, sysinst(8) vous proposera d'inscrire ces informations sur le disque dur fraîchement installé.

Ces informations iront peupler le fichier /etc/rc.conf qui contient les directives liées aux différents services, configurations réseau ou encore système de fichiers.

nb-15

Configuration

nb-16

Network

nb-17

Network conf

Comment rester neutre sur l'action qui suit... Je vous en ai longuement parlé dans ces colonnes, pkgin, le programme de gestion de paquets binaires dont je suis l'auteur, fait (enfin !) son entrée dans sysinst(8). Il est important de signaler qu'il n'est pas inclus de base, mais qu'il est désormais proposé dès l'installation du système de le télécharger afin qu'il soit disponible dès le premier démarrage.

Ceci est parfaitement voulu, en effet, le logiciel est jeune (3 ans), et s'il a disposé de nombreux bêta-testeurs, il n'a été que très peu confronté à la masse, il n'est probablement pas exempt de bogues et subit régulièrement divers liftings, il était donc périlleux de synchroniser pkgin dans le système de base et d'attendre la release suivante pour corriger un bogue critique. Ainsi, pkgin, comme tous les autres paquets tiers, est disponible au téléchargement mais vivra une vie parallèle aux outils de base.

nb-18

pkgin !!

nb-19

pkgin end

sysinst(8) ne proposera pas d'installer de paquets supplémentaires, il vous reviendra de mettre à jour la base de paquets via la commande :

# pkgin up

Et d'installer les paquets souhaités très simplement via la commande :

# pkgin in <mon paquet>

nb-20

Conf done

L'installation est terminée ! Le système a été transféré sur le disque choisi, le bootloader a été installé, les outils de base sont présents, il ne reste plus qu'à booter sur notre OS fraîchement installé !

nb-21

Install done

Un mot sur le bootloader. Bien que très spartiate, il a lui même subi quelques améliorations, et il pourrait probablement vous sortir de quelques situations tendues, le choix numéro 5 donne accès à une invite de commande basique permettant par exemple de :

- démarrer NetBSD en mode single user : boot -s ;

- désactiver le chargement des modules noyau : modules off ;

- demander le chargement d'un module particulier : load <module> [arguments] ;

- changer de partition de boot : boot device:noyau ;

- indiquer un périphérique root différent : dev <periphérique> ;

- démarrer un dom0 sur le réseau : ip=my_ip:serv_ip:gw_ip:mask:host:iface.

Et encore une foule d'options que je vous invite à consulter dans la page man boot(8). Notez également que ces options sont activables de façon permanentes dans le fichier /boot.cfg.

nb-22-0

bootloader

Lors de la séquence d'amorçage, j'ai remarqué que seule l'interface réseau pcn0 a été détectée. C'est une erreur de ma part, en effet, j'ai oublié de spécifier dans virt-manager que le modèle de la «carte réseau » équipant cette machine virtuelle était de type VirtIO. Aussi, après avoir préalablement éteint notre système (shutdown -h now ou halt), nous nous rendons à la section NIC de l'interface virt-manager et choisissons virtio au lieu de pcnet. Rappel, en choisissant virtio nous faisons appel aux drivers de paravirtualisation de KVM, bien plus performants que l'émulation matérielle qui était réalisée avec le pilote pcnet.

nb-23

Virtio NIC

Bien évidemment, lorsque nous démarrons notre machine virtuelle à nouveau, plus de pcn0, il est donc nécessaire de modifier la configuration initiale inscrite par sysinst(8). Ceci se réalise de façon très simple, on renomme le fichier /etc/ifconfig.pcn0 en /etc/ifconfig.vioif0, puis on modifie la variable ifconfig_pcn0 en ifconfig_vioif0 dans le fichier /etc/rc.conf :

# cd /etc

# mv ifconfig.pcn0 ifconfig.vioif0

# sed 's/pcn0/vioif0/' /etc/rc.conf > /etc/rc.conf-new && mv /etc/rc.conf-new /etc/rc.conf

Un reboot plus loin, afin de s'assurer que tout est bien dans l'ordre :

nb-26

Boot virtio

Juste et parfait !

3. Comme à la maison

Afin de faciliter la manipulation de notre nouvelle machine, nous allons créer un utilisateur capable de devenir super-utilisateur afin de procéder à distance, via SSH :

# useradd -m imil

# passwd imil

# usermod -G wheel imil # seul les utilisateurs présents dans le groupe "wheel" peuvent utiliser su(1)

Notre système NetBSD 6.0 est maintenant opérationnel et accessible à distance, puisque nous disposons d'un système de gestion de paquets binaires (auto-promotion honteuse), nous allons installer de ce pas les paquets indispensables :

$ ssh glmf

Password:

NetBSD 6.0 (GENERIC)

Welcome to NetBSD!

glmf$ su -

Password:

Terminal type is xterm.

glmf# pkgin up

database for http://ftp.NetBSD.org/pub/pkgsrc/packages/NetBSD/i386/6.0/All is up-to-date

glmf# pkgin in bash sudo screen

calculating dependencies... done.

nothing to upgrade.

3 packages to be installed: bash-4.2nb2 sudo-1.7.9p1 screen-4.0.3nb5 (1446K to download, 6149K to install)

proceed ? [Y/n] y

downloading packages...

bash-4.2nb2.tgz                     100% 742KB 32.2KB/s 32.6KB/s   00:23    

sudo-1.7.9p1.tgz                    100% 312KB 34.7KB/s 59.4KB/s   00:09    

screen-4.0.3nb5.tgz                 100% 392KB 35.7KB/s   9.2KB/s   00:11    

installing packages...

installing bash-4.2nb2...

bash-4.2nb2: adding /usr/pkg/bin/bash to /etc/shells

installing sudo-1.7.9p1...

sudo-1.7.9p1: copying /usr/pkg/share/examples/sudo/sudoers to /usr/pkg/etc/sudoers

sudo-1.7.9p1: setting permissions on /usr/pkg/bin/sudo (o=root, g=wheel, m=4511)

sudo-1.7.9p1: setting permissions on /usr/pkg/bin/sudoreplay (o=root, g=wheel, m=511)

===========================================================================

$NetBSD: MESSAGE,v 1.6 2004/03/11 23:33:09 reed Exp $

Use the visudo(8) command to edit the sudoers file.

If you are upgrading from a version of sudo prior to 1.6, please read

/usr/pkg/share/doc/sudo/UPGRADE

on how to modify your sudoers file appropriately.

===========================================================================

installing screen-4.0.3nb5...

screen-4.0.3nb5: setting permissions on /usr/pkg/bin/screen-4.0.3 (o=root, g=wheel, m=4511)

screen-4.0.3nb5: adding /usr/pkg/bin/screen to /etc/shells

===========================================================================

$NetBSD: MESSAGE,v 1.5 2005/12/28 17:53:24 reed Exp $

You may want to create and edit the file:

/usr/pkg/etc/screenrc

to customize screen globally. Example configuration files have been

installed to:

/usr/pkg/share/examples/screen/screenrc

/usr/pkg/share/examples/screen/etcscreenrc

===========================================================================

pkg_install warnings: 0, errors: 0

reading local summary...

processing local summary...

updating database: 100%

marking bash-4.2nb2 as non auto-removable

marking sudo-1.7.9p1 as non auto-removable

marking screen-4.0.3nb5 as non auto-removable

Bien que BSDiste convaincu, mon affection va toujours à bash :

# chsh imil

#Changing user database information for imil.

Login: imil

Password: $sha1$24242$plop$iljouaitdupianodebout

Uid [#]: 1000

Gid [# or name]: 100

Change [month day year]:

Expire [month day year]:

Class:

Home directory: /home/imil

Shell: /usr/pkg/bin/bash

Full Name:

Location:

Office Phone:

Home Phone:

bash est un programme tiers, il ne fait pas partie des binaires fournis dans le système de base, il est ainsi localisé dans l'arborescence destinée aux paquets, /usr/pkg.

On notera au passage que l'algorithme de chiffrement est passé à SHA1 par défaut.

Enfin, dans le fichier /usr/pkg/etc/sudoers, nous autorisons le groupe wheel à devenir root sans mot de passe afin de simplifier les diverses tâches d'administration :

glmf# vi /usr/pkg/etc/sudoers

# [...]

%wheel ALL=(ALL) NOPASSWD: ALL

:w!

4. Les modules

NetBSD dispose depuis bien longtemps, comme tout UNIX moderne, de modules noyau, malgré cela, ce n'est que depuis NetBSD 6.0 que ces derniers sont réellement mis à l'honneur à travers un nouveau framework très sobrement appelé... module(7). La quasi totalité des pilotes se trouve désormais chargée dynamiquement :

# modstat |wc -l

     121

Ces derniers peuvent également être chargés automatiquement, par exemple on constate que le système de filtrage de paquets PF n'est pas encore intégré :

# modstat |grep ^pf

#

Mais qu'un pfctl suffira à son inclusion :

# pfctl -e

# pfctl -sa|grep ^Status

Status: Enabled for 0 days 00:00:19           Debug: Urgent

# modstat |grep ^pf

pf               driver     filesys    0     168251   bpf

On le décharge aussi simplement

# pfctl -d

pf disabled

# modstat |grep ^pf

#

5. NPF

Et puisqu'on parle de filtrage de paquets, jetons un œil à une autre nouveauté de NetBSD 6.0, NPF [9], pour NetBSD packet filter.

Encore un nouveau firewall me direz-vous, mais qu'a-t-il de particulier ? NPF vise la performance et la modularité. NetBSD 5.0, nous l'avons vu, a fait un bond exceptionnel dans la gestion des architectures multi-cores, mais aucun autre mécanisme de filtrage de paquets n'est « optimisé » pour le SMP, pas plus que la modularité. D'autre part, plutôt que de faire l'autruche, Mindaugas Rasiukevicius (rmind@) constate que le Netfilter de GNU/Linux dispose de bien des avantages, en particulier ses fameuses tables. Évidemment, la licence GPL de Netfilter n'étant pas compatible avec la philosophie BSD, permettant l'utilisation de produits Libres sans ouverture requise du produit final, il fallait plancher sur un nouveau challenger.

Mindaugas n'a pas totalement réinventé la roue puisque la syntaxe de NPF est très voisine de ses cousins PF et IPF, il cherche sa configuration par défaut dans /etc/npf.conf. On démarre NPF de cette façon :

# npfctl start

# npfctl show

Filtering:      active

Configuration: empty

Une configuration basique, sans filtrage, est de la forme :

# cat /etc/npf.conf

$if = "vioif0"

group (default) {

        pass all

}

On recharge NPF pour relire cette configuration

# npfctl reload

# npfctl show

Filtering:      active

Configuration: loaded

group (default) {

        pass all

}

Comme pour tous les services, on active ce dernier dans le fichier /etc/rc.conf en ajoutant simplement :

# echo 'npf=YES' >> /etc/rc.conf

On pourra alors contrôler le filtre via son rc-script :

# /etc/rc.d/npf reload

Reloading NPF ruleset.

# /etc/rc.d/npf start

Enabling NPF.

6. Cloud Comp^W^WVirtualisation

En plus du support de VirtIO, NetBSD supporte depuis 8 ans l'hyperviseur Xen (officiellement depuis 2005 pour Xen 2 et NetBSD 3.0, officieusement depuis 2004 pour Xen 1 et NetBSD 2.0). NetBSD 6.0 apporte deux nouveautés longtemps attendues grâce au fantastique travail de Manuel Bouyer, Cherry G. Mathew et Jean Yves Migeon. Tout d'abord, le support SMP pour les domU, annoncé le 6 mars 2012, apporte enfin la possibilité d'affecter plus d'un CPU à un domaine invité. À titre d'information, j'utilise personnellement cette fonctionnalité sur des serveurs en production depuis plusieurs mois sans accroc.

Ensuite, le pilote pciback(4) ajoute la fonctionnalité PCI pass-through qui autorise le dom0 à exporter des périphériques PCI aux domU (carte réseau, carte graphique, ...).

La partie userland de Xen est disponible dans pkgsrc, Xen 3.3 et 4.1 sont à ce jour disponibles.

Au chapitre de la virtualisation, saluons également l'arrivée du pilote vmt(4), apportant le support des VMware Tools à NetBSD.

7. Over 9000 packages !

À côté de NetBSD, il y a le fabuleux framework de paquets pkgsrc. Si l'utilisation de pkgin simplifie l'installation de logiciels tiers, dont les versions binaires sont évidemment issues de pkgsrc, certains d'entre eux, pour des raisons de licence, doivent obligatoirement être installés par le biais des paquets source, c'est par exemple le cas de mplayer-share, en raison de ses codecs propriétaires.

Malgré cela, ce ne sont pas moins de 11500 paquets binaires qui sont directement disponibles, et parmi eux les grands classiques tels que PHP en version 5.3 et 5.4, Apache versions 1.3, 2.0, 2.2 et 2.4, nginx 1.2.3 ou encore MySQL 5.0, 5.1 et 5.5. Au total, ce sont plus de 12000 paquets qui sont immédiatement disponibles dans la branche «stable », pkgsrc-2012Q3.

$ pkgin av|wc -l

   11428

Comme vous le voyez, NetBSD n'est pas à la traîne, et le mode de release de pkgsrc, une branche tous les 3 mois, garantit la fraîcheur des logiciels phares. Évidemment, une équipe est en charge de backporter les patchs de sécurité de la branche dite current (la plus à jour, celle sur laquelle les développeurs travaillent) vers la branche précédente.

À titre d'exemple, voyons comment installer et activer au démarrage un service issu de pkgsrc, au hasard, nginx :

# pkgin in nginx

calculating dependencies... done.

nothing to upgrade.

1 packages to be installed: nginx-1.2.3 (267K to download, 533K to install)

proceed ? [Y/n] y

downloading packages...

nginx-1.2.3.tgz                     100% 267KB 267.2KB/s 267.2KB/s   00:00    

installing packages...

installing nginx-1.2.3...

nginx-1.2.3: Creating group ``nginx''

nginx-1.2.3: Creating user ``nginx''

nginx-1.2.3: copying /usr/pkg/share/examples/nginx/conf/fastcgi.conf to /usr/pkg/etc/nginx/fastcgi.conf

nginx-1.2.3: copying /usr/pkg/share/examples/nginx/conf/fastcgi_params to /usr/pkg/etc/nginx/fastcgi_params

nginx-1.2.3: copying /usr/pkg/share/examples/nginx/conf/koi-utf to /usr/pkg/etc/nginx/koi-utf

nginx-1.2.3: copying /usr/pkg/share/examples/nginx/conf/koi-win to /usr/pkg/etc/nginx/koi-win

nginx-1.2.3: copying /usr/pkg/share/examples/nginx/conf/mime.types to /usr/pkg/etc/nginx/mime.types

nginx-1.2.3: copying /usr/pkg/share/examples/nginx/conf/naxsi_core.rules to /usr/pkg/etc/nginx/naxsi_core.rules

nginx-1.2.3: copying /usr/pkg/share/examples/nginx/conf/nginx.conf to /usr/pkg/etc/nginx/nginx.conf

nginx-1.2.3: copying /usr/pkg/share/examples/nginx/conf/win-utf to /usr/pkg/etc/nginx/win-utf

===========================================================================

The following files should be created for nginx-1.2.3:

        /etc/rc.d/nginx (m=0755)

            [/usr/pkg/share/examples/rc.d/nginx]

===========================================================================

===========================================================================

$NetBSD: MESSAGE,v 1.1 2010/01/23 16:33:23 joerg Exp $

Consider adding something like following lines to /etc/newsyslog.conf:

/var/log/nginx/access.log 640 7 * * BZ /var/run/nginx.pid SIGUSR1

/var/log/nginx/error.log 640 7 * * BZ /var/run/nginx.pid SIGUSR1

===========================================================================

pkg_install warnings: 0, errors: 0

reading local summary...

processing local summary...

updating database: 100%

marking nginx-1.2.3 as non auto-removable

Comme nous l'indique le message de post-installation, nous devrons copier le fichier /usr/pkg/share/examples/rc.d/nginx dans le répertoire contenant les scripts d'initialisation /etc/rc.d :

# cp /usr/pkg/share/examples/rc.d/nginx /etc/rc.d/

Puis activer le service dans le fichier /etc/rc.conf :

# echo "nginx=YES" >> /etc/rc.conf

Nous pouvons alors démarrer le service :

# /etc/rc.d/nginx start

Starting nginx.

Y'a plus qu'à.

8. MOAR MOAR MOAR !!!

La liste des améliorations et autres nouveautés est relativement longue [11], au total ce sont plus de 70 nouveaux périphériques qui sont désormais supportés :

- une trentaine de nouvelles cartes réseau (Wi-Fi et filaire) ;

- une dizaine de nouvelles fonctionnalités ACPI ;

- 7 nouveaux contrôleurs disque ;

- de nouvelles références USB ;

- 6 nouveaux composants graphiques ;

- support de composants orientés «touchscreen » (coucou khorben :)).

De l'avis de nombreux développeurs, cette release est l'une des plus abouties jamais publiées, et si de prime abord aucune révolution ne semble émerger, c'est l'ensemble du système d'exploitation qui montre une maturité enviable.

L'OS peut s'avérer déroutant pour le GNU/Linuxien, mais en lisant consciencieusement la documentation officielle, en particulier le Guide [10], la philosophie propre au projet devient limpide, et on se surprend à des automatismes finalement assez naturels.

NetBSD 6.0 associe modernité et élégance, dispose d'une communauté ouverte et bien loin du star system, et perpétue la tradition Libriste issue des laboratoires de Berkeley il y a 35 ans de cela. On voit poindre de temps à autre sur les listes du diffusion la phrase « NetBSD, the original BSD UNIX », c'est à mon sens l'une des meilleures définitions du Projet.

Liens

[0] http://en.wikipedia.org/wiki/Computer_Systems_Research_Group

[1] http://releng.netbsd.org/

[2] http://ozlabs.org/~rusty/virtio-spec/

[3] http://www.linux-kvm.org/page/Main_Page

[4] http://www.xen.org/

[5] http://en.wikipedia.org/wiki/Intel_VT#Intel_Virtualization_Technology_for_x86_.28Intel_VT-x.29

[6] ftp://ftp.fr.netbsd.org/pub/NetBSD/iso/6.0/NetBSD-6.0-i386.iso

[7] http://fr.wikipedia.org/wiki/Advanced_Configuration_and_Power_Interface

[8] http://www.openbsd.org/faq/pf/

[9] http://mail-index.netbsd.org/netbsd-announce/2012/10/17/msg000161.html

[10] http://www.netbsd.org/docs/guide/en/

[11] http://www.netbsd.org/releases/formal-6/NetBSD-6.0.html




Article rédigé par

Par le(s) même(s) auteur(s)

smolBSD : UNIX façon « Ikea »

Magazine
Marque
Linux Pratique
Numéro
141
Mois de parution
janvier 2024
Spécialité(s)
Résumé

Dans les séries américaines, on appelle ce genre d’histoire un crossover, les premières occurrences ont démarré dans Linux Pratique, puis une partie plus profonde sur l’amincissement d’un noyau NetBSD, pas nécessairement utile pour la finalité de notre produit, a fait son apparition dans GNU/Linux Magazine. Aujourd’hui, nous allons apprendre à construire un système BSD UNIX, NetBSD, From Scratch.

SmolBSD : un système UNIX de 7 mégaoctets qui démarre en moins d’une seconde

Magazine
Marque
GNU/Linux Magazine
Numéro
265
Mois de parution
septembre 2023
Spécialité(s)
Résumé

Que de racolage en si peu de mots. Et pourtant si, c’est bien la promesse de cet article, comment parvenir à construire un système d’exploitation fonctionnel en moins de… 10 mégabits. Quelle est cette sorcellerie ? En utilisant une fonctionnalité prévue, mais pas utilisée à cet escient par le noyau NetBSD, nous allons lui faire subir un régime drastique !

Les derniers articles Premiums

Les derniers articles Premium

La place de l’Intelligence Artificielle dans les entreprises

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

L’intelligence artificielle est en train de redéfinir le paysage professionnel. De l’automatisation des tâches répétitives à la cybersécurité, en passant par l’analyse des données, l’IA s’immisce dans tous les aspects de l’entreprise moderne. Toutefois, cette révolution technologique soulève des questions éthiques et sociétales, notamment sur l’avenir des emplois. Cet article se penche sur l’évolution de l’IA, ses applications variées, et les enjeux qu’elle engendre dans le monde du travail.

Petit guide d’outils open source pour le télétravail

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Ah le Covid ! Si en cette période de nombreux cas resurgissent, ce n’est rien comparé aux vagues que nous avons connues en 2020 et 2021. Ce fléau a contraint une large partie de la population à faire ce que tout le monde connaît sous le nom de télétravail. Nous avons dû changer nos habitudes et avons dû apprendre à utiliser de nombreux outils collaboratifs, de visioconférence, etc., dont tout le monde n’était pas habitué. Dans cet article, nous passons en revue quelques outils open source utiles pour le travail à la maison. En effet, pour les adeptes du costume en haut et du pyjama en bas, la communauté open source s’est démenée pour proposer des alternatives aux outils propriétaires et payants.

Sécurisez vos applications web : comment Symfony vous protège des menaces courantes

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Les frameworks tels que Symfony ont bouleversé le développement web en apportant une structure solide et des outils performants. Malgré ces qualités, nous pouvons découvrir d’innombrables vulnérabilités. Cet article met le doigt sur les failles de sécurité les plus fréquentes qui affectent même les environnements les plus robustes. De l’injection de requêtes à distance à l’exécution de scripts malveillants, découvrez comment ces failles peuvent mettre en péril vos applications et, surtout, comment vous en prémunir.

Bash des temps modernes

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Les scripts Shell, et Bash spécifiquement, demeurent un standard, de facto, de notre industrie. Ils forment un composant primordial de toute distribution Linux, mais c’est aussi un outil de prédilection pour implémenter de nombreuses tâches d’automatisation, en particulier dans le « Cloud », par eux-mêmes ou conjointement à des solutions telles que Ansible. Pour toutes ces raisons et bien d’autres encore, savoir les concevoir de manière robuste et idempotente est crucial.

Les listes de lecture

9 article(s) - ajoutée le 01/07/2020
Vous désirez apprendre le langage Python, mais ne savez pas trop par où commencer ? Cette liste de lecture vous permettra de faire vos premiers pas en découvrant l'écosystème de Python et en écrivant de petits scripts.
11 article(s) - ajoutée le 01/07/2020
La base de tout programme effectuant une tâche un tant soit peu complexe est un algorithme, une méthode permettant de manipuler des données pour obtenir un résultat attendu. Dans cette liste, vous pourrez découvrir quelques spécimens d'algorithmes.
10 article(s) - ajoutée le 01/07/2020
À quoi bon se targuer de posséder des pétaoctets de données si l'on est incapable d'analyser ces dernières ? Cette liste vous aidera à "faire parler" vos données.
Voir les 125 listes de lecture

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous