URL: https://linuxfr.org/news/freebsd-12-1 Title: FreeBSD 12.1 Authors: David Marec Davy Defaud, Kwiknclean, Arkem, bubarđŠ„, palm123 et tisaac Date: 2019ćčŽ11æ06æ„T23:49:20+01:00 License: CC By-SA Tags: freebsd, sortie_version, hashicorp et vagrant Score: 35 La premiĂšre mise Ă jour de FreeBSD 12 est [disponible depuis le 5 novembre 2019](https://www.freebsd.org/releases/12.1R/announce.asc). Elle est dĂ©diĂ©e Ă [Kurt Lidl](https://people.freebsd.org/~lidl/). Câest une mise Ă jour dite *mineure*, qui suit le principe POLA (_Principle Of Least Astonishment_), ce qui ne devrait pas vous exposer Ă des changements trop gĂȘnants. Pour rappel, la publication dâune version de FreeBSD est un instantanĂ© de la branche *Stable*, elle intĂšgre donc les correctifs et ajouts introduits depuis la premiĂšre publication de la version 12. ---- [Notes de version](https://www.freebsd.org/releases/12.1R/relnotes.html) [Errata](https://www.freebsd.org/releases/12.1R/errata.html) [Ă la rencontre de FreeBSD](https://hub.pfind.com/meet-freebsd-project/) ---- # En bref La *base* apporte [BearSSL](https://bearssl.org/), et [OpenSSL](https://www.openssl.org/) est dĂ©sormais livrĂ© en version 1.1.1d. La version 8.0.1 de [LLVM et C^(ie)](http://llvm.org/) devient la suite de compilation par dĂ©faut et embarque la bibliothĂšque [openMP](https://www.openmp.org/), [libomp](https://openmp.llvm.org/). Du cĂŽtĂ© des platesâformes, [RISCâV](https://wiki.freebsd.org/riscv) est activement dĂ©veloppĂ© (Tierâ3) alors que [PCâ98](https://www.freebsd.org/platforms/pc98.html) nâest plus maintenu. Ă noter lâimplĂ©mentation de contrĂŽleurs Xilinx *trouvĂ©s* sur des « _Government Furnished Equipment (GFE) 64âbit RISCâV cores_ »... # Installation Avant toute chose, je vous invite Ă consulter les _errata_. ## Mise Ă jour depuis une version antĂ©rieure ```sh # freebsd-update upgrade -r 12.1-RELEASE ``` Nâoubliez pas de mettre aussi Ă jour vos poudriĂšres : ```sh # poudriere jails -j 12R -u -t 12.1-RELEASE ``` La mise Ă jour compte 9 577 correctifs depuis la 12.0. ## Images Des images sont disponibles sous [divers formats](https://download.freebsd.org/ftp/releases/ISO-IMAGES/12.1/) pour les architectures suivantes : * x64-64 ; * i386 ; * PowerPC, PowerPC64 et PowerPCSPE ; * SPARC64 ; * ARMv6, ARMv7 et AArch64. Suivez les procĂ©dures habituelles pour la mise Ă jour et lâinstallation. Attention, le chargeur dâamorçage â en particulier le `loader.efi` â a quelque peu bougĂ©, faites gaffe quand mĂȘme. Notez que _[freebsd-update(8)](https://www.freebsd.org/cgi/man.cgi?query=freebsd-update&sektion=8&manpath=freebsd-release-ports)_ comprends deux nouvelles commandes : * `updatesready`, indique si des mises Ă jour sont prĂȘtes Ă ĂȘtre installĂ©es, suite Ă un `fetch` ; * `showconfig`, prĂ©cise la configuration de votre systĂšme de mise Ă jour. ## Instances Vous trouverez des instances hĂ©bergĂ©es par : * AmazonÂź EC2TM ; * GoogleÂź Compute EngineTM ; * Hashicorp/AtlasÂź VagrantTM. ## Machine [Gandi](https://www.gandi.net/fr) vous propose de crĂ©er des machines virtuelles et [Hetzner](https://wiki.hetzner.de/index.php/FreeBSD_Rescue-System/en) propose un [installeur FreeBSD](https://mfsbsd.vx.sk/) pour certaines de ses machines. # Amorce, loader Le nouvel [installateur](https://www.freebsd.org/cgi/man.cgi?query=menu.lua&sektion=8&manpath=freebsd-release-ports) Ă©crit en Lua est dĂ©sormais utilisĂ© par dĂ©faut. La version Ă©crite en [Forth](https://www.freebsd.org/cgi/man.cgi?query=loader.4th&sektion=8&manpath=freebsd-release-ports) devrait disparaĂźtre de la version 13. LâimplĂ©mentation [EFI](https://www.freebsd.org/cgi/man.cgi?query=efi&sektion=8&manpath=freebsd-release-ports) a subi beaucoup de mises au point. Par exemple, lâinterface HTTP dans UEFI, HTTP Service Binding Protocol (HTTPSB) et HTTP Protocol (HTTP) a Ă©tĂ© intĂ©grĂ©e. Attention, câest tout chaud. La taille dĂ©finie pour `EFI_STAGING_SIZE` a Ă©tĂ© augmentĂ©e sur x86-64 pour Ă©viter des plantages en cas de chargement du â trop gros â module `nvidia.ko`. Le [gestionnaire dâamorçage pour ZFS](https://www.freebsd.org/cgi/man.cgi?query=gptzfsboot&sektion=8&manpath=freebsd-release-ports) peut amorcer sur un *dataset* dont lâoption `large_dnode` est activĂ©e (cette option est enfin [documentĂ©e](https://www.freebsd.org/cgi/man.cgi?query=zpool-features&sektion=7&manpath=freebsd-release-ports)). # Noyau Mis Ă part les correctifs et les optimisations, vous ne devriez pas observer de grand changements, si ce nâest la fusion des pĂ©riphĂ©riques rĂ©seau virtuels _[tap(4)](https://www.freebsd.org/cgi/man.cgi?query=tap&sektion=4&manpath=freebsd-release-ports)_ et _[tun(4)](https://www.freebsd.org/cgi/man.cgi?query=tun&sektion=4&manpath=freebsd-release-ports)_ dans un mĂȘme module « tuntap ». VĂ©rifiez la configuration de votre noyau et des [directives de dĂ©marrage](https://www.freebsd.org/cgi/man.cgi?query=loader.conf&sektion=5&manpath=freebsd-release-ports), si vous utilisez ceuxâci. Le numĂ©ro de _[jail(8)](https://www.freebsd.org/cgi/man.cgi?query=jail&sektion=8&manpath=freebsd-release-ports)_ est prĂ©cisĂ© dans le journal lorsquâun processus se termine. Ajout dâune limite rĂ©glable [lors du dĂ©marrage](https://www.freebsd.org/cgi/man.cgi?query=loader.conf&sektion=5&manpath=freebsd-release-ports) pour les interruptions MSI : `machdep.num_msi_irq`. # PĂ©riphĂ©rique, modules Le nouvel outil _[spi(8)](https://www.freebsd.org/cgi/man.cgi?query=spi&sektion=8&manpath=freebsd-release-ports)_ va vous permettre de communiquer avec les pĂ©riphĂ©riques prĂ©sents sur un [bus SPI](https://fr.wikipedia.org/wiki/Serial_Peripheral_Interface "Serial Peripheral Interface"). Les pĂ©riphĂ©riques prĂ©sents sur ce bus SPI sont par ailleurs nommĂ©s dâaprĂšs le bus pĂšre, comme sous Linux : `/dev/spigenX.Y`, oĂč `X` dĂ©finit le numĂ©ro du bus et `Y` le pĂ©riphĂ©rique fils. PrĂ©cisez `SPIGEN_LEGACY_CDEVNAME` dans le noyau pour retrouver lâancienne numĂ©rotation. ## Disques/GEOM Vous pouvez rĂ©gler les « _quirks_ » des pĂ©riphĂ©riques attachĂ©s par le module _[da](https://www.freebsd.org/cgi/man.cgi?query=da&sektion=4&manpath=freebsd-release-ports)_ via la [clef](https://www.freebsd.org/cgi/man.cgi?query=sysctl&sektion=8&manpath=freebsd-release-ports) `kern.cam.da.X.quirks`, de la mĂȘme maniĂšre que ceux de _[ada(4)](https://www.freebsd.org/cgi/man.cgi?query=ada&sektion=4&manpath=freebsd-release-ports)_. La gestion via _[camcontrol(8)](https://www.freebsd.org/cgi/man.cgi?query=camcontrol&sektion=8&manpath=freebsd-release-ports)_ permet lâaffichage des descripteurs de blocs (`D` et `L` pour LBA) sur la commande `modepage`. Il comprend de plus la commande `powermode` sur ATA ainsi que `devtype`. Vous pouvez, via la [clef de rĂ©glage](https://www.freebsd.org/cgi/man.cgi?query=sysctl&sektion=8&manpath=freebsd-release-ports) `kern.cam.da.disable_wp_detection`, dĂ©sactiver la dĂ©tection de la protection en Ă©criture. La prise en charge des [normes NVMe](https://fr.wikipedia.org/wiki/NVM_Express) est activement suivie. Parmi les nouveautĂ©s, notez : * _[nvme(4)](https://www.freebsd.org/cgi/man.cgi?query=nvme&sektion=4&manpath=freebsd-release-ports)_ permet lâhibernation et le rĂ©veil par le bus PCI ; * lâoutil de gestion du [sousâsystĂšme NVMe](http://www.nvmexpress.org/), _[nvmecontrol(8)](https://www.freebsd.org/cgi/man.cgi?query=nvmecontrol&sektion=8&manpath=freebsd-release-ports)_, comprend la commande `resv`, qui permet de manipuler des *rĂ©servations* NVMe (partage dâespace entre plusieurs hĂŽtes et contrĂŽleurs). _[fusefs(5)](https://www.freebsd.org/cgi/man.cgi?query=fusefs&sektion=5&manpath=freebsd-release-ports)_ intĂšgre de nombreuses amĂ©liorations et fonctionnalitĂ©s, dont la documentation. Attention, le pilote a Ă©tĂ© renommĂ© de *fuse* en *fusefs*. Les contrĂŽleurs _[mpr(4)](https://www.freebsd.org/cgi/man.cgi?query=mpr&sektion=4&manpath=freebsd-release-ports)_ et _[mps(4)](https://www.freebsd.org/cgi/man.cgi?query=mps&sektion=4&manpath=freebsd-release-ports)_ ont Ă©tĂ© corrigĂ©s. Attention, le dernier nâest plus compatible avec les platesâformes 32 bits MIPS et PPC. ## Intel Prise en charge et dĂ©couverte sur le [bus SMB](https://en.wikipedia.org/wiki/System_Management_Bus) des *moniteurs de tĂąches*, `watchdogs TCO`, par le pilote _[ichwd(4)](https://www.freebsd.org/cgi/man.cgi?query=ichwd&sektion=4&manpath=freebsd-release-ports)_, prĂ©sents sur les cartes mĂšres Lewisburg PCH (C620). Le mĂ©canisme de protection des pages utilisateur par clef, _[pkru(3)](https://www.freebsd.org/cgi/man.cgi?query=pkru&sektion=3&manpath=freebsd-release-ports)_, est implĂ©mentĂ© et disponible pour les Xeon _SkyLake_. ## AMD Les pilotes _[amdsmn(4)](https://www.freebsd.org/cgi/man.cgi?query=amdsmn&sektion=4&manpath=freebsd-release-ports)_ et _[amdtemp(4)](https://www.freebsd.org/cgi/man.cgi?query=amdtemp&sektion=4&manpath=freebsd-release-ports)_ peuvent sâattacher sur les microarchitectures RyzenTM 2 (famille Zen+ / Zen 2). Lâinfrastructure _NonâTransparent Bridge_ pour bus PCIe est prise en charge par le nouveau pilote _[ntb_hw_amd(4)](https://www.freebsd.org/cgi/man.cgi?query=rtwn_pci&sektion=4&manpath=freebsd-release-ports)_. Il est construit au dessus de _[ntb_transport(4)](https://www.freebsd.org/cgi/man.cgi?query=ntb_transport&sektion=4&manpath=freebsd-release-ports)_ et _[if_ntb(4)](https://www.freebsd.org/cgi/man.cgi?query=if_ntb&sektion=4&manpath=freebsd-release-ports)_. Ceci permet, entre autres, de faire communiquer deux processeurs sur un mĂȘme systĂšme monopuce au travers de zones mĂ©moire ouvertes (_memory window_) et de registres ( `doorbell` et `scrachpad`). ## ARM Cette plateâforme, [maintenue en Tierâ2](https://wiki.freebsd.org/ARMTier1), suit DTC et nombre de descriptions de *device-tree*, *dts* depuis les dĂ©pĂŽts Linux. Aussi, la dĂ©tection des fonctionnalitĂ©s du processeur bĂ©nĂ©ficie dĂ©sormais, comme sous Linux, du mĂ©canisme dit `HWCAP`. ## crypto Le pilote _[crypto(4)](https://www.freebsd.org/cgi/man.cgi?query=crypto&sektion=4&manpath=freebsd-release-ports)_ vous prĂ©vient si vous utilisez encore des algorithmes obsolĂštes, de mĂȘme que _[geli(8)](https://www.freebsd.org/cgi/man.cgi?query=geli&sektion=8&manpath=freebsd-release-ports)_. LâaccĂ©lĂ©rateur _[ccr(4)](https://www.freebsd.org/cgi/man.cgi?query=ccr&sektion=4&manpath=freebsd-release-ports)_ a ajoutĂ© le chiffrement `AES-CCM` Ă sa liste. # ZFS Importation et mise au point de fonctionnalitĂ©s et correctifs issus, soit de [ZFS on Linux](https://github.com/zfsonlinux), soit dâ[openZFS](http://www.open-zfs.org/wiki/Main_Page). Nombre de clefs de configuration ont Ă©tĂ© ajoutĂ©es, et certaines clefs existantes sont dĂ©sormais accessibles en Ă©criture. Le montage de *dataset* [en parallĂšle](https://github.com/openzfs/openzfs/commit/a3f0e2b569) est implĂ©mentĂ©. _[zfs(8)](https://www.freebsd.org/cgi/man.cgi?query=zfs&sektion=8&manpath=freebsd-release-ports)_ amĂšne les drapeaux `-v`, `-n` et `-P` pour permettre un affichage plus complet lors de lâenvoi de *bookmarks* ; *bookmarks* quâil est dĂ©sormais possible de renommer. Lors de lâexĂ©cution dâun `zfs send`, utilisez lâoption `-V` pour afficher une barre de progression dans la barre de titre du terminal. # RĂ©seau Diverses modifications et implĂ©mentations ont Ă©tĂ© intĂ©grĂ©es, ainsi que la prise en charge de nouveaux matĂ©riels, notamment [Chelsio](https://www.freebsd.org/cgi/man.cgi?query=cxgbe&sektion=4&manpath=freebsd-release-ports) et [Mellanox](https://www.freebsd.org/cgi/man.cgi?query=mlx5en&sektion=4&manpath=freebsd-release-ports). Pour en savoir plus, consultez les pages de manuel des pilotes de pĂ©riphĂ©rique. ArrivĂ©e de _[cdceem(4)](https://www.freebsd.org/cgi/man.cgi?query=cdceem&sektion=4&manpath=freebsd-release-ports)_ qui prend en charge les rĂ©seaux virtuels des cartes USB iLO 5, dĂ©couvertes dans les nouveaux HPEÂź ProliantTM. Le dĂ©mon SNMP, [bsnmpd(1)](https://www.freebsd.org/cgi/man.cgi?query=bsnmpd&sektion=1&manpath=freebsd-release-ports), prend en charge lâIPv6. ImplĂ©mentation de `NAT64 CLAT` (RFC6877) et de lâencapsulation `GREâinâUDP` (RFC 8086). Ajout de la [clef de configuration](https://www.freebsd.org/cgi/man.cgi?query=sysctl&sektion=8&manpath=freebsd-release-ports), `net.inet.tcp.rexmit_initial`, pour le rĂ©glage de la minuterie de retransmission [TCP](https://www.freebsd.org/cgi/man.cgi?query=tcp&sektion=4&manpath=freebsd-release-ports) (`RTO.Initial`). AmĂ©lioration des performances de _[pfsync(4)](https://www.freebsd.org/cgi/man.cgi?query=pfsync&sektion=4&manpath=freebsd-release-ports)_ en jouant sur la clef `net.pfsync.pfsync_buckets`. Beaucoup de travail sur lâinfrastructure _[netmap(4)](https://www.freebsd.org/cgi/man.cgi?query=netmap&sektion=4&manpath=freebsd-release-ports)_ et son pilote _[ptnet(4)](https://www.freebsd.org/cgi/man.cgi?query=ptnet&sektion=4&manpath=freebsd-release-ports)_. # Base _[swapon](https://www.freebsd.org/cgi/man.cgi?query=swapon&sektion=8&manpath=freebsd-release-ports)_ permet de marquer les blocs comme Ă©tant inutilisĂ©s ([BIO_DELETE](https://www.freebsd.org/cgi/man.cgi?query=g_bio&sektion=9&manpath=freebsd-release-ports)) et ainsi de *nettoyer* les blocs du fichier dâĂ©change avant usage. Pour le dĂ©clarer dans le _[fstab(5)](https://www.freebsd.org/cgi/man.cgi?query=fstab&sektion=5&manpath=freebsd-release-ports)_, prĂ©cisez `trimonce` en option. Ceci en lien avec lâapparition de lâoutil _[trim(8)](https://www.freebsd.org/cgi/man.cgi?query=trim&sektion=8&manpath=freebsd-release-ports)_ qui efface les blocs sans contenu. La nouvelle syntaxe `@XX` pour _[cron](https://www.freebsd.org/cgi/man.cgi?query=cron&sektion=8&manpath=freebsd-release-ports)_, produit un dĂ©lai de XX secondes entre la fin de lâinstruction et son dĂ©marrage. La variable `MAILFROM` est ajoutĂ©e Ă lâenvironnement et les options `-q` et `-n` permettent respectivement de ne rien enregistrer dans le journal et dâĂ©viter dâenvoyer un courriel en cas de succĂšs de la commande. # DĂ©veloppement IntĂ©gration des _[capsicum_helpers(3)](https://www.freebsd.org/cgi/man.cgi?query=capsicum_helpers&sektion=3&manpath=freebsd-release-ports)_. Ajout du drapeau `MSG_DONTWAIT` Ă _[send](https://www.freebsd.org/cgi/man.cgi?query=send&sektion=2&manpath=freebsd-release-ports)_, pour rendre les _sockets_ non bloquants Ă lâenvoi. Modification du retour de _[mincore(2)](https://www.freebsd.org/cgi/man.cgi?query=mincore&sektion=2&manpath=freebsd-release-ports)_ en fonction de la clef `vm.mincore_mapped`. `fstat -s` vous donnera des informations sur les sockets. DĂ©veloppeurs, on a toujours [besoin de vous](https://wiki.freebsd.org/IdeasPage)... ## Outils Lâoutil _[posixshmcontrol(1)](https://www.freebsd.org/cgi/man.cgi?query=posixshmcontrol&apropos=0&sektion=1&manpath=FreeBSD+12.1-RELEASE&arch=default&format=html)_ vous permet de jouer avec la mĂ©moire partagĂ©e (_sharedâmemory_). DĂ©sactivez _[capsicum(4)](https://www.freebsd.org/cgi/man.cgi?query=capsicum&sektion=4&manpath=freebsd-release-ports)_ avec le drapeau `-E` de _[tcpdump(1)](https://www.freebsd.org/cgi/man.cgi?query=tcpdump&sektion=1&manpath=freebsd-release-ports)_ pour retrouver un fonctionnement normal avec IPSec. # Vintage Ajout dâune entrĂ©e _[termcap](https://www.freebsd.org/cgi/man.cgi?query=termcap&sektion=5&manpath=freebsd-release-ports)_ pour les [TI Silent 703 et 707](http://bitsavers.informatik.uni-stuttgart.de/pdf/ti/terminal/silent_700/2310453-0001_Model_703_707_Data_Terminals_Maintenance_Manual_Feb84.pdf). # Abandons * _[ctm(1)](https://www.freebsd.org/cgi/man.cgi?query=ctm&sektion=1&manpath=freebsd-release-ports)_ ; * _[timed(8)](https://www.freebsd.org/cgi/man.cgi?query=timed&sektion=8&manpath=freebsd-release-ports)_ ; * *userâspace modeâsetting* pour les Radeon ; * ipsd (IP Scan Detetor, ipfilter) ; * [lazy FPU](https://linuxfr.org/news/faille-lazy-fpu-state-restore) sur x86-64. # Ă venir FreeBSD vaâtâil [brancher ZFS sur ZâOâL plutĂŽt quâOpenZFS](https://lists.freebsd.org/pipermail/freebsd-fs/2018-December/027085.html) ?