Μετά από έξι μήνες ανάπτυξης, κυκλοφόρησε το FreeBSD 15.1. Διατίθενται εκδόσεις εγκατάστασης για τις αρχιτεκτονικές amd64, aarch64, armv7, powerpc64, powerpc64le και riscv64. Επιπλέον, διατίθενται εκδόσεις για συστήματα εικονικοποίησης (QCOW2, VHD, VMDK, raw) και περιβάλλοντα cloud όπως Amazon EC2, Google Compute Engine και Vagrant. Το FreeBSD 15.1 θα υποστηρίζεται μέχρι τον Απρίλιο του 2027 και οι ενημερώσεις για τον κλάδο 15.x θα κυκλοφορήσουν μέχρι τις 31 Δεκεμβρίου 2029.
Βασικές αλλαγές:
- Τα προγράμματα οδήγησης ασύρματων συσκευών rtw88 (Realtek 802.11n/ac), rtw89 (Realtek 802.11ax) και iwlwifi (Intel 02.11a/b/g/n/ac/ax/be) συγχρονίζονται με τον πυρήνα. Linux 7.0.
- Ο πυρήνας υλοποιεί ένα πλαίσιο επιλογής χρονοπρογραμματιστή εργασιών. Εκτός από τον προεπιλεγμένο χρονοπρογραμματιστή SCHED_ULE, η διαμόρφωση του πυρήνα σε συστήματα amd64 περιλαμβάνει πλέον μια έκδοση του κλασικού χρονοπρογραμματιστή εργασιών SCHED_4BSD. Η παράμετρος kern.sched sysctl έχει προστεθεί για την επιλογή του χρονοπρογραμματιστή εργασιών κατά την εκκίνηση.
- Ολοκληρώθηκαν οι εργασίες για την υποστήριξη του προτύπου C23 στη βάση κώδικα για μεταγλωττιστές που δημιουργούν σε λειτουργία C23. Αναμένεται πλήρης υποστήριξη για το πρότυπο C23 στον κλάδο FreeBSD 16. Το νέο πρότυπο προσθέτει τις σταθερές nullptr, τον τύπο _BitInt(n) και τις λέξεις-κλειδιά bool, true και false, οι οποίες θα μπορούσαν να έρθουν σε διένεξη με τα αναγνωριστικά με το ίδιο όνομα που ορίζονται σε παλαιότερο κώδικα. Η υποστήριξη για το C23 θα επιτρέψει στον κώδικα του FreeBSD να χρησιμοποιεί νέες λειτουργίες γλώσσας, όπως το αρχείο κεφαλίδας stdbit.h, τη συνάρτηση memalignment(), τα ενημερωμένα limits.h και stdint.h με τη μακροεντολή _WIDTH και τον τύπο char8_t.
- Το φίλτρο πακέτων ipfw έχει τη δυνατότητα να καθορίζει αυθαίρετες μάσκες σε πίνακες (πίνακες αναζήτησης), επιτρέποντάς σας να αγνοήσετε οποιονδήποτε συνδυασμό bit σε κλειδιά και στοιχεία πίνακα, για παράδειγμα, μπορείτε να χρησιμοποιήσετε μη διαδοχικές μάσκες. Διευθύνσεις IP, όπως "lookup src-ip4:255.255.253.255. Αφαιρέθηκε κώδικας για συμβατότητα με εκδόσεις του φίλτρου πακέτων ipfw που κυκλοφορούσαν πριν από το FreeBSD 8.
- Τα πακέτα IPv6 μπορούν πλέον να δρομολογηθούν σε υποδοχές εκτροπής που προηγουμένως υποστήριζαν μόνο IPv4. Η σημαία 'stableaddr' έχει προστεθεί στην εντολή ifconfig για τη δημιουργία σταθερών διευθύνσεων IPv6 που είναι συνεπείς σε όλα τα υποδίκτυα (Stateless Address Autoconfiguration, RFC 7217).
- Το προεπιλεγμένο κέλυφος για τους χρήστες "root" και "freebsd" έχει αλλάξει από csh σε sh.
- Προστέθηκε το βοηθητικό πρόγραμμα setaudit για τη διαχείριση πολιτικών ελέγχου συστήματος.
- Το βοηθητικό πρόγραμμα εύρεσης έχει ενημερωθεί με τις επιλογές "-xattr" και "-xattrname" για την αναζήτηση αρχείων με βάση τα εκτεταμένα χαρακτηριστικά αρχείων.
- Το βοηθητικό πρόγραμμα newfs έχει ενημερωθεί με την επιλογή "-u" για την απενεργοποίηση των ενημερώσεων μέσω λογισμικού και της καταγραφής σε χρονικά διαστήματα για το UFS2.
- Το βοηθητικό πρόγραμμα ipfs, το οποίο χρησιμοποιήθηκε για την αποθήκευση και την επαναφορά πινάκων μετάφρασης διευθύνσεων, έχει καταργηθεί από προεπιλογή και η λειτουργικότητα που απαιτείται για τη λειτουργία του έχει απενεργοποιηθεί στον πυρήνα (αυτό μπορεί να αποκατασταθεί στις ρυθμίσεις δημιουργίας).
- Το σενάριο bsdinstall από προεπιλογή εγκαθιστά το pkgbase με τα στοιχεία που καθορίζονται στη μεταβλητή COMPONENTS. Η παλαιότερη μέθοδος εγκατάστασης που βασίζεται σε distset παραμένει διαθέσιμη εάν έχει οριστεί η μεταβλητή DISTRIBUTIONS.
- Οι συναρτήσεις tdestroy έχουν προστεθεί στις τυπικές βιβλιοθήκες,
στρντούπα,
στρντούπα,
posix_spawnattr_getexecfd_np,
posix_spawnattr_setexecfd_np,
pthread_tryjoin_np.
Οι συναρτήσεις memcpy, memmove και memset στα συστήματα AArch64 χρησιμοποιούν βελτιστοποιήσεις που βασίζονται σε εντολές Λειτουργιών Μνήμης (MOPS). - Έχει προστεθεί η βιβλιοθήκη libuvmem, η οποία παρέχει μια υλοποίηση του μηχανισμού κατανομής μνήμης vmem στον χώρο χρήστη και ένα API συμβατό με vmem για εφαρμογές.
- Σε εικόνες για εικονικές μηχανές Για συστήματα cloud, περιλαμβάνεται ο διαχειριστής πακέτων pkg και υλοποιείται υποστήριξη για ατομική ενημέρωση του πακέτου με το βασικό σύστημα κατά την πρώτη εκκίνηση.
- Η διαμόρφωση του πυρήνα MINIMAL περιλαμβάνει το πρόγραμμα οδήγησης virtio_scsi, το οποίο επιτρέπει στο σύστημα να εκκινήσει σε εικονικές μηχανές με βάση το qemu/kvm.
- Οι κλήσεις συστήματος pdwait και pdfork έχουν υλοποιηθεί για τον νέο μηχανισμό δημιουργίας και τερματισμού διεργασιών που χρησιμοποιεί περιγραφείς διεργασιών.
- Στο ενδιάμεσο στρώμα για συμβατότητα με Linux Προστέθηκε η fcntl F_DUPFD_QUERY, η οποία χρησιμοποιεί το kcmp KCMP_FILE για να ελέγξει τον περιγραφέα αρχείου στο Linux-δοχεία.
- Περιλαμβάνεται μια έκδοση του προγράμματος οδήγησης iwx για ασύρματους προσαρμογείς Intel AX210/AX211/AX411 με υποστήριξη Wi-Fi 6E και Wi-Fi 7.
- Τα προγράμματα οδήγησης έχουν ενημερωθεί. Έχει προστεθεί υποστήριξη για τους προσαρμογείς δικτύου Ethernet Intel E835-XXV-4 και Intel E835, καθώς και για τους ελεγκτές RAID που χρησιμοποιούνται σε διακομιστές Fujitsu PRIMERGY, καθώς και μονάδες δίσκου NVMe που χρησιμοποιούνται στο Google Compute Engine C4. Βελτιωμένη υποστήριξη για μητρικές Raspberry Pi. Προστέθηκε υποστήριξη για μετρητές παρακολούθησης απόδοσης (hwpmc) που παρέχονται από CPU Intel Alder Lake, Alder Lake-N και Emerald Rapids.
- Το πρόγραμμα οδήγησης hid έχει ρυθμιστεί ώστε να παρέχει πρόσβαση στους χρήστες της ομάδας παιχνιδιών, επιτρέποντας την πρόσβαση στους ελεγκτές παιχνιδιών χωρίς κλιμάκωση δικαιωμάτων χρησιμοποιώντας βιβλιοθήκες όπως η libsdl.
- Το βοηθητικό πρόγραμμα mt παρέχει συμβατότητα με μονάδες ταινίας που υποστηρίζουν τα πρότυπα LTO-10 και LTO-10P (Linear Tape-Open Generation 10).
- Η εντολή zpool prefetch υποστηρίζει πλέον μεταδεδομένα BRT (Πίνακας Αναφοράς Μπλοκ), βελτιώνοντας την απόδοση της κλωνοποίησης και της αποδέσμευσης μπλοκ.
- Το πρόγραμμα-πελάτης NFS υποστηρίζει πλέον την εξαγωγή συστημάτων αρχείων μέσω NFS στα οποία δεν γίνεται διάκριση πεζών-κεφαλαίων σε ονόματα αρχείων και καταλόγων.
Έχει υλοποιηθεί υποστήριξη για την προσάρτηση ενός διαμερίσματος NFS ως ριζικού συστήματος αρχείων και την αντιστοίχιση ονομάτων χρηστών ή αναγνωριστικών μέσω του nfsuserd για εκκίνηση χωρίς δίσκο μέσω NFSv4. Έχει προστεθεί αρχική υποστήριξη για την επέκταση NFSv4.2 με ACL POSIX. διακομιστή και ο πελάτης NFSv4 πρόσθεσε υποστήριξη για το χαρακτηριστικό αρχειοθέτησης (UF_ARCHIVE) που χρησιμοποιείται στον πελάτη NFS Windows. - Η διεπαφή splash σάς επιτρέπει πλέον να ορίσετε μια οθόνη splash σε μορφή PNG που θα εμφανίζεται όταν το σύστημα τερματίζεται.
- Προστέθηκε το sysctl net.inet.ipf.jail_allowed, το οποίο σας επιτρέπει να συνδέσετε το δικό σας σύνολο ρυθμίσεων και κανόνων φίλτρου πακέτων ipfilter στο περιβάλλον jail.
- Προστέθηκε η εντολή sysctl allow.vmm_ppt για την προώθηση της πρόσβασης σε συσκευές PCI σε απομονωμένα περιβάλλοντα με βάση τον υπερεπόπτη bhyve.
- Το πρόγραμμα οδήγησης GPU που βασίζεται στο virtio υλοποιεί υποστήριξη για εικονικά περιβάλλοντα που βασίζονται στο Parallels Desktop.
- Προστέθηκε υποστήριξη για καταχωρητές Fine-Grained Trap (FGT), Extended Destination ID και εντολές Memory Operations (MOPS), επεκτείνοντας τις δυνατότητες εικονικοποίησης και βελτιώνοντας την απόδοση σε συστήματα ARM64. Προστέθηκε υποστήριξη για την επέκταση ARM64 LASS (Linear Address Space Separation) για τη βελτίωση της απομόνωσης μεταξύ του πυρήνα και του χώρου χρήστη.
- Η υλοποίηση του bhyve hypervisor framebuffer έχει ενημερωθεί για να υποστηρίζει UNIX sockets, επιτρέποντας την προώθηση της γραφικής κονσόλας σε jails εκτός σύνδεσης.
- Ενημερωμένες εκδόσεις των OpenZFS 2.4.2, OpenSSL 3.5.6, NSS 3.123.1, xz 5.8.3, tcpdump 4.99.6, zlib 1.3.2, zstd 1.5.7, blocklistd 2026-02-07, ncurses 6.6, bsddialog 1.0.5, bmake 20251111, SQLite 3.50.4, unbound 1.25.1, MIT Kerberos 1.22.2, Heimdal Kerberos 1.22.2.
- Η γραμματοσειρά κονσόλας Spleen έχει ενημερωθεί στην έκδοση 2.2.0 και έχει επεκταθεί με επιπλέον χαρακτήρες (παύλα em, παύλα en, παύλα, αγκύλες, λευκό τετράγωνο, σταυρό και διπλό σταυρό). Η στοίχιση των χαρακτήρων έχει βελτιωθεί σε οθόνες υψηλής πυκνότητας. Οι πίνακες χαρακτήρων Unicode έχουν ενημερωθεί στην έκδοση 17.0.0, προσθέτοντας 4803 χαρακτήρες.
- Το υποσύστημα μαύρης λίστας έχει μετονομαστεί σε blocklist, με τη διεργασία blocklistd στο παρασκήνιο. Οι παλιές ρυθμίσεις στα rc scripts και στους κανόνες φιλτραρίσματος πακέτων παραμένουν σε ισχύ, αλλά θα οδηγήσουν σε μια προειδοποίηση.
- Το κιτ εργαλείων OpenPAM έχει μετακινηθεί στο νέο πακέτο FreeBSD-pam, και η βιβλιοθήκη Zstandard και το βοηθητικό πρόγραμμα zstd έχουν μετακινηθεί στο πακέτο FreeBSD-zstd.
- Σε συστήματα που εγκαθίστανται μέσω πακέτων freebsd-base, η κλήση των σεναρίων δημιουργίας installworld και installkernel είναι απενεργοποιημένη για να αποφευχθεί η εσφαλμένη ευθυγράμμιση της κατάστασης του συστήματος με τα πακέτα.
- Η δημιουργία συγκροτήσεων σε μορφή OCI (Oracle Cloud Infrastructure) έχει διακοπεί.
- Τα ακόλουθα βοηθητικά προγράμματα έχουν καταργηθεί και θα αφαιρεθούν από τον κλάδο FreeBSD 16: fdisk, bsdlabel, lpr, lpd, lpc, lpq, lprm, lp, pac, lptest και chkprintcap. Για εργασία με διαμερίσματα δίσκου, συνιστάται η χρήση του gpart ή του bsdinstall αντί για το fdisk και το bsdlabel. Για εκτύπωση, χρησιμοποιήστε την θύρα print/cups ή το sysutils/LPRng. Το FreeBSD 16 σχεδιάζει επίσης να αφαιρέσει τα αρχεία sysctls hw.ata.rotating και hw.ata.unmapped_io, καθώς και τους οδηγούς hifn (επιταχυντές κρυπτογράφησης Hifn 7751/7951/7811/7955/7956), safe (επιταχυντές κρυπτογράφησης SafeNet SafeXcel 1141/1741), le (AMD Am7900 LANCE και Am79C9xx ILACC/PCnet Etherne), fdc (ελεγκτής δισκέτας) και agp (θύρα γραφικών με επιτάχυνση).
Πηγή: opennet.ru
