URL: https://linuxfr.org/news/freebsd-11-2 Title: FreeBSD 11.2 Authors: David Marec ZeroHeure, Thierry Thomas, palm123, David Demelier, Davy Defaud, bubarđŸŠ„ et Pierre Jarillon Date: 2018ćčŽ06月09æ—„T21:44:24+02:00 License: CC By-SA Tags: meltdown, spectre, freebsd et bsd Score: 54 La deuxiĂšme mise Ă  jour de FreeBSD 11 est disponible depuis le [27 juin 2018](https://www.freebsd.org/releases/11.2R/announce.html). C’est une mise Ă  jour dite mineure, qui suit le principe _POLA_ (_Principle Of Least Astonishment_). Celle‐ci ne devrait donc pas trop vous exposer Ă  de nombreux changements. Pour rappel, la publication d’une version de **FreeBSD** est un instantanĂ© de la branche _Stable_. Cette version comprend les correctifs et mises Ă  jour introduits depuis la _version 11.1_. Certaines fonctionnalitĂ©s issues de la version 12 viennent aussi enrichir le systĂšme, tout comme des apports de systĂšmes tiers, ceux de la famille des BSD, GNU/Linux ou autres UNIX, tels [Illumos](https://wiki.illumos.org/display/illumos/illumos+Home). ---- [Notes](https://www.freebsd.org/releases/11.2R/relnotes.html) [FreeBSD 11.1](http://linuxfr.org/news/freebsd-11-1) [Calendrier](https://www.freebsd.org/releases/11.2R/schedule.html) [FreeBSD](https://www.freebsd.org/) [Errata](https://www.freebsd.org/releases/11.2R/errata.html) ---- Sous les projecteurs ==================== ![25 ans](https://www.freebsdfoundation.org/wp-content/uploads/2018/06/25thFreeBSDLogo4Color_web-300x207.jpg) Le 19 juin, FreeBSD avait [25 ans](https://www.freebsdfoundation.org/national-freebsd-day/) ! Quelques changements notables : * la suite de compilation _Clang_ passe directement de la version 4 Ă  la version 6 ; ce qui change les standards C et C++ utilisĂ©s par dĂ©faut, qui deviennent respectivement _C11_ et _C++14_ ; * mise en place des [contre‐mesures](https://wiki.freebsd.org/SpeculativeExecutionVulnerabilities) [Spectre et Meltdown](https://linuxfr.org/news/deux-failles-critiques-meltdown-et-spectre), notamment via l’intĂ©gration des [_retpolines_](https://support.google.com/faqs/answer/7625886) par Clang ; * dĂ©sactivation du mode _lazy_ au profit du mode _eager_ lors des changements de contexte de l’unitĂ© de calcul en virgule flottante (FPU). Installation ============ Avant toute chose, je vous invite Ă  consulter les [errata](https://www.freebsd.org/releases/11.2R/errata.html#errata). Des images sont disponibles [sous divers formats](https://download.freebsd.org/ftp/releases/ISO-IMAGES/11.2/) pour les architectures suivantes : * x86-64 ; * i386 ; * PowerPC ; * PowerPC 64 ; * SPARC 64 ; * ARM Gumstix ; * ARMv6 : Banana Pi, BeagleBone, CubieBoard 1&1, Cubox-HummingBoard, Raspberry Pi B et Pi 2, PandaBoard et Wandboard ; * AArch64. Sur l’architecture x86-64 (_amd64_), l’installateur [bsdinstall(8)](https://www.freebsd.org/cgi/man.cgi?query=bsdinstall&sektion=8&manpath=freebsd-release-ports) amorce dĂ©sormais par dĂ©faut sur de l’UEFI. Les images ISO pour _x86_ et _x86-64_ ont repris le schĂ©ma de partitionnement MBR plutĂŽt que GPT. Attention, sur l’architecture _x86-64_, un bogue interdit le dĂ©marrage sur ZFS. De plus, pour Ă©viter de dĂ©marrer avec une horloge dĂ©calĂ©e, cette architecture ne possĂ©dant pas d’horloge temps rĂ©el, ajoutez `ntpd_sync_on_start="YES"` dans [`rc.conf(5)`](https://www.freebsd.org/cgi/man.cgi?query=rc.conf&sektion=5&manpath=freebsd-release-ports). Les images pour clefs USB n’utilisent plus le schĂ©ma de partitionnement GPT pour amorcer, elles reprennent l’ancien format MBR pour Ă©viter les problĂšmes sur les machines non UEFI. Attention ! Une manipulation de derniĂšre minute est requise pour les systĂšmes i386 qui amorcent sur du ZFS ; lors du menu de dĂ©marrage, prĂ©cisez avant de lancer le systĂšme : ```sh set kern.kstack_pages=4 boot ``` Ajoutez ensuite `kern.kstack_pages=4` dans votre [`loader.conf`](https://www.freebsd.org/cgi/man.cgi?query=loader.conf&sektion=5&manpath=freebsd-release-ports). Mise Ă  jour ----------- Pour mettre Ă  jour depuis une version antĂ©rieure, suivez la procĂ©dure habituelle : ```sh # freebsd-update upgrade -r 11.2-RELEASE # freebsd-update install # shutdown -r now # freebsd-update install ``` Si vous mettez Ă  jour en compilant depuis les sources, n’hĂ©sitez pas Ă  forcer la suppression lors du nettoyage des fichiers obsolĂštes : ```sh make BATCH_DELETE_OLD_FILES=yes delete-old-libs ``` Sinon, attendez‐vous Ă  une longue sĂ©rie de questions due Ă  la mise Ă  jour du compilateur et de ses en‐tĂȘtes et bibliothĂšques. Machines virtuelles ------------------- Les images sont [disponibles](https://download.freebsd.org/ftp/releases/VM-IMAGES/11.2-RC1/) pour **QEMU**, **VMware** et **VirtualBox**. En ce qui concerne QEMU il vous faut appliquer [un correctif]( https://wiki.freebsd.org/arm64/QEMU) sur les architectures x86-64 et AArch64. Pour dĂ©marrer la machine virtuelle, lancez : ``` % qemu-system-aarch64 -m 4096M -cpu cortex-a57 -M virt \ -bios QEMU_EFI.fd -serial telnet::4444,server -nographic \ -drive if=none,file=%VMDISK%,id=hd0 \ -device virtio-blk-device,drive=hd0 \ -device virtio-net-device,netdev=net0 \ -netdev user,id=net0 ``` Et assurez‐vous de remplacer « `%VMDISK%` » par votre machine. Logiciels --------- Mettez ensuite Ă  jour vos logiciels. Je vous conseille de le faire depuis une [poudriĂšre](https://www.freebsd.org/doc/handbook/ports-poudriere.html), la mise Ă  jour de **CLang** pourrait rĂ©vĂ©ler des problĂšmes. HĂ©bergeurs ---------- **Amazon** propose des instances EC2 AMI dans de nombreuses rĂ©gions. Ces instances synchronisent leurs horloges par le biais des services NTP internes Ă  Amazon : _Amazon Time Sync Service_. ### Vagrant ``` % vagrant init freebsd/FreeBSD-11.2-RELEASE % vagrant up ``` Plusieurs problĂšmes de derniĂšre minute ont Ă©tĂ© signalĂ©s lors de l’utilisation de Vagrant ou VirtualBox : consultez les _errata_. Correctifs ========== SĂ©curitĂ© -------- * OpenSSH : CVE-2016-6515 ; * WPA : CVE-2017-13077 Ă  13082 et CVE-2017-13086 Ă  13088 ; * ptrace : fuite de donnĂ©es via `PT_LWPINFO` ; * kldstat : fuite de donnĂ©es ; * OpenSSL : CVE-2017-3735 et CVE-2017-3736 ; * IPsec : CVE-2018-6916 et CVE-2018-6918 ; * NTP : CVE-2018-7182, CVE-2018-7170, CVE-2018-7184, CVE-2018-7185 et CVE-2018-7183 ; * VT : CVE-2018-6917 ; * debug reg : CVE-2018-8897. Meltdown -------- Pour le contrer, FreeBSD intĂšgre la sĂ©paration de pages mĂ©moire entre le noyau et les processus ([PTI](https://en.wikipedia.org/wiki/Kernel_page-table_isolation)), qui doit ĂȘtre activĂ©e via une clef systĂšme : ```sh # sysctl vm.pmap.pti vm.pmap.pti: 1 ``` À ajouter Ă  votre `/boot/loader.conf`. Il est activĂ© par dĂ©faut sur les architectures non x86-64 et celles qui n’ont pas de RDCL. Spectre ------- Il convient avant tout de mettre Ă  jour son micrologiciel : Utilisez le _port_ [`sysutils/devcpu-data`](https://www.freshports.org/sysutils/devcpu-data/) pour tĂ©lĂ©charger les mises Ă  jour, puis lancez : ```sh #!/bin/sh for x in /dev/cpuctl* ; do cpucontrol -u -v ${x} done ``` Ou lancez la procĂ©dure Ă  chaque dĂ©marrage, Ă  l’aide de la variable `microcode_update_enable` dans [`rc.conf`](https://www.freebsd.org/cgi/man.cgi?query=rc.conf&sektion=5&manpath=freebsd-release-ports), aprĂšs avoir ajoutĂ© `cpuctl` dans votre `kld_list`. À noter que [`cpucontrol`](https://www.freebsd.org/cgi/man.cgi?query=cpucontrol&sektion=8&manpath=freebsd-release-ports) propose une nouvelle option, `-e`, qui va réévaluer les fonctionnalitĂ©s fournies par le ou les processeur(s). N’utilisez cette option que lorsque **tous** les *processeurs* ont Ă©tĂ© mis Ă  jour. Il existe deux mĂ©canismes pour contrer _Spectre_ : * le premier est de prendre en charge IBRS (_Indirect Branch Restricted Speculation_) : ```sh sysctl hw.ibrs_disable=0 # pour le dĂ©sactiver sysctl hw.ibrs_active # pour le vĂ©rifier 1 ``` * le second consiste Ă  s’assurer que votre systĂšme comme vos logiciels sont construits par un compilateur qui prend en charge le [_retpoline_](https://support.google.com/faqs/answer/7625886). Lazy FP state restore --------------------- Lors des changements de contexte de l’unitĂ© de calcul en virgule flottante (FPU), le mode _eager_ est intĂ©grĂ© et activĂ© par dĂ©faut sur les architectures x86 et x86-64, opposĂ© au mode _lazy_. Le gain en performance de ce dernier est moins pertinent avec les compilateurs modernes. Il s’agit de la sauvegarde, ou pas, des registres de l’unitĂ© de calcul en virgule flottante et d’éviter de s’exposer aux attaques de type [_Lazy FP state restore_](https://linuxfr.org/news/lazy-fpu-state-restore). Vous pouvez retrouver le mode _lazy_ en activant la clef `hw.lazy_fpu_switch` dans votre [`loader.conf(5)`](http://www.freebsd.org/cgi/man.cgi?query=loader.conf&sektion=5&manpath=FreeBSD+11.2-RELEASE). En vrac ------- * panic sur appel AIO dans un noyau VNET ; * crash sur appel de `pf_purge_thread` avec PF ; * micmac dans certaines rĂ©gions avec `tzsetup` ; * dĂ©passement de tampon dans `file` (utilisez _libmagic_ de toute façon) ; * memoire : accĂšs mĂ©moire noyau en mode utilisateur. NouveautĂ©s ========== Amorce ------ [`loader(8)`](https://www.freebsd.org/cgi/man.cgi?query=loader&sektion=8&manpath=freebsd-release-ports) contrĂŽle les fonctionnalitĂ©s ZFS prises en charge avant d’amorcer sur un _pool_. De plus, son interprĂ©teur a Ă©tĂ© amĂ©liorĂ© pour reconnaĂźtre correctement les simples et doubles guillemets. La longueur d’une phrase de passe GELI est cachĂ©e par dĂ©faut lors du dĂ©marrage. Consultez le manuel de [GELI](https://www.freebsd.org/cgi/man.cgi?query=geli&sektion=8&manpath=freebsd-release-ports) pour retrouver l’ancien comportement. Configuration ------------- La prise en charge d’un chien de garde (_watchdog_) matĂ©riel ne dĂ©pend plus de l’option noyau `SW_WATCHDOG`. Il est dĂ©sormais possible de l’activer dynamiquement via le dĂ©mon [`wathdog(8)`](https://www.freebsd.org/cgi/man.cgi?query=watchdogd&sektion=8&manpath=freebsd-release-ports). Le comportement de ce dernier avec le commutateur `--softtimeout` reste le mĂȘme. La variable `p1003_1b.aio_listio_max` a Ă©tĂ© rendue rĂ©glable et rĂ©duite Ă  : * un alias sur `vfs.aio.max_aio_queue_per_proc` sur lequel pointe dĂ©sormais les appels Ă  `lio_listio` ; * `vfs.aio.aio_listio_max` seul, sert dĂ©sormais pour les appels [`aio_supend(2)`] (https://www.freebsd.org/cgi/man.cgi?query=aio_suspend&apropos=0&sektion=2&manpath=FreeBSD+11.2-RELEASE+and+Ports). Vous pouvez importer le [`diff(1)`](https://www.freebsd.org/cgi/man.cgi?query=diff&sektion=1&manpath=freebsd-release-ports) venu d’OpenBSD Ă  la place de _gnu-diff_, par la variable `WITHOUT_GNU_DIFF` de [`src.conf(5)`](https://www.freebsd.org/cgi/man.cgi?query=src.conf&sektion=5&manpath=freebsd-release-ports). L’outil de vĂ©rification [`lint(1)`](https://www.freebsd.org/cgi/man.cgi?query=lint&sektion=1&manpath=freebsd-release-ports) n’est plus construit par dĂ©faut, ajoutez `WITH_LINT` dans votre [`src.conf(5)`](https://www.freebsd.org/cgi/man.cgi?query=src.conf&sektion=5&manpath=freebsd-release-ports) pour le retrouver. [`sysctl(8)`](https://www.freebsd.org/cgi/man.cgi?query=sysctl&sektion=8&manpath=freebsd-release-ports) prend en charge les tableaux de valeurs pour une clef, par ex. `kern.cp_time` : ```sh sysctl clef=value1,value2,etc. ``` La commande `usermod` de [`pw(8)`](https://www.freebsd.org/cgi/man.cgi?query=pw&sektion=8&manpath=freebsd-release-ports) rĂ©initialise la liste de groupes secondaires avec un commutateur `-G` vide (`''`). DĂ©sormais, on peut aussi utiliser les caractĂšres `@` et `!` dans les entrĂ©es _GECOS_ de [`/etc/passwd`](https://www.freebsd.org/cgi/man.cgi?query=passwd&sektion=5). Seul `:` y est interdit dĂ©sormais. [`getconf(1)`](https://www.freebsd.org/cgi/man.cgi?query=getconf&sektion=1&manpath=freebsd-release-ports) apporte le nouveau commutateur `-a` pour afficher toutes les variables systĂšme ou chemins POSIX, par dĂ©faut sur [`stdout(4)`](https://www.freebsd.org/cgi/man.cgi?query=getconf&sektion=1&manpath=freebsd-release-ports) ou vers le fichier donnĂ© en paramĂštre. [`cpucontrol(8)`](https://www.freebsd.org/cgi/man.cgi?query=cpucontrol&sektion=8&manpath=freebsd-release-ports) comprend l’option `-n` qui dĂ©sactive la recherche dans les rĂ©pertoires par dĂ©faut lors de l’utilisation de l’option `-d`. IntĂ©gration de l’outil [`efibootmgr(8)`](https://www.freebsd.org/cgi/man.cgi?query=efibootmgr&sektion=8&manpath=freebsd-release-ports) pour bricoler une amorce en EFI. libxo ----- [`libxo(3)`](https://www.freebsd.org/cgi/man.cgi?query=libxo&sektion=3&manpath=freebsd-release-ports), la bibliothĂšque qui permet de promouvoir la sortie d’un logiciel dans un [format dĂ©terminĂ©](https://www.freebsd.org/cgi/man.cgi?query=xo_parse_args&sektion=3&apropos=0&manpath=FreeBSD+11.2-RELEASE+and+Ports), est Ă  prĂ©sent livrĂ©e en version 0.9. DĂ©sormais, [sesutil(8)](https://www.freebsd.org/cgi/man.cgi?query=sesutil&sektion=8&manpath=freebsd-release-ports) prend en charge cette option. Noyau ----- Prise en charge de plusieurs signaux d’horloge temps rĂ©el : * ajout de la clef de rĂ©glage `debug.clocktime` pour dĂ©boguer ; * optimisations pour gĂ©rer la concurrence entre horloges ; * ajout de l’appel [`taskqueue_enqueue_timeout_sbt()`](https://www.freebsd.org/cgi/man.cgi?query=taskqueue&apropos=0&sektion=0&manpath=FreeBSD+11.2-RELEASE+and+Ports&arch=default&format=html) ; * ajout de l’appel `clock_schedule()` pour permettre aux pilotes d’horloge temps rĂ©el de gĂ©rer plus finement leurs appels Ă  [`clock_settime()`](https://www.freebsd.org/cgi/man.cgi?query=clock_settime&apropos=0&sektion=0&manpath=FreeBSD+11.2-RELEASE+and+Ports&arch=default&format=html). IntĂ©gration d’un correctif pour gĂ©rer la gamme [APL](https://www.intel.fr/content/www/fr/fr/embedded/products/apollo-lake/overview.html) (Apollo Lake) de chez Intel, Ă  retrouver sous la clef `machdep.idle_apl31`. La nouvelle clef `debug.acpi.suspend_bounce` va aider Ă  comprendre l’enfer des mises en veille. Le systĂšme procĂšde Ă  la mise en veille jusqu’à l’appel de `AcpiEnterSleepState()`. Alors, plutĂŽt que d’entrer en mise en veille, la carte va appeler `resumectx()` pour simuler le rĂ©veil. On attend vos retours. :) Linuxator --------- L’alternative [_musl_](https://www.musl-libc.org/) Ă  la _glibc_ est disponible. ImplĂ©mentation de `/dev/fd` et `/proc/self/fd` via [`fdescfs(5)`](https://www.freebsd.org/cgi/man.cgi?query=fdescfs&sektion=5&manpath=freebsd-release-ports). D’une maniĂšre gĂ©nĂ©rale, beaucoup de travail a Ă©tĂ© effectuĂ© pour retrouver un fonctionnement normal suite aux correctifs _Meltdown_ et _Spectre_. Le monde -------- Le comportement de l’outil [`ln(1)`](https://www.freebsd.org/cgi/man.cgi?query=ln&sektion=1&manpath=freebsd-release-ports) est corrigĂ© lors de l’appel avec le commutateur `-f` pour dĂ©lier en premier lieu un rĂ©pertoire avant de crĂ©er le lien symbolique. [`newsyslog(8)`](https://www.freebsd.org/cgi/man.cgi?query=newsyslog&sektion=8&manpath=freebsd-release-ports) prend en charge les messages compatibles avec la RFC 5424 lors de la rotation des journaux. La commande [`crontab(1)`](https://www.freebsd.org/cgi/man.cgi?query=crontab&sektion=1&manpath=freebsd-release-ports) comprend une nouvelle option `-f`, qui supprimera un fichier [`crontab(5)`](https://www.freebsd.org/cgi/man.cgi?query=crontab&sektion=5&manpath=freebsd-release-ports) sans confirmation si l’on active l’option `-r` hors d’un terminal. [rsh(8)](https://www.freebsd.org/cgi/man.cgi?query=rsh&sektion=1&manpath=freebsd-release-ports), _tiens il est encore lĂ _, Ă©vite de propager un [[EOF]] vers le systĂšme distant si l’option `-N` est utilisĂ©e. L’outil [`indent(1)`](https://www.freebsd.org/cgi/man.cgi?query=indent&sektion=1&manpath=freebsd-release-ports) respecte la variable d’environnement `SIMPLE_BACKUP_SUFFIX` pour fixer l’extension des sauvegardes. [`swapoff(8)`](https://www.freebsd.org/cgi/man.cgi?query=swapoff&sektion=8&manpath=freebsd-release-ports), appelĂ© avec les options `-aL`, ne dĂ©sactive la partition d’échange que pour les pĂ©riphĂ©riques dĂ©clarĂ©s _late_ dans votre [`/etc/fstab`](https://www.freebsd.org/doc/handbook/adding-swap-space.html). ### Analyser, surveiller, contrĂŽler la commande [`top(1)`](https://www.freebsd.org/cgi/man.cgi?query=top&sektion=1&manpath=freebsd-release-ports) comprend l’option `-U` qui permet de filtrer un utilisateur. Appuyez sur `u` pour en changer en cours d’affichage. [`bsdgrep(1)`](https://www.freebsd.org/cgi/man.cgi?query=bsdgrep&sektion=1&manpath=freebsd-release-ports) a Ă©tĂ© mis Ă  jour pour corriger plusieurs dĂ©fauts de dĂ©tection de motif. Il comprend de plus l’option `-r` et devient, de fait, un alias pour `rgrep`. [`ps(1)`](https://www.freebsd.org/cgi/man.cgi?query=ps&sektion=1&manpath=freebsd-release-ports) affiche de nouvelles informations : * affichage des prioritĂ©s de classe temps rĂ©el (`<`) et attente (`N`) dans la colonne _Ă©tat_ ; * un processus sous [`capsicum(8)`](https://www.freebsd.org/cgi/man.cgi?query=capsicum&sektion=4&manpath=freebsd-release-ports) sera indiquĂ© avec l’option `-C` ; * une clef `jail` pour afficher le nom plutĂŽt que l’identifiant d’une [_jail_](http://www.freebsd.org/cgi/man.cgi?query=jail&sektion=8&manpath=FreeBSD+11.2-RELEASE). Stockage et fichiers ------------------ [`makefs(8)`](https://www.freebsd.org/cgi/man.cgi?query=makefs&sektion=8&manpath=freebsd-release-ports) suit le comportement de [`newfs(8)`](https://www.freebsd.org/cgi/man.cgi?query=newfs&sektion=8&manpath=freebsd-release-ports) en rĂ©glant la taille des blocs et fragments Ă  32 Kio et 4 Kio, respectivement. L’outil [`diskinfo(8)`](https://www.freebsd.org/cgi/man.cgi?query=diskinfo&sektion=8&manpath=freebsd-release-ports) prĂ©sente dĂ©sormais de nouvelles informations : * le modĂšle et le numĂ©ro de sĂ©rie avec l’option `-s` ; * l’adresse au sein du contrĂŽleur avec l’option `-p` ; * la vitesse de rotation si le disque prend en charge `TRIM/UNMAP`. Les deux premiĂšres options sont exclusives. [`mount(8)`](https://www.freebsd.org/cgi/man.cgi?query=mount&sektion=8&manpath=freebsd-release-ports) pourra monter un systĂšme de fichiers en lecture uniquement aprĂšs une tentative de montage sur un systĂšme de fichiers protĂ©gĂ© en Ă©criture. Ce comportement doit ĂȘtre activĂ© par l’option `autoro`. Son pendant [`umount(8)`](https://www.freebsd.org/cgi/man.cgi?query=umount&sektion=8&manpath=freebsd-release-ports) permet de forcer le dĂ©montage d’un systĂšme de fichiers NFS par le commutateur `-N`. [`fsck_ffs(8)`](https://www.freebsd.org/cgi/man.cgi?query=fsck_ffs&sektion=8&manpath=freebsd-release-ports) Ă©vitera de signaler un systĂšme de fichiers comme Ă©tant modifiĂ© seulement si le tampon d’un super‐bloc a Ă©tĂ© modifiĂ©. En outre, cet outil sort en erreur si le systĂšme de fichiers n’est pas « rĂ©parĂ© ». [`mdmfs(8)`](https://www.freebsd.org/cgi/man.cgi?query=mdmfs&sektion=8&manpath=freebsd-release-ports), le remplaçant de [`mount_mfs(8)`](https://www.freebsd.org/cgi/man.cgi?query=mount_mfs&sektion=8&apropos=0&manpath=FreeBSD+11.2-RELEASE+and+Ports) prend en charge [`tmpfs(5)`](https://www.freebsd.org/cgi/man.cgi?query=tmpfs&sektion=5&manpath=freebsd-release-ports). `du(1)` et `df(1)` utilisent un affichage _long_ (*1000) de leurs donnĂ©es si l’option `--si` est utilisĂ©e. [`nvmecontrol(1)`](https://www.freebsd.org/cgi/man.cgi?query=nvmecontrol&sektion=8&manpath=freebsd-release-ports) donne la valeur complĂšte (sur 128 bits) de la donnĂ©e SMART et non plus seulement un code hexadĂ©cimal. Il intĂšgre, en outre, les options suivantes pour les disques Western DigitalÂź HGST : * `cap-diag`, `get-crash-dump`, `drive-log`, `purge` et `purge-monitor`. Le [gestionnaire ZFS par dĂ©faut](https://www.freebsd.org/cgi/man.cgi?query=zfsd&sektion=8&manpath=freebsd-release-ports) prend en charge tout type de contrĂŽleur GEOM, ce qui inclut : * [`md(4)`](https://www.freebsd.org/cgi/man.cgi?query=md&sektion=4&manpath=freebsd-release-ports), [`geli(8)`](https://www.freebsd.org/cgi/man.cgi?query=geli&sektion=8&manpath=freebsd-release-ports), [`glabel(8)`](https://www.freebsd.org/cgi/man.cgi?query=glabel&sektion=8&manpath=freebsd-release-ports) et [`gstripe(8)`](https://www.freebsd.org/cgi/man.cgi?query=gstripe&sektion=8&manpath=freebsd-release-ports). RĂ©seau ------ Le pare‐feu [`pftcl(8)`](https://www.freebsd.org/cgi/man.cgi?query=pfctl&sektion=8&manpath=freebsd-release-ports) interprĂšte la commande `route-to` de maniĂšre Ă  gĂ©rer correctement les interfaces avec adresses IP multiples. Les redirections *ICMPv6* ont Ă©tĂ© corrigĂ©es dans [`icmp6(4)`](https://www.freebsd.org/cgi/man.cgi?query=icmp6&sektion=4&manpath=freebsd-release-ports). Correction du pilote [_ng_iface_](ttps://www.freebsd.org/cgi/man.cgi?query=ng_iface&sektion=4&manpath=freebsd-release-ports) qui pouvait provoquer un crash. Le pare‐feu [`ipfw(4)`](https://www.freebsd.org/cgi/man.cgi?query=ipfw&sektion=4&manpath=freebsd-release-ports) dĂ©tecte correctement les paquets de niveau 2 et 3 suite Ă  une correction dans [`dummnet(4)`](https://www.freebsd.org/cgi/man.cgi?query=dummynet&sektion=4&manpath=freebsd-release-ports). Le [client DHCP](https://www.freebsd.org/cgi/man.cgi?query=dhclient&sektion=8&manpath=freebsd-release-ports) autorise la réécriture de `interface-mtu` via une commande `supersede` dans [`dhclient.conf(5)`](https://www.freebsd.org/cgi/man.cgi?query=dhclient.conf&sektion=5&manpath=freebsd-release-ports). Ce dernier amĂ©liore aussi sa compatibilitĂ© avec la [RFC 2131](https://www.ietf.org/rfc/rfc2131.txt) en affectant `0` dans l’adresse source des en‐tĂȘtes IP, lors de l’envoi d’un `DHCPREQUEST`, pour obtenir une adresse dĂ©jĂ  affectĂ©e. [`ifconfig(8)`](https://www.freebsd.org/cgi/man.cgi?query=ifconfig&sektion=8&manpath=freebsd-release-ports) comprend l’option `random` qui, combinĂ©e avec `ether`, va gĂ©nĂ©rer une adresse *MAC* alĂ©atoire. Pilotes et matĂ©riel ------------------- Le pilote pour [DRM en mode noyau](https://www.freshports.org/graphics/drm-next-kmod) (_Kernel Mode Setting_), venu de la branche *HEAD* (12) est disponible. Cela rendra le portage des pilotes Linux pour processeurs graphiques plus aisĂ©, l’interface Ă©tant commune. Les micrologiciels des processeurs grpahiques sont disponibles depuis le _port_ [_gpu-firmware-kmod_](https://www.freshports.org/graphics/gpu-firmware-kmod/). En vrac : * reconnaissance des cartes USB TAIO (TUMPA) ; * [`smartpqi(4)`](https://www.freebsd.org/cgi/man.cgi?query=smartpqi&sektion=4&manpath=freebsd-release-ports), apporte la prise en charge des contrĂŽleurs SCSI PQI de Microsemi ; il remplace le pilote [_aacraid_](https://www.freebsd.org/cgi/man.cgi?query=aacraid&sektion=4&manpath=freebsd-release-ports), mais uniquement sur AMD64. Pour le reste, il s’agit de pĂ©riphĂ©riques rĂ©seau : * [`ng_pppoe(4)`](https://www.freebsd.org/cgi/man.cgi?query=ng_pppoe&sektion=4&manpath=freebsd-release-ports), le protocole PPPoE permet dĂ©sormais d’ajouter une Ă©tiquette `Host-Uniq tags` dans les requĂȘtes de connexion ; * [`cxgbe(4)`](https://www.freebsd.org/cgi/man.cgi?query=cxgbe&sektion=4&manpath=freebsd-release-ports), Chelsio, dont la mise Ă  jour du microcode vers la version 1.16.63.0 permet la prise en charge des modĂšles T4, T5 et T6 ; * [`mlx5io(4)`](https://www.freebsd.org/cgi/man.cgi?query=mlx5io&sektion=4&manpath=freebsd-release-ports), Mellanox, amĂšne une interface pour piloter les cartes rĂ©seau Connect-X 4 et Connect-X 5 ; * [`ocs_fc(4)`](https://www.freebsd.org/cgi/man.cgi?query=ocs_fc&sektion=4&manpath=freebsd-release-ports), Broadcom/Emulex, apporte la prise en charge des Emulex 16/8G FC GEN 5 HBA LPe15004 et LPe160XX, et Emulex 32/16G FC GEN 6 HBA LPe3100X et LPe3200X (uniquement sur x86 et x86-64) en mode `target` et `initiator` et `FC-Tape` ; * [`ixl(4)`](https://www.freebsd.org/cgi/man.cgi?query=ixl&sektion=4&manpath=freebsd-release-ports), Intel XL710 40Gb, mise Ă  jour vers la version 1.9.9-k ;; * [`em(4)`](https://www.freebsd.org/cgi/man.cgi?query=em&sektion=4&manpath=freebsd-release-ports), activation du _Wake on LAN_ pour les gammes _Ice Lake_ et _Cannon Lake_. Virtualisation ============== [`bhyve(4)`](https://www.freebsd.org/cgi/man.cgi?query=bhyve&sektion=4&manpath=freebsd-release-ports) intĂšgre la [console VirtIO](https://www.freebsd.org/cgi/man.cgi?query=virtio_console&sektion=4&manpath=freebsd-release-ports). Ceci vous permettra de crĂ©er une connexion bidirectionnelle entre les systĂšmes hĂŽte et invitĂ©. Ainsi, vous pourrez crĂ©er un bus entre les deux, au‐dessus de _sockets_ UNIX, Ă  la maniĂšre de DBus. [FreeNAS](http://www.freenas.org/) s’en sert par exemple pour [surveiller un invitĂ©](https://github.com/freenas/bhyve-vm-goagent). Ajoutez un flux _virtio_ dans vos [Vmms](https://www.freebsd.org/doc/handbook/virtualization-host-bhyve.html) comme suit : ``` -s ,virtio-console,port1=/path/to/port1.sock,anotherport=... ``` L’hĂŽte va crĂ©er une [_socket_ UNIX](https://www.freebsd.org/cgi/man.cgi?query=bhyve&sektion=4&manpath=freebsd-release-ports) pour chaque port dĂ©clarĂ©, vous pouvez en mettre jusqu’à seize. En revanche, il vous faudra les dĂ©truire Ă  la main. * Chargez [le pilote](https://www.freebsd.org/cgi/man.cgi?query=virtio_console&sektion=4&manpath=freebsd-release-ports) depuis l’invitĂ© : ```sh kldload virtio_console ``` Vous avez accĂšs Ă  vos ports via une interface sĂ©rie `ttyV`. Xen ---- Correction d’un [bogue sur _pmap_](https://www.freebsd.org/security/advisories/FreeBSD-EN-18:07.pmap.asc) qui affecte les instances Xen et EC2. Dans ce cas de figure, un invitĂ© avait accĂšs Ă  des zones mĂ©moire libĂ©rĂ©es et provoquait un crash. Logiciel mis Ă  jour =================== * [libarchive(3)](https://www.freebsd.org/cgi/man.cgi?query=libarchive&sektion=3&manpath=freebsd-release-ports), version 3.3.2 ; * [Subversion](http://subversion.apache.org/), version 1.9.7 ; * [dtc(1)](https://www.freebsd.org/cgi/man.cgi?query=dtc&sektion=1&manpath=freebsd-release-ports), _commit_ 9ce35ff8 ; * [file(1)](https://www.freebsd.org/cgi/man.cgi?query=file&sektion=1&manpath=freebsd-release-ports), version 5.32 ; * [OpenSSH](https://www.openssh.com/), version 7.5p1 , * [mandoc(1)](https://www.freebsd.org/cgi/man.cgi?query=mandoc&sektion=1&manpath=freebsd-release-ports), version 1.14.3 ; * [tcpdump(1)](https://www.freebsd.org/cgi/man.cgi?query=tcpdump&sektion=1&manpath=freebsd-release-ports), version 4.9.2 ; * NTP, version 4.2.8p11 ; * [less(1)](https://www.freebsd.org/cgi/man.cgi?query=less&sektion=1&manpath=freebsd-release-ports), version v530 ; * [bmake](http://www.freebsd.org/cgi/man.cgi?query=make&sektion=1&manpath=FreeBSD+11.1-RELEASE), _upstream version_ 20180222 ; * [OpenSSL](https://www.openssl.org/), version 1.0.2o ; * [clang, llvm, lld, lldb, etc.](http://llvm.org/), version 6.0.0 ; * Timezone, version 2018e ; * [libxo(3)](https://www.freebsd.org/cgi/man.cgi?query=libxo&sektion=3&manpath=freebsd-release-ports), version 0.9.0 ; * [pkg(8)](https://www.freebsd.org/cgi/man.cgi?query=pkg&sektion=8&manpath=freebsd-release-ports), version 1.10.5. Au placard ========== Les outils et pilotes listĂ©s dans ce chapitre sont dĂ©clarĂ©s obsolĂštes, c’est‐à‐dire qu’un message d’avertissement sera diffusĂ© dans vos consoles si vous les utilisez. Ils seront supprimĂ©s dans la version 12 ; * [cm(4)](https://www.freebsd.org/cgi/man.cgi?query=cm&sektion=4&manpath=freebsd-release-ports), le pilote ArcNet sur bus ISA — je fais partie des (rares ?) personnes Ă  avoir travaillĂ© sur ce rĂ©seau, ceci dit ; * [fda(4)](https://www.freebsd.org/cgi/man.cgi?query=fpa&sektion=4&manpath=freebsd-release-ports), le pilote FDDI sur EISA ; * carte rĂ©seau : * [ixgb(4)](https://www.freebsd.org/cgi/man.cgi?query=ixgb&sektion=4&manpath=freebsd-release-ports), Intel PRO 10 GbE, * [nxge(4)](https://www.freebsd.org/cgi/man.cgi?query=nxge&sektion=4&manpath=freebsd-release-ports) et [vxge(4)](https://www.freebsd.org/cgi/man.cgi?query=vxge&sektion=4&manpath=freebsd-release-ports) Neterion Xframe et X3100 10 GbE, * [lmc(4)](https://www.freebsd.org/cgi/man.cgi?query=lmc&sektion=4&manpath=freebsd-release-ports), carte gĂ©nĂ©rique LMC (aujourd’hui SBE). Les classes [GEOM](https://www.freebsd.org/cgi/man.cgi?query=geom&sektion=4&manpath=freebsd-release-ports) geom_aes, geom_bsd, geom_mbr et geom_sunlabel sont remplacĂ©es par la classe `geom_part` (depuis FreeBSD 7, en fait). Ports ===== Un changement important a Ă©tĂ© apportĂ© aux _ports_. L’Ɠuvre de Baptiste Daroussin, les _ports_ ont maintenant un systĂšme de [_flavors_](https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/flavors-using.html). À ne pas confondre avec les options de compilation des paquets, ce systĂšme va permettre de construire diffĂ©rents paquets depuis un seul et unique _port_. Cela est trĂšs pratique pour les applications qui proposent diffĂ©rentes interfaces graphiques. On notera, par exemple, le cas de [Vim](https://www.freshports.org/editors/vim/) qui propose une version console, GTK ou X11. L’intĂ©rĂȘt supplĂ©mentaire est de pouvoir dĂ©pendre d’un _port_ avec une certaine configuration. Ainsi, un _port_ A qui dĂ©pend d’un _port_ B, avec GTK obligatoire, pourra le spĂ©cifier. Cette technique Ă©tait jusqu’à prĂ©sent gĂ©rĂ©e avec des _ports_ « _slave_ ». Un autre cas d’utilisation est la fourniture des paquets [Python](https://svnweb.freebsd.org/ports/head/Mk/Uses/python.mk?view=markup) en version 3.x et 2.x depuis le mĂȘme _port_. Cela a aussi Ă©tĂ© fait pour [PHP](https://svnweb.freebsd.org/ports/head/Mk/Uses/php.mk?view=markup). À venir ======= La prochaine version majeure de FreeBSD, soit la version 12, devrait ĂȘtre disponible [en fin d’annĂ©e](https://www.freebsd.org/releases/12.0R/schedule.html). DĂšs lors, la [branche 10](https://www.freebsd.org/releases/10.4R/announce.html) entrera en fin de vie. L’[EuroBSDcon](https://2018.eurobsdcon.org/) se dĂ©roulera du 20 au 23 septembre Ă  Bucarest. La troisiĂšme Ă©dition d’[_Absolute FreeBSD_](https://www.michaelwlucas.com/os/af3e) est disponible sous format numĂ©rique et en prĂ©commande pour les Ă©ditions papier. Depuis 2005, FreeBSD participe au [_Google Summer of Code_](https://www.freebsd.org/projects/summerofcode.html). En lien, la liste de projets suggĂ©rĂ©s par et pour [FreeBSD cette annĂ©e](https://wiki.freebsd.org/SummerOfCodeIdeas). Intel ----- Intel prĂȘte une oreille attentive Ă  la communautĂ© FreeBSD, notamment par le biais de [Ben Widawsky](https://bwidawsk.net/blog/index.php/2018/06/i965-compiler-architecture-from-2015/), dĂ©veloppeur et architecte sur la pile graphique Intel pour Linux, qui a dĂ©cidĂ© de se consacrer Ă  FreeBSD. Il se propose de remonter toute proposition — d’une maniĂšre gĂ©nĂ©rale — aux Ă©quipes concernĂ©es. Il a dĂ©jĂ  [une liste bien remplie](https://bwidawsk.net/blog/index.php/2018/06/freebsd-work-week-2/). Elle rejoint la [liste officielle](https://wiki.freebsd.org/IdeasPage). Avec l’intĂ©gration du pilote DRM en KMS dans FreeBSD et la libĂ©ration du code de son pilote [Media (iHD)](https://github.com/intel/media-driver) et du [SDK associĂ©](https://github.com/Intel-Media-SDK/MediaSDK) fin 2017, on peut espĂ©rer l’arrivĂ©e d’une pile Media pour les processeurs graphique d’Intel. D’un autre cĂŽtĂ©, la derniĂšre version de [VTune Amplifier](https://software.intel.com/en-us/vtune-amplifier-help-freebsd-system-setup) a Ă©tĂ© portĂ©e sous FreeBSD. C’est le seul Ă©lĂ©ment de [System Studio 2018](https://software.intel.com/en-us/system-studio) disponible pour l‘instant.

AltStyle ă«ă‚ˆăŁăŠć€‰æ›ă•ă‚ŒăŸăƒšăƒŒă‚ž (->ă‚ȘăƒȘă‚žăƒŠăƒ«) /