Lanzamiento de FreeBSD 15.0

Después de dos años desde la publicación de la rama 14.0, se ha formado el lanzamiento de FreeBSD 15.0. Se han preparado las compilaciones de instalación para las arquitecturas amd64, aarch64, armv7, powerpc64, powerpc64le y riscv64. También se proporcionan compilaciones para sistemas de virtualización (QCOW2, VHD, VMDK, raw) y entornos en la nube como Amazon EC2, Google Compute Engine y Vagrant.

A partir de la rama FreeBSD 15, el tiempo de soporte para las ramas significativas después de la formación del primer lanzamiento (15.0) se ha reducido de 5 a 4 años, y se formarán nuevas ramas significativas cada dos años. Las versiones intermedias (15.1, 15.2, 15.3) se desarrollarán dentro de un ciclo de desarrollo fijo, que implica la publicación de nuevas versiones en una rama aproximadamente cada 6 meses, y no una vez al año como se hacía anteriormente. Con el soporte simultáneo de dos ramas significativas diferentes, se publicará un nuevo lanzamiento intermedio cada 3 meses (15.4, 16.1, 15.5, 16.2, etc.), excepto durante la preparación de los primeros lanzamientos de nuevas ramas significativas, ante las cuales habrá un intervalo de 6 meses en los lanzamientos (por ejemplo, el lanzamiento de 15.3 se formará en junio de 2027, 16.0 en diciembre de 2027, 15.4 en marzo de 2028, 16.1 en junio de 2028).

