Version FreeBSD 14.0

Deux ans et demi après la publication de la branche 13.0, la version FreeBSD 14.0 a été créée. Les images d'installation sont préparées pour les architectures amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv7, aarch64 et riscv64. De plus, des assemblys ont été préparés pour les systèmes de virtualisation (QCOW2, VHD, VMDK, raw) et les environnements cloud Amazon EC2, Google Compute Engine et Vagrant. La branche FreeBSD 14 sera la dernière à prendre en charge les plateformes 32 bits. FreeBSD 15 ne prendra en charge que les systèmes 64 bits, mais conservera la possibilité de créer des programmes 32 bits et d'utiliser le mode COMPAT_FREEBSD32 pour exécuter des exécutables 32 bits dans un environnement 64 bits.

Les principaux changements:

  • Le shell par défaut pour l'utilisateur root est /bin/sh.
  • Pour les appareils NVME, le pilote nda est activé par défaut sur toutes les plateformes. Pour renvoyer l'ancien pilote nvd, le paramètre « hw.nvme.use_nvd=1 » est fourni dans loader.conf.
  • Un nouvel utilitaire "fwget" a été ajouté pour identifier le matériel nécessitant un micrologiciel et installer les packages de micrologiciels appropriés. Actuellement, seuls les périphériques PCI et les micrologiciels pour les GPU Intel et AMD sont pris en charge.
  • Ajout d'un nouvel utilitaire base64 pour l'encodage et le décodage des données base64.
  • Ajout de l'utilitaire tcpsso, qui vous permet de définir les options de socket pour les connexions TCP existantes (par exemple, vous pouvez modifier le module de contrôle de congestion ou la pile TCP).
  • L'agent de distribution de courrier par défaut est dma (DragonFly Mail Agent) au lieu de sendmail. Sendmail a été conservé dans le package de base et mis à jour vers la version 8.17.1.
  • KTLS, l'implémentation du noyau FreeBSD du protocole TLS, ajoute la prise en charge de l'accélération matérielle TLS 1.3 du côté réception. L'accélération est assurée en déplaçant certaines opérations liées au traitement des paquets chiffrés côté carte réseau.
  • La directive « .include » a été ajoutée au fichier de configuration jail.conf, qui permet d'inclure des fichiers supplémentaires lors du chargement de la configuration, dont les chemins permettent l'utilisation de masques. Le paramètre sysctl security.bsd.see_jail_proc a été étendu, avec l'aide duquel il peut désormais être interdit aux utilisateurs non autorisés dans un environnement de prison distinct de forcer l'arrêt, de modifier la priorité et de déboguer les processus.
  • Les programmes pw et bsdinstall créent désormais des utilisateurs par défaut dans le répertoire /home plutôt que dans /usr/home. Le lien symbolique pour "/home" pointant vers "/usr/home" n'est plus créé.
  • Désactivé par défaut le paramètre de construction PROFILE - les versions profilées des bibliothèques système ne sont plus fournies, les outils de profilage matériel (hwpmc) doivent être utilisés à la place.
  • Activation de la construction de fichiers exécutables pour les architectures 64 bits en mode PIE (Position Independent Executable).
  • La possibilité de transférer l'accès au TPM (Trusted Platform Module) et au GPU (dans les environnements virtuels pour les puces AMD et Intel) a été ajoutée à l'hyperviseur Bhyve.
  • L'implémentation du système de fichiers ZFS a été mise à jour vers la version OpenZFS 2.2. L'utilitaire makefs a ajouté la prise en charge du système de fichiers ZFS. Offre la possibilité de créer un pool ZFS associé à un seul disque virtuel vdev.
  • Le nombre de cœurs de processeur pris en charge (paramètre MAXCPU) dans les systèmes basés sur l'architecture amd256 et arm1024 a été augmenté de 64 à 64.
  • Dans UFS, pour les configurations dans lesquelles la journalisation (mises à jour logicielles) est activée, les vérifications en arrière-plan du système de fichiers sont autorisées à l'aide d'instantanés UFS. Des contrôles de hachage supplémentaires ont été ajoutés aux superblocs, aux cartes de groupes de cylindres et aux inodes pour détecter la corruption.
  • Ajout du système de fichiers tarfs, qui peut être utilisé avec les archives tar compressées avec zstd.
  • Ajout de la boîte à outils boottrace pour suivre les événements survenus lors du démarrage et de l'arrêt du système.
  • Ajout d'une option de configuration du noyau FIRECRACKER pour permettre à FreeBSD de s'exécuter sur le système de virtualisation Firecracker, conçu pour exécuter des machines virtuelles avec une surcharge minimale. Le temps de démarrage du noyau FreeBSD 14 exécutant Firecracker a été augmenté à 25 millisecondes, permettant ainsi de lancer les environnements FreeBSD selon les besoins pour implémenter une infrastructure informatique sans serveur.
  • Le chargeur, écrit en Lua, dans un environnement sandbox spécial, prend en charge l'exécution des fichiers lua situés dans le répertoire loader_conf_files.
  • La prise en charge de NFS a été étendue. Ajout d'une nouvelle option de montage « syskrb5 » pour prendre en charge Kerberos dans NFSv 4.1/4.2 et ajout de la prise en charge de l'opération ExchangeID. Implémentation de la possibilité d'exécuter nfsd, nfsuserd, mountd, gssd et rpc.tlsservd dans un environnement réseau vnet isolé.
  • Le script growfs implémente la possibilité de placer la partition d'échange à la fin de la zone extensible du disque.
  • Un nouveau fournisseur DTrace kinst (dtrace_kinst) a été ajouté, permettant le traçage des structures du noyau.
  • La prise en charge de l'algorithme de chiffrement XChaCha20-Poly1035 AEAD a été ajoutée au sous-système de chiffrement du noyau et une API a été ajoutée pour utiliser la courbe elliptique Curve25519 (pour WireGuard).
  • Temps de redémarrage réduit. Ajout du paramètre sysctl kern.reboot_wait_time, grâce auquel vous pouvez modifier le délai avant le redémarrage réel une fois que tous les messages de diagnostic sont affichés sur la console. Par défaut, le délai est supprimé.
  • Le sous-système timerfd a été ajouté au noyau, facilitant le portage de programmes depuis Linux.
  • Ajout de sysctl machdep.mitigations.zenbleed.enable pour bloquer la vulnérabilité Zenbleed sur les processeurs AMD Zen2.
  • La prise en charge du Wi-Fi 6 a été ajoutée à wpa_supplicant et hostapd. Le pilote iwlwifi prend en charge les puces Intel prenant en charge le Wi-Fi 6E AX411/AX211/AX210.
  • Le noyau des systèmes amd64 prend en charge les outils AddressSanitizer et MemorySanitizer du projet LLVM.
  • Les scripts rc.d permettent l'utilisation de la méthode status, même si le nom du programme (procname) et le fichier PID ne sont pas définis dans le script.
  • Le débit en bauds par défaut du noyau, du chargeur de démarrage et du port série de l'espace utilisateur a été augmenté de 9600 115200 bps à 800 1 bps. Le bip par défaut est réglé sur XNUMX Hz. L'intégration avec Devd est fournie pour émettre des bips via la carte son. Pour la console vt, le bip est désactivé par défaut (pour l'activer, vous devez exécuter les commandes « sysctl kern.vt.enable_bell=XNUMX » et « kbdcontrol -b normal »).
  • Prise en charge améliorée de l'architecture d'accélération matérielle réseau NXP DPAA2 (Data Path Acceleration Architecture Gen2).
  • Ajout du pilote igc pour les contrôleurs Ethernet Intel I225, prenant en charge une vitesse de 2.5 Gbit/s.
  • Par défaut, le paramètre net.inet.tcp.nolocaltimewait est activé, ce qui désactive la création d'enregistrements timewait pour les connexions TCP terminées côté système local.
  • La prise en charge du protocole de communication Netlink (RFC 3549), utilisé sous Linux pour organiser l'interaction du noyau avec les processus dans l'espace utilisateur, a été étendue et activée par défaut. Certains utilitaires réseau ont été convertis pour utiliser Netlink.
  • Le filtre de paquets pf assure la compatibilité avec la syntaxe et le comportement des opérations de normalisation des paquets (scrubbing) de la version OpenBSD de pf. pfsync implémente la possibilité d'utiliser le transport IPv6. Le format de paquet pfsync a été étendu pour prendre en charge les files d'attente, la normalisation des paquets et les règles de route vers.
  • Ajouté à l'interface réseau if_stf (IPv6 sur IPv4) Prise en charge d'IPv6 Déploiement rapide (RFC 5969). Le mode nodeinfo IPv6 (RFC 4620) est désactivé par défaut.
  • Le paramètre net.inet.tcp.nolocaltimewait sysctl est activé par défaut, désactivant la création d'entrées d'état timewait pour les connexions TCP interrompues localement.
  • Par défaut, TCP utilise le mécanisme de contrôle de congestion du réseau CUBIC au lieu de NewReno, ce qui permet une meilleure utilisation de la bande passante disponible.
  • IPv4 désactive l'envoi de paquets de diffusion à l'adresse de sous-réseau zéro, sauf si cette adresse est explicitement déclarée comme adresse de diffusion. Le changement permet aux hôtes d'utiliser des adresses se terminant par ".0".
  • Les paramètres OpenSSH ont été modifiés : dans scp le protocole SFTP est activé par défaut à la place de scp/rcp, le support des signatures RSA/SHA-1 est désactivé, les paramètres VerifyHostKeyDNS et X11Forwarding sont définis sur « no », la directive VersionAddendum est supprimée, la prise en charge des paramètres HPN est supprimée.
  • Ajout de l'option "-z" à l'utilitaire de date pour convertir les fuseaux horaires.
  • L'option « --color » a été ajoutée à l'utilitaire diff pour visualiser les changements de couleur.
  • L'utilitaire de veille prend désormais en charge les unités autres que les secondes (par exemple, vous pouvez spécifier « veiller 1h 30 min »).
  • La prise en charge des options « -q » et « -h » a été ajoutée aux utilitaires de tête et de queue, et la possibilité de spécifier des valeurs avec des suffixes dans le système international d'unités SI a été implémentée. Dans head, la limite du nombre maximum de lignes de 2^31 a été supprimée.
  • Ajout de la commande "iolat" à l'utilitaire systat pour afficher des informations sur les latences d'E/S calculées par le planificateur CAM.
  • La bibliothèque libncursesw est divisée en deux bibliothèques, libtinfow et libncursesw. Ajout de la prise en charge de l'utilisation de la base de données terminfo dans ncurses, et pas seulement de termcap.
  • Pour l'architecture aarch64 (arm64), l'option de construction COMPAT_LIB32 a été implémentée et activée par défaut, fournissant l'assemblage de bibliothèques 32 bits pour les systèmes ARM64 qui permettent d'exécuter des fichiers exécutables compilés pour la plate-forme armv7.
  • Prise en charge améliorée des systèmes cloud. Des versions expérimentales avec le système de fichiers racine ZFS et cloud-init ont été ajoutées pour AWS EC2. Pour Azure, des images sont fournies pour les architectures arm64 et amd64, avec un choix d'UFS ou de ZFS. Ajout d'un pilote pour la carte réseau virtuelle GVE (Google Virtual NIC).
  • Le système ACPI a ajouté la prise en charge de la valeur seuil _CR3, qui vous permet de définir la température à laquelle le système passera en mode veille (S3).
  • Versions mises à jour d'applications et de bibliothèques tierces incluses dans le système de base : OpenSSH 9.5p1, OpenSSL 3.0.12 (la branche 1.1.1 était utilisée auparavant), awk 2021072, bc 6.6.0, libbsdxml 2.4.7, libfido2 1.13.0 , tcpdump 4.99.4 , libpcap 1.10.4, xz 5.4.3, zlib 1.3, zstd 1.5.2. L'implémentation de l'utilitaire objdump a été remplacée par llvm-objump. Le compilateur Clang a été mis à jour vers la branche 16.
  • Les systèmes obsolètes ont été nettoyés :
    • La prise en charge des mots de passe à usage unique OPIE a été supprimée du système de base (le port de sécurité/opie peut être configuré pour reprendre son utilisation).
    • Les pilotes pour les cartes son avec interface ISA ont été supprimés.
    • Les utilitaires fmtree et minigzip ont été supprimés.
    • Suppression des composants ATM dans netgraph (NgATM).
    • Le processus en arrière-plan telnetd a été supprimé (vous pouvez utiliser le port net/freebsd-telnetd).
    • Suppression de la classe VINUM dans geom.
    • Suppression des pilotes amr, iscsi_initiator, iir, mn, mly, nlmrsa et twa obsolètes.
    • Le paramètre VESA a été supprimé des cœurs GENERIC et MINIMAL.
    • La prise en charge des opérations cryptographiques asymétriques a été supprimée du cadre cryptographique au niveau du noyau OCF (Open Cryptographic Framework).
    • L'utilitaire mergemaster est obsolète et doit être remplacé par etcupdate.
    • L'utilitaire portsnap a été supprimé (vous devez utiliser "git clone https://git.FreeBSD.org/ports.git /usr/ports" pour extraire les ports).
    • La génération des assemblys pour l'architecture armv6 a été arrêtée.
    • Suppression de la prise en charge de l'architecture MIPS.

Source: opennet.ru

Ajouter un commentaire