La version 4.0 du système d'exploitation orienté bureau MidnightBSD, basé sur FreeBSD avec des éléments portés depuis DragonFly BSD, OpenBSD et NetBSD, a été publiée. L'environnement de bureau de base est construit sur Xfce (il est également possible d'installer la combinaison GNUstep + Window Maker + GWorkspace). Contrairement à d'autres distributions de bureau de FreeBSD, MidnightBSD a été initialement développé comme un fork de FreeBSD 6.1-beta, qui a été synchronisé en 2011 avec la base de code de FreeBSD 7 et a ensuite intégré de nombreuses fonctionnalités des branches FreeBSD 9-13. Pour la gestion des paquets, MidnightBSD utilise le système mport, qui utilise une base de données SQLite pour stocker les index et les métadonnées, ou l'outil Ravenports. Une image d'installation de 1 Go (i386, amd64) a été préparée pour le téléchargement.
La sortie est marquée par la mise à jour des versions des bibliothèques tierces et le transfert de correctifs et de nouvelles fonctionnalités depuis la branche FreeBSD 13. Les principales nouveautés :
- Le gestionnaire de paquets mport a été mis à jour vers la version 2.7.3, qui permet la vérification de ports individuels avec la commande « mport verify » et la restauration des sommes de contrôle avec la commande « mport verify -r ». La commande mport_install supporte désormais la gestion des dépendances.
- Dans les programmes init, service et cron, des variables d'environnement définies pour l'utilisateur ou la classe d'utilisateurs via login.conf sont utilisées.
- Le noyau a été ajouté avec le support du mappage mémoire en mode W^X, interdisant l'accès en écriture et l'exécution simultanés.
- Au lieu de GNU grep, une version de l'utilitaire grep sous licence BSD est utilisée.
- Un appel système compatible avec Linux, copy_file_range, ainsi que les appels système aio_readv et aio_writev ont été ajoutés.
- Le support du débogage des processus via procfs a été ajouté.
- Un pilote backlight pour la gestion de l'éclairage a été ajouté.
- Le pilote cpufreq a été amélioré avec le support de la technologie Intel Speed Shift.
- Dans le client et le serveur NFS, le support de NFSv4.2, NFS over TLS et des attributs étendus a été ajouté.
- La transition vers l'implémentation du système de fichiers ZFS du projet OpenZFS (2.1.15) a été effectuée.
- L'implémentation du sous-système FUSE a été mise à jour vers la version 7.28 avec le support de FUSE_COPY_FILE_RANGE et FUSE_LSEEK.
- Le stack TCP a intégré le support de l'algorithme de réduction proportionnelle de l'intensité d'envoi de paquets (Proportional Rate Reduction, RFC 6937), permettant de rétablir plus rapidement les paramètres optimaux du flux après des problèmes temporaires de transmission de données.
- Le support des VLAN imbriqués (802.1ad) a été ajouté.
- Le support du protocole SCTP a été transféré dans un module séparé sctp.ko, qui est désactivé par défaut dans le noyau GENERIC.
- Des algorithmes de recherche de routes de DPDK (Data Plane Development Kit) librte ont été ajoutés, permettant d'optimiser le travail avec des tables de routage très volumineuses.
- Sur les architectures 64 bits, le système de base est compilé par défaut avec le support de PAE (Position Independent Executable).
- Un pilote iwlwifi pour les cartes sans fil Intel a été ajouté, avec support des nouvelles puces et du standard 802.11ac. Le pilote est basé sur le pilote Linux et le code du sous-système Linux net80211, dont le fonctionnement sous FreeBSD est assuré par une couche linuxkpi.
- Pour tous les fichiers exécutables du système de base sur des plateformes 64 bits, la randomisation de l'espace d'adressage (ASLR, Address Space Layout Randomization) est activée par défaut.
- Le support du protocole de communication Netlink (RFC 3549), utilisé dans Linux pour organiser l'interaction entre le noyau et les processus en espace utilisateur, a été mis en œuvre.
- Le hyperviseur Bhyve a ajouté le support de l'accès partagé aux fichiers via VirtIO-9p (VirtFS), le support des dispositifs PCI HDAudio et la possibilité de travailler avec des snapshots. machines virtuelles.
- Un ensemble de pilotes VirtIO, prenant en charge la spécification VirtIO V1, a été ajouté. Un pilote pvscsi pour les contrôleurs SCSI paravirtualisés a été ajouté.
- Une implémentation TLS (kTLS) fonctionnant au niveau du noyau a été ajoutée.
- Les versions LLVM 19.1.7, unbound 1.23.0, OpenSSH 9.9p2, lua 5.4.2, wpa+hostapd 2.11 ont été mises à jour.
- gcc, libdispatch et binutils ont été supprimés.

Source : opennet.ru
