Keluaran FreeBSD 15.0

Dua tahun selepas penerbitan cawangan 14.0, FreeBSD 15.0 telah dikeluarkan. Binaan pemasangan tersedia untuk seni bina amd64, aarch64, armv7, powerpc64, powerpc64le dan riscv64. Selain itu, binaan tersedia untuk sistem virtualisasi (QCOW2, VHD, VMDK, mentah) dan persekitaran awan seperti Amazon EC2, Google Compute Engine dan Vagrant.

Bermula dengan cawangan FreeBSD 15, tempoh penyelenggaraan untuk cawangan utama selepas keluaran pertama (15.0) telah dikurangkan daripada 5 kepada 4 tahun, dengan cawangan utama baharu diwujudkan setiap dua tahun. Keluaran pertengahan (15.1, 15.2, 15.3) akan dibangunkan pada kitaran pembangunan tetap, dengan versi baharu diterbitkan dalam satu cawangan kira-kira setiap enam bulan, bukannya sekali setahun seperti yang berlaku sebelum ini. Dengan mengambil kira penyelenggaraan serentak dua cawangan utama yang berbeza, keluaran perantaraan baharu akan diterbitkan setiap 3 bulan (15.4, 16.1, 15.5, 16.2, dsb.), kecuali penyediaan keluaran pertama cawangan utama baharu, sebelum itu akan ada rehat 6 bulan dalam keluaran (contohnya, 15.3 akan dikeluarkan pada 6.3 Jun, 20.3. Disember 2027, 15.4 pada Mac 2028, 16.1 pada Jun 2028).