Los principales cambios en FreeBSD 15.0 (en la nota oficial de la versión, además de los cambios específicos de esta versión, se mencionan muchas capacidades que se añadieron anteriormente en las ramas 14.1, 14.2 y 14.3):

  • Se ha proporcionado la posibilidad de usar el gestor de paquetes pkg para instalar y actualizar los componentes del sistema base. Los paquetes pkgbase pueden ser suministrados en el medio de instalación para instalación offline o descargados del repositorio pkg.freebsd.org. En la configuración de pkg (/etc/pkg/FreeBSD.conf) el repositorio FreeBSD-base no está incluido por defecto. El instalador bsdinstall ofrece dos opciones de instalación: tradicional y usando paquetes (pkgbase). Se planea eliminar el soporte para el método tradicional, en el que el sistema base se considera un entorno monolítico, actualizado mediante la utilidad freebsd-update, en la rama FreeBSD 16. El nuevo método, que implica la instalación del sistema base como un conjunto de paquetes del repositorio FreeBSD-base, se ofrece por defecto en las compilaciones para máquinas virtuales y las imágenes para entornos en la nube, pero aún se considera experimental para sistemas normales.
  • Se ha añadido soporte para la construcción de FreeBSD en entornos no privilegiados que no requieren permisos de root. También se pueden crear imágenes ISO de instalación y imágenes del sistema para máquinas virtuales sin permisos de root. En la etapa de construcción, los permisos de root eran necesarios para crear archivos de dispositivos, establecer permisos de acceso y montar sistemas de archivos adicionales (por ejemplo, al crear imágenes de disco).
  • Se ha implementado soporte para construcciones reproducibles, que permiten verificar que los archivos binarios distribuidos están construidos a partir del código fuente proporcionado y no contienen cambios ocultos. Las construcciones reproducibles garantizan la identidad de los archivos binarios generados a partir del código fuente en diferentes entornos de construcción.
  • Se ha dejado de generar imágenes de instalación y construcciones de paquetes binarios para arquitecturas de 32 bits i386, armv6 y powerpc. De las plataformas de 32 bits, solo se ha mantenido armv7. La posibilidad de construir programas de 32 bits y utilizar el modo COMPAT_FREEBSD32 para ejecutar archivos ejecutables de 32 bits en un entorno basado en un núcleo de 64 bits se mantendrá al menos hasta el final del ciclo de vida de la rama FreeBSD 16.
  • Se han añadido llamadas del sistema con la implementación del mecanismo inotify para rastrear cambios en los sistemas de archivos.
  • Se ha añadido soporte para atributos de archivo nombrados (atributos extendidos al estilo Solaris), que se planean mantener como un mecanismo alternativo de gestión de atributos extendidos, disponible para ZFS y NFSv4. Las diferencias con los métodos tradicionales de FreeBSD y Linux para trabajar con atributos extendidos se reducen a la representación de los atributos en un directorio de servicio, no visible en el espacio de nombres principal del sistema de archivos y asociado al archivo. El trabajo con atributos se realiza como con archivos normales; por ejemplo, para determinar la lista de atributos se puede ejecutar la función readdir().
  • Se ha declarado listo para su uso el módulo mac_do, que permite establecer políticas que permiten a los usuarios no privilegiados modificar las credenciales de los procesos. Para ejecutar comandos bajo otro usuario, se ha preparado una utilidad mdo similar a la utilidad su, pero que no requiere suid root.
  • El estado de los controladores DRM i915 y amdgpu está sincronizado con el kernel de Linux 6.9. Los controladores de dispositivos inalámbricos rtw88 (Realtek 802.11n/ac), rtw89 (Realtek 802.11ax) e iwlwifi (Intel 02.11a/b/g/n/ac/ax/be) están sincronizados con el kernel de Linux 6.17.
  • La implementación del protocolo TLS en el lado del kernel (KTLS) está habilitada por defecto.
  • Se ha añadido la utilidad sndctl para gestionar la configuración de las tarjetas de sonido.
  • Se ha añadido la utilidad mididump para volcar eventos MIDI 1.0 en tiempo real.
  • Se ha agregado un nuevo backend de red "slirp" al hipervisor bhyve, que utiliza la biblioteca libslirp con una implementación de pila de red en el espacio de usuario. El backend "slirp" permite el acceso a la red del sistema invitado desde el entorno del host sin necesidad de una configuración de red separada en el lado del host.
  • La implementación de Kerberos en el núcleo de FreeBSD se ha reemplazado de Heimdal Kerberos a MIT Kerberos. Para volver a Heimdal Kerberos en la compilación, se puede utilizar la bandera WITHOUT_MITKRB5. En FreeBSD 16, el soporte para la compilación de Heimdal Kerberos será eliminado.
  • El comportamiento de las llamadas al sistema setgroups, getgroups e initgroups al procesar grupos de usuarios se ha acercado al de otras plataformas (la diferencia en la implementación en FreeBSD era que el identificador efectivo del grupo de procesos se almacenaba en el primer elemento del array con la lista de grupos).
  • En la configuración del gestor de paquetes pkg, se ha habilitado por defecto un nuevo repositorio FreeBSD-kmods, que contiene paquetes con módulos del kernel compilados para ramas de lanzamientos específicas 15.x-RELEASE, y no para la rama en continuo desarrollo 15-STABLE. El repositorio FreeBSD-kmods resuelve el problema de la instalación de controladores dependientes de interfaces inestables del kernel (por ejemplo, controladores gráficos). Los repositorios "FreeBSD" y "FreeBSD-kmods" que anteriormente estaban presentes en /etc/pkg/FreeBSD.conf han sido renombrados a "FreeBSD-ports" y "FreeBSD-ports-kmods".
  • En NFS, se ha añadido soporte para la operación CLONE, definida en la especificación NFSv4.2 y que permite organizar copias rápidas de archivos mediante la clonación de bloques en el servidor. Este modo trabaja solo al exportar secciones ZFS a través de NFS.
  • En sistemas amd64, se ha añadido la capacidad de utilizar más de 4TB de RAM.
  • Se ha añadido el controlador ufshci para soportar controladores de sistemas de almacenamiento con interfaz UFSHCI (Universal Flash Storage Host Controller Interface).
  • Sysctl net.link.bridge.member_ifaddrs está establecido en 0 por defecto, es decir, se pueden añadir interfaces a los puentes de red sin problemas. direcciones IP.
  • Se ha mejorado la fiabilidad de las secciones con el sistema de archivos UFS, que contienen más de 2,000,000,000 inodes. En la implementación del sistema de archivos UFS1 se ha resuelto el problema del año 2038 (se pueden utilizar fechas hasta el año 2106).
  • Se ha añadido la opción de sockets de red SO_SPLICE para combinar conexiones TCP (similar a un proxy que funciona sin copiar datos en el espacio del usuario).
  • En la utilidad grep, por defecto se ha desactivado la búsqueda recursiva a través de enlaces simbólicos.
  • Se ha añadido un módulo del núcleo nvmfta para el soporte de controladores NVMe over Fabric y la utilidad nvmecontrol para conectarse a un controlador externo NVMe over Fabric.
  • En la utilidad date se ha añadido soporte para mostrar la hora con precisión de nanosegundos; por ejemplo, «date -Ins» mostrará «2024-04-22T12:20:28,763742224+02:00».
  • En jail se ha añadido soporte para la opción zfs.dataset para añadir una partición, instantánea o clon ZFS en el entorno aislado de jail. Se ha añadido soporte para los parámetros «meta» y «env» en el comando jail, a través de los cuales se pueden vincular metadatos o pasar variables de entorno. Se ha añadido la posibilidad de direccionar entornos de jail mediante descriptores de jail, para los cuales se ofrecen funciones jail_set y jail_get, así como llamadas al sistema jail_attach_jd y jail_remove_jd. También se ha añadido la posibilidad de usar filtros kevent para rastrear operaciones de creación, eliminación, modificación y conexión de Jail.
  • En la utilidad newsyslog se ha implementado un parámetro para establecer el método de compresión utilizado por defecto (bzip2, xz, zstd, gzip), lo que elimina la necesidad de especificar banderas individuales (J, X, Y, Z) en cada línea de newsyslog.conf.
  • En la biblioteca estándar C, se han utilizado optimizaciones basadas en instrucciones SIMD en muchas funciones para trabajar con cadenas y memoria.
  • En la fuente Gallant, utilizada en terminales virtuales, se han añadido más de 4300 nuevos glifos, incluidos glifos con caracteres cirílicos y signos matemáticos.
  • En tty se ha establecido por defecto la bandera IUTF8, con la cual se elimina correctamente los caracteres UTF-8 al presionar Retroceso.
  • La utilidad dialog, utilizada en el configurador bsdconfig y en el instalador bsdinstall, ha sido reemplazada por bsddialog.
  • En la utilidad adduser, utilizada en bsdinstall, se ha implementado la creación de un dataset ZFS separado (partición, snapshot o clon) para el directorio personal del usuario, si el dataset ZFS ya se utiliza para el directorio padre. También se ha agregado la opción de usar cifrado para los directorios personales mediante ZFS. Para controlar la activación de estas funciones, se han añadido los parámetros 'Zcreate' y 'Zencrypt' en adduser.conf.
  • Se ha garantizado la creación de imágenes de contenedores y de sistemas compatibles con OCI para Oracle Cloud.
  • Se ha añadido un nuevo tipo de imágenes 'small' para entornos en la nube compatibles con AWS EC2. A diferencia de las imágenes base, estas excluyen datos de depuración, pruebas, bibliotecas de 32 bits, el depurador LLDB, Amazon SSM Agent y AWS CLI. La carga de las imágenes 'base' para EC2 se ha acelerado en un 76%.
  • De manera predeterminada, se ha deshabilitado y se ha declarado obsoleta la configuración net.inet.tcp.nolocaltimewait, es decir, se ha vuelto a permitir la creación por defecto de registros TIME_WAIT para conexiones TCP que se cierran en el lado del sistema local. Se ha añadido un nuevo sysctl net.inet.tcp.msl_local para configurar el tiempo de permanencia de la conexión en estado TIME_WAIT.
  • De manera predeterminada, se ha deshabilitado la creación de conexiones de red a localhost que indican INADDR_ANY. Para restaurar el soporte, se puede establecer el sysctl net.inet.ip.connect_inaddr_wild en un valor de 1.
  • Se ha eliminado el administrador de volúmenes lógicos gvinum, que se utilizaba para RAID programático. El desarrollo de Gvinum se detuvo hace aproximadamente 15 años, aunque existen varios problemas conocidos en el código que nadie ha intentado solucionar. Se recomienda utilizar gconcat, gmirror, gstripe, graid o zfs en lugar de gvinum.
  • Está programado para ser eliminado en FreeBSD 16 el controlador agp (Accelerated Graphics Port), necesario para el funcionamiento de muchos controladores de tarjetas gráficas antiguas. También se han declarado obsoletos y se planea eliminar los controladores: fdc (IBM PC Floppy Disk Controller), firewire (IEEE1394 Serial Bus), le (AMD Am7900 LANCE y Am79C9xx Ethernet) y upgt (USB 802.11g).
  • La función readdir_r ha sido declarada obsoleta.
  • Se ha dejado de dar soporte al transporte UDP en el servidor SNMP bsnmpd.
  • Se ha interrumpido la generación de claves de host RSA para SSH y EC2 AMI. Se ha eliminado el soporte para DSA en OpenSSH. Se ha eliminado la base de datos publickey asociada con el algoritmo DES.
  • Se han eliminado ftpd y shar del sistema base, y se debe utilizar los puertos ftp/freebsd-ftpd y sysutils/freebsd-shar en su lugar.
  • La utilidad fdisk ha sido declarada obsoleta, y se recomienda utilizar gpart en su lugar.
  • La categoría de controladores obsoletos incluye syscons, que no es compatible con UEFI, no soporta UTF-8 y está atado a un bloqueo global.
  • Se han actualizado las versiones de 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 (con soporte UTF-8), bc 7.1.0, unicode 16.0.0, ncurses 6.5, libarchive 3.8.2, tcpdump 4.99.5, unbound 1.24.1, less 679, file 5.46, GoogleTest 1.15.2.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster