Lanzamiento de FreeBSD 14.0

Después de dos años y medio desde la publicación de la rama 13.0, se ha formado el lanzamiento de FreeBSD 14.0. Las imágenes de instalación se han preparado para las arquitecturas amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv7, aarch64 y riscv64. También se han preparado compilaciones para sistemas de virtualización (QCOW2, VHD, VMDK, raw) y entornos en la nube de Amazon EC2, Google Compute Engine y Vagrant. La rama FreeBSD 14 será la última en soportar plataformas de 32 bits. En FreeBSD 15 solo se mantendrá el soporte para sistemas de 64 bits, pero seguirá siendo posible compilar programas de 32 bits y utilizar el modo COMPAT_FREEBSD32 para ejecutar archivos ejecutables de 32 bits en un entorno de 64 bits.

Principales cambios:

  • Como intérprete de comandos por defecto para el usuario root se ha establecido /bin/sh.
  • Para dispositivos NVME, por defecto se utiliza el controlador nda en todas las plataformas. Para regresar al antiguo controlador nvd, en loader.conf se ha previsto la configuración «hw.nvme.use_nvd=1».
  • Se ha añadido una nueva utilidad «fwget», que identifica el hardware que necesita firmware e instala los paquetes de firmware correspondientes. Actualmente, solo se admiten dispositivos PCI y firmware para GPU Intel y AMD.
  • Se ha añadido una nueva utilidad base64 para codificar y decodificar datos en formato base64.
  • Se ha añadido la utilidad tcpsso, que permite establecer opciones de socket para conexiones TCP existentes (por ejemplo, se puede cambiar el módulo de control de congestión o la pila TCP).
  • Como agente de entrega de correo por defecto, se ha utilizado dma (DragonFly Mail Agent) en lugar de sendmail. Sendmail se ha mantenido en la distribución base y se ha actualizado a la versión 8.17.1.
  • En KTLS, la implementación del protocolo TLS que opera a nivel del núcleo de FreeBSD, se ha añadido soporte para la aceleración de hardware TLS 1.3 en el lado receptor. La aceleración se proporciona mediante la transferencia a la tarjeta de red de algunas operaciones relacionadas con el procesamiento de paquetes cifrados.
  • Se ha añadido la directiva «.include» en el archivo de configuración jail.conf, que permite incluir archivos adicionales al cargar la configuración, donde se permite el uso de máscaras en las rutas. Se ha ampliado el parámetro sysctl security.bsd.see_jail_proc, con el cual se puede prohibir a los usuarios no autorizados en un entorno jail separado forzar la finalización, cambiar la prioridad y depurar procesos.
  • Los programas pw y bsdinstall ahora crean usuarios por defecto en el directorio "/home", y no en "/usr/home". Ya no se crea un enlace simbólico para "/home" que apunte a "/usr/home".
  • La configuración de compilación PROFILE está desactivada por defecto; ya no se proporcionan versiones perfiladas de las bibliotecas del sistema, en su lugar se deben utilizar herramientas de perfilado (hwpmc).
  • Se ha activado la compilación de archivos ejecutables para arquitecturas de 64 bits en modo PIE (Executable Independiente de Posición).
  • Se ha añadido la capacidad de pasar el acceso a TPM (Módulo de Plataforma Confiable) y GPU (en entornos virtuales para chips AMD e Intel) al hipervisor Bhyve.
  • La implementación del sistema de archivos ZFS se ha actualizado a la versión OpenZFS 2.2. Se ha añadido soporte para el sistema de archivos ZFS a la utilidad makefs. Ahora es posible crear un grupo ZFS asociado a un solo disco virtual vdev.
  • El número de núcleos de CPU soportados (el parámetro MAXCPU) en sistemas basados en la arquitectura amd64 y arm64 se ha incrementado de 256 a 1024.
  • En UFS, para configuraciones donde se habilita el registro (actualizaciones suaves), ahora se permite la ejecución de una verificación de fondo del sistema de archivos utilizando instantáneas de UFS. Se han añadido verificaciones adicionales de hash en los superbloques, mapas de grupos de cilindros e inodes para detectar daños.
  • Se ha añadido el sistema de archivos tarfs, que se puede usar con archivos tar, comprimidos utilizando zstd.
  • Se ha añadido la herramienta boottrace para rastrear eventos que ocurrieron durante la etapa de arranque y apagado del sistema.
  • Se ha añadido el parámetro de configuración del kernel FIRECRACKER para permitir que FreeBSD se inicie en el sistema de virtualización Firecracker, diseñado para ejecutar máquinas virtuales con costes mínimos. El tiempo de arranque del kernel de FreeBSD 14 bajo Firecracker se ha reducido a 25 milisegundos, lo que permite iniciar entornos con FreeBSD según sea necesario para implementar infraestructura de computación sin servidor.
  • En el cargador, escrito en Lua, se ha implementado el soporte para ejecutar archivos lua en un entorno sandbox especial, situado en el directorio loader_conf_files.
  • Se ha ampliado el soporte para NFS. Se ha añadido una nueva opción de montaje "syskrb5" para soportar Kerberos en NFSv 4.1/4.2, además se ha implementado el soporte para la operación ExchangeID. Se ha posibilitado ejecutar nfsd, nfsuserd, mountd, gssd y rpc.tlsservd en un entorno de red aislado vnet.
  • En el script growfs se ha implementado la posibilidad de ubicar la partición de intercambio al final del área ampliable en el disco.
  • Se añadió un nuevo proveedor de DTrace, kinst (dtrace_kinst), que permite realizar la trazabilidad de estructuras del núcleo.
  • Se ha añadido soporte para el algoritmo de cifrado XChaCha20-Poly1035 AEAD en el subsistema criptográfico del núcleo, así como una API para utilizar la curva elíptica curve25519 (para WireGuard).
  • Se ha reducido el tiempo de reinicio. Se ha añadido el parámetro sysctl kern.reboot_wait_time, que permite cambiar la demora antes del reinicio real tras la salida de todos los mensajes de diagnóstico en la consola. Por defecto, se ha eliminado la demora.
  • Se ha añadido el subsistema timerfd al núcleo, que simplifica el portado de programas desde Linux.
  • Se ha añadido el sysctl machdep.mitigations.zenbleed.enable para bloquear la vulnerabilidad Zenbleed en los procesadores AMD Zen2.
  • Se ha añadido soporte para Wi-Fi 6 en wpa_supplicant y hostapd. El controlador iwlwifi ahora funciona con chips Intel que soportan Wi-Fi 6E AX411/AX211/AX210.
  • Se ha proporcionado soporte para herramientas de AddressSanitizer y MemorySanitizer del proyecto LLVM en el núcleo en sistemas amd64.
  • En los scripts rc.d se ha permitido el uso del método status, incluso si el nombre del programa (procname) y el archivo PID no están definidos en el script.
  • La velocidad de transmisión de datos a través del puerto serie en el núcleo, cargadores y espacio de usuario se ha incrementado por defecto de 9600 a 115200 bps. El tono de la campana se ha fijado por defecto en 800Hz. Se ha proporcionado integración con devd para producir el tono a través de la tarjeta de sonido. Para la consola vt, la campana está desactivada por defecto (para habilitarla, se deben ejecutar los comandos «sysctl kern.vt.enable_bell=1» y «kbdcontrol -b normal»).
  • Se ha mejorado el soporte para la arquitectura de aceleración de operaciones de red NXP DPAA2 (Data Path Acceleration Architecture Gen2).
  • Se ha añadido el controlador igc para controladores Ethernet Intel I225, que soporta una velocidad de 2.5 Gbps.
  • Por defecto, se ha activado la configuración net.inet.tcp.nolocaltimewait, que desactiva la creación de registros timewait para conexiones TCP cerradas en el lado del sistema local.
  • Se ha ampliado y habilitado por defecto el soporte para el protocolo de comunicación Netlink (RFC 3549), utilizado en Linux para organizar la interacción del núcleo con los procesos en el espacio de usuario. Algunas utilidades de red se han traducido para utilizar Netlink.
  • El filtro de paquetes pf garantiza la compatibilidad con la sintaxis y el comportamiento de las operaciones de normalización de paquetes (scrubbing) de la versión pf de OpenBSD. En pfsync, se ha implementado la posibilidad de usar el transporte IPv6. El formato de los paquetes pfsync se ha ampliado para admitir colas, normalización de paquetes y reglas route-to.
  • Se ha añadido al interfaz de red if_stf (IPv6 sobre IPv4) soporte para IPv6 Despliegue Rápido (RFC 5969). Por defecto, el modo de nodeinfo IPv6 (RFC 4620) está desactivado.
  • Se ha activado por defecto el parámetro sysctl net.inet.tcp.nolocaltimewait, que desactiva la creación de registros con el estado timewait para las conexiones TCP interrumpidas localmente.
  • Por defecto, se utiliza el mecanismo de control de congestión de red CUBIC en lugar de NewReno para TCP, lo que ha permitido ampliar el uso del ancho de banda disponible.
  • En IPv4, se ha desactivado el envío de paquetes de difusión a la dirección cero de la subred, a menos que dicha dirección se declare explícitamente como de difusión. Este cambio permite usar direcciones que terminen en «.0» para los hosts.
  • Se han cambiado las configuraciones de OpenSSH: en scp se utiliza por defecto el protocolo SFTP en lugar de scp/rcp, se ha desactivado el soporte para firmas RSA/SHA-1, los parámetros VerifyHostKeyDNS y X11Forwarding se han establecido en «no», se ha eliminado la directiva VersionAddendum y se ha eliminado el soporte para configuraciones HPN.
  • Se ha añadido a la utilidad date la opción «-z» para la conversión de zonas horarias.
  • Se ha añadido a la utilidad diff la opción «—color» para una visualización clara de los cambios por color.
  • Se ha añadido a la utilidad sleep soporte para unidades de medida diferentes a los segundos (por ejemplo, se puede especificar «sleep 1h 30m»).
  • A las utilidades head y tail se les ha añadido soporte para las opciones «-q» y «-h», y se ha implementado la posibilidad de especificar magnitudes con sufijos en el sistema internacional de unidades SI. Se ha eliminado la restricción sobre el número máximo de líneas a 2^31 en head.
  • A la utilidad systat se le ha añadido el comando «iolat» para mostrar información sobre las latencias de entrada/salida calculadas por el planificador CAM.
  • La biblioteca libncursesw se ha dividido en dos bibliotecas libtinfow y libncursesw. Se ha añadido soporte para usar en ncurses la base terminfo y no solo termcap.
  • Para la arquitectura aarch64 (arm64) se ha implementado y activado por defecto la opción de construcción COMPAT_LIB32, que permite construir bibliotecas de 32 bits para sistemas ARM64, permitiendo ejecutar archivos binarios construidos para la plataforma armv7.
  • Mejorada la compatibilidad con sistemas en la nube. Se han añadido compilaciones experimentales con el sistema de archivos raíz ZFS y cloud-init para AWS EC2. Se proporcionan imágenes para las arquitecturas arm64 y amd64 en Azure, eligiendo entre UFS o ZFS. Se ha añadido un controlador para la tarjeta de red virtual gve (Google Virtual NIC).
  • Se ha añadido soporte para el valor umbral _CR3 en el sistema ACPI, que permite establecer la temperatura a la cual el sistema entrará en modo de suspensión (S3).
  • Se han actualizado las versiones de las aplicaciones y bibliotecas de terceros que forman parte del sistema base: OpenSSH 9.5p1, OpenSSL 3.0.12 (anteriormente se utilizaba la rama 1.1.1), 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. La implementación de la utilidad objdump ha sido reemplazada por llvm-objump. El compilador Clang ha sido actualizado a la rama 16.
  • Se ha llevado a cabo la limpieza de sistemas obsoletos:
    • Se ha eliminado el soporte para contraseñas de un solo uso OPIE del sistema base (para volver a usarlo, se puede instalar el puerto security/opie).
    • Se han eliminado los controladores para tarjetas de sonido con interfaz ISA.
    • Se han eliminado las utilidades fmtree y minigzip.
    • Se han eliminado componentes ATM en netgraph (NgATM).
    • Se ha eliminado el proceso en segundo plano telnetd (se puede usar el puerto net/freebsd-telnetd).
    • Se ha eliminado la clase VINUM en geom.
    • Se han eliminado controladores obsoletos: amr, iscsi_initiator, iir, mn, mly, nlmrsa y twa.
    • Se ha eliminado el parámetro VESA de los núcleos GENERIC y MINIMAL.
    • Se ha eliminado el soporte para operaciones criptográficas asimétricas en el marco criptográfico OCF (Open Cryptographic Framework) que opera a nivel de núcleo.
    • Se ha declarado obsoleta la utilidad mergemaster, en su lugar se debe usar etcupdate.
    • Se ha eliminado la utilidad portsnap (para extraer puertos se debe usar «git clone https://git.FreeBSD.org/ports.git /usr/ports»).
    • Se ha dejado de generar compilaciones para la arquitectura armv6.
    • Se ha eliminado el soporte para la arquitectura MIPS.

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