Perubahan besar dalam FreeBSD 15.0 (nota keluaran rasmi, sebagai tambahan kepada perubahan khusus 15.0, menyebut banyak ciri yang sebelum ini ditambahkan pada cawangan 14.1, 14.2 dan 14.3):

  • Keupayaan untuk menggunakan pengurus pakej pkg untuk memasang dan mengemas kini komponen sistem asas telah diperkenalkan. Pakej pkgbase boleh dibekalkan pada media pemasangan untuk pemasangan luar talian atau dimuat turun daripada repositori pkg.freebsd.org. Repositori FreeBSD-base tidak diaktifkan secara lalai dalam konfigurasi pkg (/etc/pkg/FreeBSD.conf). Pemasang bsdinstall menawarkan dua pilihan pemasangan: tradisional dan menggunakan pakej (pkgbase). Sokongan untuk kaedah tradisional, di mana sistem asas dianggap sebagai persekitaran monolitik yang dikemas kini menggunakan utiliti freebsd-update, dirancang untuk dialih keluar dalam cabang FreeBSD 16. Kaedah baharu, yang melibatkan pemasangan sistem asas sebagai satu set pakej daripada repositori FreeBSD-base, ditawarkan secara lalai dalam binaan untuk mesin maya dan imej untuk persekitaran awan, tetapi kini dianggap sebagai eksperimen untuk sistem biasa.
  • Sokongan untuk membina FreeBSD dalam persekitaran yang tidak mempunyai keistimewaan yang tidak memerlukan keistimewaan root telah ditambahkan. Imej ISO pemasangan dan imej sistem untuk mesin maya juga boleh dibuat tanpa keistimewaan root. Semasa proses binaan, keistimewaan root diperlukan untuk membuat fail peranti, menetapkan kebenaran dan melekapkan sistem fail tambahan (contohnya, semasa mencipta imej cakera).
  • Sokongan untuk binaan boleh dihasilkan semula telah dilaksanakan, memastikan binari yang diedarkan dibina daripada kod sumber yang disediakan dan tidak mengandungi pengubahsuaian tersembunyi. Binaan boleh dihasilkan semula memastikan binari yang dijana daripada kod sumber dalam persekitaran binaan berbeza adalah sama.
  • Penjanaan imej pemasangan dan binari pakej binari untuk seni bina 32-bit i386, armv6 dan powerpc telah dihentikan. Daripada platform 32-bit, hanya armv7 yang tinggal. Keupayaan untuk membina program 32-bit dan menggunakan mod COMPAT_FREEBSD32 untuk menjalankan boleh laku 32-bit dalam persekitaran kernel 64-bit akan kekal sekurang-kurangnya sehingga akhir kitaran hayat cawangan FreeBSD 16.
  • Menambahkan panggilan sistem yang melaksanakan mekanisme pemberitahuan untuk menjejaki perubahan dalam sistem fail.
  • Sokongan tambahan untuk atribut fail yang dinamakan (atribut lanjutan gaya Solaris), yang dirancang untuk disokong sebagai mekanisme alternatif untuk mengurus atribut lanjutan, tersedia untuk ZFS dan NFSv4. Perbezaan daripada kaedah FreeBSD dan Linux tradisional untuk bekerja dengan atribut lanjutan datang kepada pembentangan atribut dalam direktori perkhidmatan, tidak kelihatan dalam ruang nama FS utama dan dikaitkan dengan fail. Atribut digunakan seperti fail biasa, contohnya, untuk menentukan senarai atribut, anda boleh melaksanakan fungsi readdir().
  • Modul mac_do telah diisytiharkan sedia untuk digunakan, membolehkan anda menetapkan dasar yang membenarkan pengguna yang tidak mempunyai hak untuk menukar bukti kelayakan proses. Untuk menjalankan arahan di bawah pengguna lain, utiliti mdo telah disediakan, sama seperti utiliti su, tetapi tidak memerlukan suid root.
  • Pemacu DRM i915 dan amdgpu disegerakkan dengan kernel Linux 6.9. Pemacu peranti wayarles rtw88 (Realtek 802.11n/ac), rtw89 (Realtek 802.11ax) dan iwlwifi (Intel 02.11a/b/g/n/ac/ax/be) disegerakkan dengan kernel Linux 6.17.
  • Pelaksanaan TLS sisi kernel (KTLS) didayakan secara lalai.
  • Menambah utiliti sndctl untuk menguruskan tetapan kad bunyi.
  • Menambah utiliti mididump untuk lambakan acara MIDI 1.0 dalam masa nyata.
  • "Slirp" bahagian belakang rangkaian baharu telah ditambahkan pada hipervisor bhyve, yang menggunakan perpustakaan libslirp dengan pelaksanaan ruang pengguna bagi susunan rangkaian. Bahagian belakang "slirp" membolehkan anda mengatur akses kepada rangkaian sistem tetamu dari persekitaran hos tanpa mengkonfigurasi rangkaian secara berasingan di bahagian hos.
  • Pelaksanaan Kerberos dalam teras FreeBSD telah digantikan dengan MIT Kerberos daripada Heimdal Kerberos. Bendera WITHOUT_MITKRB5 boleh digunakan untuk mengembalikan Heimdal Kerberos. Dalam FreeBSD 16, sokongan untuk membina Heimdal Kerberos akan dialih keluar.
  • Gelagat kumpulan set, getgroup dan panggilan sistem kumpulan init semasa mengendalikan kumpulan pengguna adalah serupa dengan platform lain (pelaksanaan dalam FreeBSD berbeza dalam menyimpan pengecam kumpulan proses yang berkesan dalam elemen sifar tatasusunan dengan senarai kumpulan).
  • Repositori FreeBSD-kmods baharu didayakan secara lalai dalam tetapan pengurus pakej pkg. Ia mengandungi pakej modul kernel yang dibina untuk cawangan keluaran 15.x-RELEASE tertentu, dan bukannya cawangan 15-STABLE yang sentiasa dikemas kini. Repositori FreeBSD-kmods menyelesaikan masalah memasang pemacu yang bergantung pada antara muka kernel yang tidak stabil (seperti pemacu grafik). Repositori "FreeBSD" dan "FreeBSD-kmods" yang sebelum ini terdapat dalam /etc/pkg/FreeBSD.conf telah dinamakan semula kepada "FreeBSD-ports" dan "FreeBSD-ports-kmods."
  • NFS kini menyokong operasi CLONE, yang ditakrifkan dalam spesifikasi NFSv4.2, yang membolehkan penyalinan fail pantas dengan mengklon blok pada pelayan. Mod pada masa ini hanya berfungsi apabila mengeksport partition ZFS melalui NFS.
  • Pada sistem amd64, keupayaan untuk menggunakan lebih daripada 4TB RAM telah ditambah.
  • Menambah pemacu ufshci untuk menyokong pengawal sistem storan dengan antara muka UFSHCI (Antara Muka Pengawal Hos Penyimpanan Kilat Universal).
  • Sysctl net.link.bridge.member_ifaddrs ditetapkan kepada 0 secara lalai, iaitu antara muka boleh ditambah pada jambatan rangkaian tanpa Alamat IP.
  • Kebolehpercayaan yang dipertingkatkan untuk partition UFS yang mengandungi lebih daripada 2,000,000,000 inod. Isu tahun 2038 telah diselesaikan dalam pelaksanaan UFS1 (tarikh sehingga 2106 boleh digunakan).
  • Menambah pilihan soket rangkaian SO_SPLICE untuk mengumpul sambungan TCP (seperti proksi yang berfungsi tanpa menyalin data ke ruang pengguna).
  • Secara lalai, utiliti grep melumpuhkan traversal pautan simbolik semasa carian rekursif.
  • Menambahkan modul kernel nvmftа untuk menyokong NVMe atas pengawal Fabric dan utiliti nvmecontrol untuk menyambung ke NVMe luaran melalui pengawal Fabric.
  • Utiliti tarikh kini menyokong masa pengeluaran dengan ketepatan nanosaat, contohnya, "tarikh -Ins" akan mengeluarkan "2024-04-22T12:20:28,763742224+02:00".
  • Jail kini menyokong pilihan zfs.dataset untuk menambahkan partition, syot kilat atau klon ZFS pada penjara terpencil. Perintah penjara kini menyokong parameter "meta" dan "env", yang boleh digunakan untuk mengikat metadata atau lulus pembolehubah persekitaran. Pengalamatan deskriptor penjara kini disokong, menggunakan fungsi jail_set dan jail_get, serta panggilan sistem jail_attach_jd dan jail_remove_jd. Penapis Kevent kini boleh digunakan untuk menjejaki penciptaan penjara, pemadaman, pengubahsuaian dan operasi lampiran.
  • Utiliti newsyslog mempunyai parameter untuk menetapkan kaedah mampatan lalai (bzip2, xz, zstd, gzip), menghapuskan keperluan untuk menentukan bendera berasingan (J, X, Y, Z) dalam setiap baris newsyslog.conf.
  • Dalam pustaka C standard, banyak fungsi rentetan dan memori menggunakan pengoptimuman berasaskan SIMD.
  • Fon Gallant yang digunakan dalam terminal maya telah dikemas kini dengan lebih 4300 glif baharu, termasuk glif dengan aksara Cyrillic dan simbol matematik.
  • Tty mempunyai bendera IUTF8 yang ditetapkan secara lalai, yang memastikan aksara UTF-8 dialih keluar dengan betul apabila menekan Backspace.
  • Utiliti dialog yang digunakan dalam configurator bsdconfig dan pemasang bsdinstall telah digantikan dengan bsddialog.
  • Utiliti adduser yang digunakan dalam bsdinstall kini mencipta set data ZFS yang berasingan (partition, snapshot atau klon) untuk direktori rumah pengguna jika set data ZFS sudah digunakan untuk direktori induk. Penyulitan ZFS untuk direktori rumah juga kini disokong. Parameter "Zcreate" dan "Zencrypt" telah ditambahkan pada adduser.conf untuk mengawal pengaktifan ciri ini.
  • Mendayakan penjanaan imej kontena dan sistem yang mematuhi OCI untuk Oracle Cloud.
  • Jenis imej "kecil" baharu telah ditambahkan untuk persekitaran awan yang serasi dengan AWS EC2. Tidak seperti imej asas, imej ini mengecualikan data nyahpepijat, ujian, perpustakaan 32-bit, penyahpepijat LLDB, Agen SSM Amazon dan AWS CLI. Imej asas EC2 kini dimuatkan 76% lebih pantas.
  • Tetapan net.inet.tcp.nolocaltimewait telah dilumpuhkan dan ditamatkan secara lalai, iaitu penciptaan lalai rekod TIME_WAIT untuk sambungan TCP yang ditamatkan pada bahagian sistem setempat telah dikembalikan. Sysctl net.inet.tcp.msl_local baharu telah ditambahkan untuk mengkonfigurasi masa yang diluangkan oleh sambungan dalam keadaan TIME_WAIT.
  • Secara lalai, sokongan untuk membuat sambungan rangkaian ke localhost yang menyatakan INADDR_ANY dilumpuhkan. Untuk mendayakan sokongan, tetapkan net.inet.ip.connect_inaddr_wild sysctl kepada 1.
  • Pengurus volum logik gvinum, yang digunakan untuk perisian RAID, telah dialih keluar. Pembangunan Gvinum terhenti kira-kira 15 tahun yang lalu, walaupun pada hakikatnya kod tersebut mempunyai beberapa masalah yang diketahui yang tiada siapa yang telah mengambil untuk menyelesaikannya. Daripada gvinum, disyorkan untuk menggunakan gconcat, gmirror, gstripe, graid atau zfs.
  • Pemacu agp (Accelerated Graphics Port), yang diperlukan untuk kebanyakan pemacu untuk kad video yang lebih lama, dijadualkan untuk dialih keluar dalam FreeBSD 16. Pemacu berikut juga telah ditamatkan dan dijadualkan untuk dialih keluar: fdc (IBM PC Floppy Disk Controller), firewire (IEEE1394 Serial Bus), le (AMDANCE Am7790C dan Ethernet Am790C) 802.11g).
  • Fungsi readdir_r telah ditamatkan.
  • Pelayan SNMP bsnmpd telah menggugurkan sokongan untuk pengangkutan UDP.
  • Penjanaan utama hos RSA untuk SSH dan EC2 AMI telah dihentikan. Sokongan DSA telah dialih keluar daripada OpenSSH. Pangkalan data kunci awam, yang bergantung pada algoritma DES, telah dialih keluar.
  • ftpd dan shar telah dialih keluar daripada sistem asas, dan port ftp/freebsd-ftpd dan sysutils/freebsd-shar hendaklah digunakan sebaliknya.
  • Utiliti fdisk telah ditamatkan dan gpart harus digunakan sebaliknya.
  • Pemacu syscons telah ditamatkan kerana ia tidak serasi dengan UEFI, tidak menyokong UTF-8 dan bergantung pada kunci global.
  • Versi terkini LLVM 19.1.7, OpenSSH 10.0p2, OpenSSL 3.5.4, OpenZFS 2.4.0rc4, Lua 5.4.8, jemalloc 5.3.0, Awk 20250804 (dengan sokongan UTF-8), bc 7.1.0.0.0, bc unicode libarchive 3.8.2, tcpdump 4.99.5, unbound 1.24.1, less 679, fail 5.46, GoogleTest 1.15.2.

Sumber: opennet.ru

Tambah komen