# Historial de versiones de FreeBSD

Menú de Versiones de FreeBSD: :
| 1.x | 2.x | 3.x | 4.x | 5.x | 6.x | 7.x | 8.x |
| 9.x | 10.x | 11.x | 12.x | 13.x | 14.x | | |

## Historial de versiones

Las siguientes tablas presentan el historial de cada una de las versiones del sistema operativo FreeBSD, y sus múltiples cambios significativos; principalmente para las arquitectura de computadoras/ordenadores i386, amd64, y arm, existiendo muchas otras soportadas por FreeBSD, en diferentes Tiers, o Niveles de portabilidad.

### FreeBSD 1.x

FreeBSD 1.0 a 1.1.5.1 :
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 1.0 | • Lanzamiento: 01/11/1993 • Soporte hasta: (?) El primer lanzamiento oficial. Aparición de FreeBSD Ports (Ports Collection). Un mecanismo de caché de búfer dinámico que crece y decrece automáticamente a medida que se utiliza la memoria para otras cosas. El controlador de sonido Linux para tarjetas Gravis UltraSound, SoundBlaster, etc. Interfaz y unidad de CDROM Mitsumi. Actualización de los disquetes de instalación. Soporte avanzado de syscons para XFree86 2.0. |
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 1.1 | • Lanzamiento: Mayo de 1994 • Soporte hasta: (?) FreeBSD es una versión de código completo BSD 4.3 (+4.4 mejoras) de libre distribución para PCs basados en Intel i386/i486 (o compatibles). Adición de algunas aplicaciones portadas (XFree86, XView, InterViews, elm, nntp) |
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 1.1.5 | • Lanzamiento: (?) • Soporte hasta: (?) Mejoras en el núcleo Mejoras en el rendimiento de Memoria virtual y del rendimiento del núcleo. Agrupación de E/S de disco. Emulador de coma flotante opcional muy superior de Bill Metzenthen. Soporte para multidifusión IP, y soporte de sonido mejorado. Soporte para los adaptadores Seagate ST01/ST02 y Future Domain 950 SCSI. Controlador de X10 de Gene Stark para control remoto de energía estilo X-10 (como Radio Shack "Plug'n Power") Controlador de ratón PS/2 de Erik Forsberg, Busmouse de Rick Macklem y ethernet IBM/National PCMCIA de Keith Moore. Soporte mejorado para el controlador de disquetes. Controlador syscons con mapas de teclado ascii Controlador pcaudio permite reproducir archivos .au "estilo Sun" a través del altavoz. Cambios sustanciales en sio para soportar comunicaciones multipuerto y bidireccionales. Mejoras en código de usuario Páginas man comprimidas por defecto. Soporte de contraseñas de un solo uso S/Key para mejorar la seguridad de la red. Librería matemática Sun disponible para un soporte FPU más rápido. El mecanismo /etc/make.conf que permite a los usuarios adaptar la forma en que sus sistemas (desde el código fuente) y activar o desactivar varias opciones. |
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 1.1.5.1 | • Lanzamiento: Julio de 1994 • Soporte hasta: (?) Fue un lanzamiento puntual, sólo 3 días después de la versión 1.1.5. Se realizó para subsanar una Lista de problemas (notificados) |

### FreeBSD 2.x

FreeBSD 2.0 a 2.2.8 :
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 2.0 | • Lanzamiento: 22/11/1994 • Soporte hasta: (?) Se reemplazó el código base con 4.4BSD-Lite (para cumplir con los términos del acuerdo judicial USL v. BSDi) Nuevo instalador y gestor de arranque Compatibilidad con sistemas de archivos cargables para más sistemas de archivo (MS-DOS, unionfs, "portals", kernfs). Un sencillo sistema de archivos con estructura de registro Offsets de 64 bits, que permiten sistemas de archivos de hasta 2^63 bytes de tamaño. Módulos de kernel cargables (incorporado el port de NetBSD de compatibilidad con módulos del núcleo desde el cargable de Terry Lambert) TCP/IP a través de puerto paralelo (impresora) Controlador SCSI de ProAudioSpectrum Controlador SCSI Adaptec 2742/2842 Binarios comprimidos con gzip Arranque sin disco Base de datos de configuración de dispositivos Interfaz de gestión del núcleo Compatibilidad con iBCS2 |
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 2.0.5 | • Lanzamiento: 18/06/1995 • Soporte hasta: Caché de búfer de archivos Memoria Virtual fusionados (sistema de Memoria Virtual renovado) Optimización de la hash de la PCB de la red Optimización de la caché de nombres Espacios de intercambio (swap) menos restrictivos Dispositivos SCSI cableados Soporte una abstracción "slice" que lo hace más completamente interoperable con otras particiones del sistema operativo. Este soporte permitió a FreeBSD habitar particiones DOS extendidas. Soporte completo para cliente y servidor NIS, transacciones TCP, ISDN, adaptadores FDDI y Fast Ethernet (100Mbit) Archivos de Documentación multilingüe Instalación totalmente guiada por menús Fácil montaje de particiones DOS y dispositivos de CD montados automáticamente Tipos de instalación "enlatados" para facilitar las instalaciones. Sencillo menú posterior a la configuración FreeBSD Ports incluido con los medios de instalación Emulación de Linux completo con ELF Dummynet modelado de tráfico |
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 2.1 | • Lanzamiento: 19/11/1995 • Soporte hasta: |
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 2.1.5 | • Lanzamiento: Junio de 1996 • Soporte hasta: Correcciones de errores y seguridad Mejoras en la instalación |
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 2.1.6 | • Lanzamiento: Diciembre de 1996 • Soporte hasta: Correcciones de errores y seguridad, mejoras en la instalación |
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 2.1.7 | • Lanzamiento: Febrero de 1997 • Soporte hasta: Correcciones de errores y seguridad |
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 2.2 | • Lanzamiento: Marzo de 1997 • Soporte hasta: NFSv3 BSD malloc sustituido por phkmalloc emulación de Linux con ELF. Sección de man 9 para rutinas del núcleo |
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 2.2.1 | • Lanzamiento: Abril de 1997 • Soporte hasta: Corrección de errores para sustituir a la versión 2.2. Actualización de los controladores Adaptec 2940 e Intel EtherExpress Pro Corrección del instalador del paquete de CD-ROM. |
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 2.2.2 | • Lanzamiento: Mayo de 1997 • Soporte hasta: NFSv3 por defecto Alojamiento de FTP virtual |
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 2.2.5 | • Lanzamiento: 22/10/1997 • Soporte hasta: Actualización de la compatibilidad con procesadores Cyrix y AMD Nueva biblioteca VGA |
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 2.2.6 | • Lanzamiento: 25 /03/1998 • Soporte hasta: Disqueteras ATAPI Emulación de Linux mejorada Nuevo controlador de sonido Nuevo soporte Plug and Play (PnP) |
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 2.2.7 | • Lanzamiento: 22/07/1998 • Soporte hasta: Compatibilidad con FAT32 Actualización a la arquitectura PC98 |
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 2.2.8 | • Lanzamiento: 29/11/1998 • Soporte hasta: Conformación del tráfico de Dummynet Puente (Bridging) en varias interfaces Soporta el uso de unidades IDE mayores de 8GiB |

### FreeBSD 3.x

FreeBSD 3.0 a 3.5 :
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 3.0 | • Lanzamiento: 15/10/1998 • Soporte hasta: (?) Multiprocesamiento simétrico (SMP) Sistema CAM (Common Access Method) Método de acceso común) SCSI Ejecutables ELF RPC seguro Grabadora de CD ATAPI/IDE y compatibilidad con unidades de cinta VESA modos de vídeo Perl 5 sustituyó a Perl 4 en el sistema base Compatibilidad inicial con dispositivos USB Pluggable Authentication Modules (PAM) Netgraph Soporte RAID-5 en vinum KerberosIV |
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 3.1 | • Lanzamiento: 15/03/1999 • Soporte hasta: (?) Compatibilidad inicial con dispositivos USB Pluggable Authentication Modules (PAM) |
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 3.2 | • Lanzamiento: 17/05/1999 • Soporte hasta: (?) Incorporación del cliente DHCP del Internet Software Consortium a la base Compatibilidad ampliada con dispositivos USB; y compatibilidad mejorada con sistemas de archivos (acceso directo a NTFS, extensiones Joliet para ISO 9660) |
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 3.3 | • Lanzamiento: 17/09/1999 • Soporte hasta: (?) Compatibilidad mejorada con USB Actualizaciones importantes de vinum Mejoras en IPFW y Advanced Power Management Berkeley Packet Filter activado por defecto Adición de muchos controladores |
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 3.4 | • Lanzamiento: 20/12/1999 • Soporte hasta: (?) NetgraphNetgraph Soporte RAID 5 en vinum, ICMP y otras correcciones de seguridad |
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 3.5 | • Lanzamiento: 24/06/2000 • Soporte hasta: (?) Actualización sustancial de vinum Mezclador de audio (audio mixer) actualizado Opción de instalación HTTP |

### FreeBSD 4.x

FreeBSD 4.0 a 4.11 :
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 4.0 | • Lanzamiento: 14/03/2000 • Soporte hasta: (?) NFS mejorado - correcciones de errores y ajustes de rendimiento. Soportados registros de depuración de hardware IA32. Variables sysctl(8) conscientes de Jail(8) para el modo Linux (Linuxtator). Corrección de errores y mejoras de rendimiento en el sistema VM (mmap) y funciones relacionadas. Añadido un emulador para binarios SVR4. Soporte para el acceso directo a sistemas de archivos NTFS. 'burncd' para facilitar el control de las unidades ATAPI CD-R y CD-RW. Permite grabar CD-R/RW en una amplia selección de formatos, incluyendo el modo multisesión. Compatibilidad con IPv6 y IPsec con KAME (las aplicaciones también se actualizaron para admitir IPv6) OpenSSH 1.2 integrado en el sistema base Controlador ATA/ATAPI (para todos los discos compatibles con ATA y unidades ATAPI CDROM, CD-R, CD-RW, DVD-ROM, DVD-RAM, LS120, ZIP y de cinta) Emulador para archivos binarios SVR4 Nueva llamada al sistema jail(2) y comando de administración en:FreeBSD jailjail(8) agregados Telnet con mecanismo de autenticación cifrada denominado SRA. Base de datos de husos horarios actualizada. Añadidas características y mejoras de rendimiento a la biblioteca de hilos de FreeBSD, libc_r Sysinstall habilita controladores de tarjetas PC y pccardd(8) para medios de instalación de tarjetas PC. |
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 4.1 | • Lanzamiento: 27/07/2000 • Soporte hasta: (?) Compatible con adaptador Ethernet USB Filtros accept Cifrado telnet Firewire básico Soporte básico para HyperThreading Se agregaron ports/CHANGES y ports/UPDATING a FreeBSD Ports Cambios en el núcleo Contiene código actualizado del proyecto KAME (http://www.kame.net) Funcionalidad IPSEC significativamente mejorada. Instalación en una sola red IPv6 Añadido soporte para Intel's Wired for Management 2.0 (PXE) al gestor de arranque de FreeBSD. Esto permite el arranque en red usando DHCP. Soporte añadido para dispositivos USB al núcleo GENERIC y a los programas de instalación para soportar dispositivos USB. Agregado servicio de notificación de eventos (interfaz) llamado Kqueue al núcleo de FreeBSD. Soporte para dispositivos USB al núcleo GENERIC y a los programas de instalación para soportar dispositivos USB. marco criptográfico importado al núcleo desde OpenBSD Cambios en userland Soporte para el demonio IKE de KAME, racoon. Varias utilidades adicionales del sistema (whois, fetch, y posiblemente otras) con capacidad de operar sobre IPv6. camcontrol(8) incluye ahora una función 'format' para formatear a bajo nivel formatear discos SCSI. bootstrap i386 renovado para soportar la detección automática de la unidad de disco y el uso de las extensiones de la BIOS |
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 4.1.1 | • Lanzamiento: 27/09/2000 • Soporte hasta: (?) Cambios en el núcleo Añadido el controlador tap y accept_filters. Soporte de objetos de memoria compartida POSIX.1b. Controlador ata(4) soporta controladores ATA100. Controlador ti(4) compatible con Alteon AceNIC 1000baseT Gigabit Ethernet y Netgear GA620T 1000baseT Gigabit Ethernet. Añadido el tipo de nodo ng_bridge(4) al subsistema netgraph. Cambios en el userland Controlador de dispositivo Ethernet virtual para configuraciones en puente, compatibilidad con el controlador ATA100 Controladores para tarjetas Gigabit ethernet adicionales GDB soporta hardware watchpoints. Añadida utilidad truncate(1), que trunca o extiende la longitud de los archivos. syslogd(8) puede tomar la opción -n para desactivar las consultas DNS para cada solicitud. Añadido kenv(1), una orden para volcar el entorno del núcleo. Comportamiento de periodic(8) controlado por /etc/defaults/periodic.conf y /etc/periodic.conf. Capacidad de logger(1) para enviar mensajes directamente a un syslog remoto. finger(1) permite utilizar alias de digitación mediante el archivo finger.conf(5). sshd activado por defecto en las nuevas instalaciones. Controlador xl(4) soporta los adaptadores 3Com 3C556 y 3C556B MiniPCI. killall(1) es un programa en C, en lugar de un script en Perl. Añadido boot98cfg(8), una utilidad de instalación y configuración del gestor de arranque de PC-98. Comando ifconfig(8) puede establecer la dirección de capa de enlace de una interfaz. Mejoras en el módulo KLD y en la asignación de memoria. |
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 4.2 | • Lanzamiento: 21/11/2000 • Soporte hasta: (?) Cambios en el núcleo Controlador ata(4) soporta colas etiquetadas. Añadido controlador pcn(4). Controlador pcm(4) compatible con ESS Solo 1, Maestro-1, Maestro-2 y Maestro-2e, y Maestro-2e; Forte Media fm801, ESS Maestro-2e, y VIA Technologies VT82C686A, y ha recibido otras actualizaciones. Eliminadas las opciones de configuración del kernel NCPU, NAPIC, NBUS y NINTR, para configurar kernels SMP. Controladores: 1) ahc(4) actualizado; 2) amr(4) actualizado con soporte para los nuevos modelos AMI MegaRAID, 3) snc(4) actualizado para el controlador Ethernet National Semiconductor DP8393X (SONIC) Añadido controladores: 1) snc(4) para el controlador Ethernet National Semiconductor DP8393X (SONIC) Ethernet; 2) ich(4) para el controlador SMBus Intel 82801AA (ICH) y compatibles. PC Card Interface Controller(pcic) a modo polling(irq 0). Controladores ncv(4), nsp(4), y stg(4) portados desde NetBSD/pc98. Actualizado controlador twe(4) para 3ware Añadido el controladores: 1) mly(4) 2) uscanner(4), que proporciona soporte básico para escáneres USB utilizando SANE; 3) umodem(4) para módems USB, compatible con el módem USB 3Com 5605. Correcciones de seguridad TCP utiliza mayor aleatoriedad en la elección de sus números de secuencia iniciales Corregido un error en finger(1) que podía permitir a usuarios remotos ver archivos legibles por todo el mundo rlogind(8), rshd(8) y fingerd(8) deshabilitados por defecto en /etc/inetd.conf. Corregidos varios desbordamientos de búfer en tcpdump(1) Corregido agujero de seguridad en top(1) Corregido posible agujero de seguridad causado por un error "off-by-one" en gethostbyname(3) Corregido posible desbordamiento de búfer en la biblioteca ncurses(3X). Corregida vulnerabilidad en telnetd(8) que podía hacer que consumiera grandes cantidades de recursos del servidor Comando "nat deny_incoming" de ppp(8) funciona correctamente Cambios en el (userland) vacation(1) actualizado para utilizar la versión incluida con sendmail. Herramientas de creación de configuraciones de sendmail(8) instaladas en /usr/share/sendmail/cf/. ssh-add(1) y ssh-agent(1) pueden manejar claves DSA. Añadido servidor sftp interoperable con clientes ssh.com y otros. scp(1) puede manejar archivos >2GB. Mejora de la interoperabilidad con otros clientes/servidores ssh2. Añadida función para limitar el número de conexiones ssh no autenticadas pendientes en sshd. La cadena del compilador usa el código de inicialización de tiempo de ejecución C/C suministrado por la FSF. Biblioteca de hilos (thereads) actualizada, corregida y con mayor rendimiento. Soporte de hilos de gdb(1) actualizado para adaptarse a estos cambios. El procedimiento interno para construir perl ha cambiado, y ya no depende de (ni instala) miniperl. Para mejorar el rendimiento y la utilización del disco, los "esqueletos de ports" en la colección de ports de FreeBSD. ncurses actualizado a ncurses-5.1-20001009. make(1) ha ganado las funciones :C/// (sustitución regexp), :L (minúsculas), y :U (mayúsculas) modificadores de variables. Estos se añadieron para reducir las diferencias entre los programas make de FreeBSD y OpenBSD/NetBSD. La métrica de porcentaje "en uso" mostrada por netstat(1) realmente refleja el porcentaje de mbufs de red utilizados. chio(1) con capacidad de especificar elementos por etiqueta de volumen en lugar de por su ubicación física. La librería ISC de la distribución BIND se construye como libisc. El filtro IP es soportado por la configuración e inicialización de rc.conf(5) durante el arranque e inicialización. Soporte básico para escáner USB, soporte para módem USB, corrección de errores de desbordamiento de búfer FreeBSD Ports reestructurado |
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 4.3 | • Lanzamiento: 20/04/2001 • Soporte hasta: (?) Cambios en el núcleo Combinación de escritura para los crashdumps. Controlador pccard y pccardc(8) soportan ahora múltiples "tipos de pitidos" al insertar y extraer la tarjeta. Actualizado controlador twe(4) para controladores 3Ware Escalade. Controlador an(4) para tarjetas Cisco Aironet soporta ahora el cifrado Wired Equivalent, configurable a través de ancontrol(8). Controladores wi(4) y an(4) ahora están por defecto en modo BSS (infraestructura); anteriormente el modo por defecto era ad-hoc. Controlador ray(4), compatible con las tarjetas de red inalámbricas Webgear Aviator Soporte añadido para la familia Adaptec FSA de controladoras RAID PCI-SCSI en forma de controlador aac(4). Tarjetas Linksys Fast Ethernet PCCARD soportadas por el controlador ed(4) ahora requieren la adición del indicador 0x80000 a su línea de configuración en pccard.conf(5). Corregido un error en FFS que podía causar la corrupción de superbloques en sistemas de archivos muy grandes. Sistema de archivos ISO-9660 ahora tiene un gancho que soporta una rutina de conversión de caracteres cargable. Nueva función hash NFS (basada en el algoritmo hash Fowler/Noll/Vo) para mejorar el rendimiento de NFS mediante el aumento de la eficiencia de las tablas hash nfsnode. Actualizado el controlador cs(4) y ahc(4). bridge(4) y dummynet(4) han recibido algunas mejoras y correcciones de errores. Controlador cd(4) soporta ahora operaciones de escritura. Procedimiento "make buildkernel" ha cambiado ligeramente. Ahora obtiene el nombre de la(s) configuración(es) a construir de la variable KERNCONF (KERNEL sigue siendo válida, pero obsoleta). Controladores separados para SoundBlaster 8 y Soundblaster 16 sustituyen a un antiguo controlador unificado. Añadido controlador para ESS Maestro-3/Allegro, pero debido a restricciones de licencia, no se puede compilar en el kernel. Controlador pcm(4) soporta ahora los chips de sonido CMedia CMI8338/CMI8738, así como el chip de sonido CS4281. Nueva característica ("me") en ipfw(8), que permite la coincidencia de paquetes en interfaces con direcciones IP que cambian dinámicamente. TCP ha recibido algunas correcciones de errores en su comportamiento ACK retardado. TCP soporta la modificación NewReno del algoritmo TCP Fast Recovery de TCP. TCP utiliza un tiempo de espera más agresivo para los segmentos SYN iniciales. Los mensajes ICMP UNREACH_FILTER_PROHIB ahora pueden RST conexiones TCP en el estado SYN_SENT si los números de secuencia correctos son enviados de vuelta, como controlado por el sysctl net.inet.tcp.icmp_may_rst. Un nuevo sysctl net.inet.ip.check_interface, que está desactivado por defecto, hace que IP verifique que un paquete entrante llega a una interfaz que tiene una dirección que coincide con la dirección de destino del paquete. Controlador ata(4) soporta los modos ATA66 y ATA100 en los chipsets Acer Alladin. kqueue(2) se ha extendido a la capa de dispositivos. Correcciones de gestión de señales para Linux, lo que mejora compatibilidad con los programas de señal intensiva que se ejecutan en Linux (Linux Emulation). Controlador de disco ida es ahora compatible con crashdump. Controlador mly(4) ha recibido algunos cambios en colas, mejoras de concurrencia y correcciones de estabilidad. Vinum ha recibido algunas correcciones de errores. Múltiples cambios específicos de la arquitectura Alpha |
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 4.4 | • Lanzamiento: 20/09/2001 • Soporte hasta: (?) Primera versión de FreeBSD que soporta 2 tipos de arquitectura de computadoras/ordenadores (alpha y i386) Cambios en el núcleo Se ha añadido la bandera O_DIRECT a open(2) y fcntl(2). Especificando esta bandera para ficheros abiertos se intentará minimizar los efectos de caché de lectura y escritura. Se ha añadido un dispositivo orm(4) para reclamar las ROMs opcionales en el espacio de E/S de la memoria ISA, para evitar que otros controladores asignen por error direcciones que entren en conflicto con estas ROMs. El código de terminación de procesos fuera de swap ahora comienza a matar procesos antes para evitar bloqueos; ahora también tiene en cuenta el espacio de swap utilizado por los procesos al calcular los tamaños de los procesos. Se ha implementado la clonación de dispositivos de red, y se ha modificado el dispositivo gif(4) para aprovecharla. Así, en lugar de especificar cuántas interfaces gif(4) están disponibles en los archivos de configuración del núcleo, se debe utilizar la opción create de ifconfig(8) cuando se desee otra instancia de dispositivo. Se han introducido dos nuevos comandos ddb(4), hwatch y dhwatch. De forma análoga a watch y dwatch, instalan puntos de control de hardware (en lugar de puntos de control de software) si la arquitectura los admite. Se ha añadido un controlador de terminal de módem nulo nmdm(4). El controlador stl(4) soporta ahora las tarjetas serie multipuerto PCI e ISA EasyIO de Stallion Technologies basadas en la UART Signetics SC26C194/8 Intelligent Quad/Octal. El parámetro de configuración del kernel maxusers es ahora una variable ajustable durante el arranque. Los parámetros del kernel derivados de maxusers son ahora también sintonizables y pueden ser anulados en el arranque. El parámetro hz es ahora también una variable ajustable. El gestor de arranque de FreeBSD contiene ahora una solución para soportar el arranque desde CDROM en ciertas BIOS de IBM que esperan que el primer sector del disquete emulado contenga un BPB de MS-DOS válido que puedan modificar. Soporte de procesador/placa base Añadida detección de nuevos procesadores (Transmeta Crusoe y Transmeta Crusoe con LongRun). Soporte para Streaming SIMD Extensions (SSE) Sistemas de archivos Soporte para smbfs (CIFS) en el núcleo. La correspondiente utilidad de montaje de sistemas de ficheros de usuario puede encontrarse en el port net/smbfs de la Colección de FreeBSD Ports. Optimización de búsqueda basada en hash para directorios grandes llamada dirhash. Condicionada a la opción del kernel UFS_DIRHASH, mejora la velocidad de las operaciones en directorios muy grandes a expensas de algo de memoria. Soporte para interfaces de red Controlador fxp(4) requiere una entrada miibus de dispositivo en el fichero de configuración del kernel. Controlador wx(4) compatible con los adaptadores Intel PRO1000-F y PRO1000-T (10/100/1000). Controlador an(4) compatible con la serie de adaptadores Cisco Aironet 350 y ha recibido algunas correcciones de errores; ahora funciona el modo promiscuo y puede configurarse antes de activarlo. Controlador xl(4) soporta ahora la recepción de tramas etiquetadas VLAN (en los chipsets Cyclone o más recientes). Controlador ti(4) enmascara correctamente las etiquetas VLAN. Añadido controlador nge(4), compatible con adaptadores PCI Gigabit Ethernet basados en los chips controladores Gigabit Ethernet DP83820 y DP83821 de National Semiconductor, incluidos D-Link DGE-500T, SMC EZ Card 1000 (SMC9462TX), Asante FriendlyNet GigaNIC 1000TA y 1000TPC y Addtron AEG320T. Añadido controlador lge(4) para soportar el chip controlador Gigabit Ethernet de Nivel 1 LXT1001 NetCellerator. Controlador tx(4) soporta las tarjetas de fibra óptica SMC 9432FTX NICs. Controlador ed(4) soporta los chips D-Link DL10022, necesarios para la NetGear FA-410TX y otras tarjetas. Añadido controlador txp(4) para soportar NICs basadas en el chipset 3Com 3XP Typhoon/Sidewinder (3CR990). Protocolos de red TCP tiene las extensiones RFC 1323 habilitadas por defecto en rc.conf(5). La implementación de TCP ya no requiere la asignación de una estructura de plantilla TCP para cada conexión. Nuevo sysctl net.inet.ip.check_interface, que está desactivado por defecto, hace que IP verifique que un paquete entrante llega a una interfaz que tiene una dirección que coincide con la dirección de destino del paquete. Nueva opción del núcleo RANDOM_IP_ID hace que el campo ID de los paquetes IP sea aleatorio. KAME Pila IPv6 se basa en la instantánea IPv6 del Proyecto KAME del 28 de mayo de 2001. La mayoría de los elementos enumerados en esta sección son el resultado de esta importación. |
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 4.5 | • Lanzamiento: 29/01/2002 • Soporte hasta: 31/12/2002 Cambios en el núcleo Añadido controlador amdpm(4) Compatibilidad (Emulación) con Linux soporta la funcionalidad del kernel requerida por el puerto emulators/linux_base-7 (emulación RedHat 7.X). Parámetros de configuración del núcleo (MAXTSIZ, DFLDSIZ, MAXDSIZ, DFLSSIZ, MAXSSIZ y SGROWSIZ) son sintonizables por el cargador (kern.maxtsiz, kern.maxdfldsiz, etc.). Añadido controlador pmc, que soporta el controlador de gestión de energía del NEC PC-98NOTE. Volcados de núcleo (Coredumps) de procesos grandes (o de un gran número de procesos) ya no bloquean la máquina durante largos periodos de tiempo. El número de páginas de memoria asignadas para el estado del núcleo por proceso se ha incrementado de 2 a 3, para reducir la probabilidad de desbordamiento de la pila del núcleo (y la consiguiente corrupción de las estructuras de datos por proceso). El kernel en los CDs de instalación está ahora separado de la imagen mfsroot. Esto proporciona más flexibilidad a la hora de construir distribuciones personalizadas de FreeBSD. Cargadores de arranque Nueva utilidad de arranque cdboot para CDROMs proporciona una mejor compatibilidad con algunas implementaciones de BIOS que no implementan completamente el estándar de CDROM de arranque El Torito. loader(8) tiene soporte opcional (activado en tiempo de compilación, desactivado por omisión) para cargar kernels y módulos comprimidos con bzip2. Gestor de arranque de FreeBSD es capaz de arrancar desde sistemas de ficheros con 16K bloques de disco (el límite anterior era de 8K); y soporta ahora la opción -p para forzar al kernel a hacer una pausa después de cada línea de salida durante la fase de sondeo. Soporte de interfaz de red Controlador an(4) soporta el modo monitor, configurable mediante la opción -M de ancontrol(8). Añadido controlador bge(4) para soportar la familia Broadcom BCM570x de controladores Gigabit Ethernet Controlador dc(4) admite ahora NIC basadas en el chip Conexant LANfinity RS7112. Controlador de(4) realiza ahora un arbitraje round-robin entre las unidades de transmisión y recepción del 21143, en lugar de dar prioridad a la unidad de recepción. Controlador dgm ha sido actualizado desde FreeBSD-CURRENT. Añadido el controlador em(4) para soportar NICs basados en los chips controladores Gigabit Ethernet Intel 82542, 82543 y 82544. Dispositivo faith(4) es cargable, descargable y clonable. Controlador fxp(4) es compatible con el microcódigo cargable de Intel para implementar la coalescencia de interrupciones del lado de recepción y la agrupación de paquetes, en las NIC que admiten estas funciones. Añadido el controlador gx(4) para dar soporte a las NIC basadas en los chips controladores Gigabit Ethernet Intel 82542 y 82543. Añadido el controlador sbni, para soportar la serie Granch SBNI12 de interfaces de comunicaciones punto a punto ISA y PCI. Controlador sis(4) es compatible con las controladoras Ethernet integradas estilo SiS 900 en los chipsets de las placas base SiS 635 y 735. Controlador sis(4) es compatible con VLAN. Dispositivos vlan(4) son cargables, descargables y clonables. Controlador xl(4) soporta la descarga de sumas de comprobación TCP/IP del lado de envío y recepción para las NIC que implementan esta característica, como la 3C905B, 3C905C y 3C980C. Mejorado el rendimiento con hosts que tienen un gran número de alias IP, sustituyendo la lista lineal if_inaddr por interfaz por una tabla hash. Mejorado el rendimiento del reenvío de paquetes de ciertos controladores de red (específicamente dc(4) y sis(4)) mediante la eliminación de copias innecesarias del búfer. Protocolos de red Función de tiempo de espera de lectura de bpf(4) funciona más correctamente con select(2)/ poll(2), y por tanto con pthreads. bridge(4) y dummynet(4) son módulos cargables. Tamaños de búfer por defecto de TCP, controlados por las variables sysctl net.inet.tcp.sendspace y net.inet.tcp.recvspace, se han incrementado a 32K y 64K respectivamente. Anteriormente, el valor por defecto para ambos tamaños de búfer era de 16K. Mejoras en TCP (rendimiento, rendimiento y mitigación de Denial-of-service) Discos y almacenamiento Controlador aac(4) incluye la gestión adecuada de los comandos iniciados por el adaptador, la adición/eliminación de dispositivos de disco, la funcionalidad crashdump y los comandos ioctl(2) necesarios para la CLI de gestión. Controlador ata(4) es compatible con una mayor variedad de chipsets y con el direccionamiento de 48 bits (admite dispositivos de más de 137 GB). Añadido controlador ciss, para dispositivos que utilizan la Common Interface for SCSI-3 Support. Controlador isp(4) es compatible con las tarjetas PCI de canal de fibra óptica Qlogic 2300 y 2312. Controladores SCSI ncv, nsp y stg se pueden construir y cargar como módulos. Corregido un error en la implementación de TCP que podía provocar el bloqueo de las conexiones si el remitente veía una ventana de tamaño cero. Sistemas de archivos Modificado algoritmo de preferencia de disposición de directorios para FFS (dirprefs). Subsistema de memoria virtual respalda los requisitos de memoria de directorio UFS por defecto. Corregido un error que impedía montar el sistema de archivos raíz (/) desde un CDROM SCSI (los CDROM ATAPI siempre eran compatibles). La optimización de búsqueda basada en hash UFS_DIRHASH para directorios grandes está activada por defecto en el kernel GENERIC. Soporte para PCCARD Fuisionadas varias características de la versión FreeBSD-CURRENT del controlador pcic(4), incluyendo soporte mejorado para portátiles basados en ToPIC, soporte de 3.3V para algunas controladoras y corrección de errores. Soporte multimedia Añadido el controlador urio(4), para la serie Diamond Rio de reproductores MP3. Software contribuido IPFilter soporta IPv6. Ports Collection El soporte nativo de JDK para FreeBSD se publicará poco después de 4.5-RELEASE. pkg_create(1) soporta la opción -b para crear un fichero de paquete a partir de un paquete instalado localmente. pkg_delete(1) soporta la opción -r para la eliminación recursiva de paquetes. |
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 4.6 | • Lanzamiento: 15/06/2002 • Soporte hasta: Mayo de 2003 Cambios en el núcleo Añadido controlador puc(4) (PCI Universal Communications), para ayudar a conectar puertos serie basados en PCI al controlador sio(4). Dispositivo de volcado del kernel se puede configurar a través del sintonizable del cargador dumpdev. Dispositivo snp(4) puede compilarse como módulo. Añadido controlador spic(4), que proporciona acceso al dispositivo Jog Dial de algunos portátiles Sony. También se ha añadido soporte moused(8) para este dispositivo. Añadido controlador viapm(4) para los controladores de gestión de energía VIA SMBus. Soporte de procesador/placa base Añadida opción de kernel CPU_ATHLON_SSE_HACK, que intenta habilitar el bit de función SSE en las CPU Athlon más recientes si la BIOS ha olvidado habilitarlo. Cargadores de arranque boot2 soporta una opción -n para no permitir la interrupción del arranque por pulsación de teclas. Soporte para interfaces de red Controlador an(4) soporta Cisco LEAP, así como la clave WEP Home. Las utilidades Linux Aironet están soportadas bajo emulación (Linux Emulation). Añadido soporte genérico para redes basadas en token ARCNET. Añadido controlador cm para soportar adaptadores de red SMC COM90cx6 ARCNET. Controlador dc(4) tiene soporte para VLANs. Controlador em(4) soporta tarjetas Intel Gigabit Ethernet en el kernel GENERIC. Añadido el controlador my, que soporta los adaptadores Myson Fast Ethernet y Gigabit Ethernet. Controlador wi(4) compatible con NIC basadas en Prism II y Prism 2.5. WEP de 104/128 bits funciona en tarjetas Prism. Controlador wi(4) soporta el uso de un host FreeBSD como punto de acceso inalámbrico. Controlador wi(4) tiene soporte para bsd-airtools. Controlador xe puede construirse como un módulo. Protocolos de red bridge(4) tiene mejor soporte para múltiples grupos de puentes totalmente independientes, siendo compatible con VLAN. Añadido nuevo módulo ng_eiface netgraph, que aparece como una interfaz Ethernet pero entrega sus tramas Ethernet a un hook Netgraph. Nuevo nodo netgraph ng_etf(4) que permite filtrar paquetes de tipo Ethernet a diferentes hooks dependiendo del ethertype. La implementación de TCP ahora ignora correctamente los paquetes dirigidos a direcciones de difusión de la capa IP. Discos y almacenamiento Controlador ahc(4) sincornizado con la versión de FreeBSD-CURRENT a partir del 29 de abril de 2002. Controlador ata(4) sincronizado con el controlador de FreeBSD-CURRENT el 18 de marzo de 2002. Controlador ata(4) soporta la creación, borrado, consulta y reconstrucción de RAIDs ATA bajo el control de atacontrol(8). Soporte Multimedia Añadido el controlador ufm, compatible con la radio USB D-Link DSB-R100. Controlador de sonido via82c686 compatible con VIA VT8233. Controlador de sonido ich compatible con el chipset SiS 7012. Controlador pcm(4) sincronizado con la versión de FreeBSD-CURRENT del 22 de abril de 2002. Software contribuido Filtro IP: IPFilter actualizado a la versión 3.4.27. isdn4bsd: Añadido controlador ifpi2(4) para soportar el controlador AVM Fritz!Card PCI versión 2. Cambios en userland Añadido atacontrol(8) para controlar varios aspectos del controlador ata(4). Unidades de CDROM ATAPI, cdcontrol(1) soportan una orden de velocidad para establecer la velocidad máxima a utilizar por la unidad. dump(8) proporciona información de progreso en su título de proceso, útil para monitorizar copias de seguridad automatizadas. fsdb(8) soporta un comando blocks para listar los bloques asignados por un inodo en particular. ldd(1) puede utilizarse en librerías compartidas, además de en ejecutables. last(1) admite ahora el indicador -y, que hace que se incluya el año en la hora de inicio de sesión. libstand soporta la carga de grandes kernels y módulos divididos en varios soportes físicos. lpd(8) reconoce la bandera -s como sinónimo preferente de -p lpd(8) mplementa una nueva opción rc printcap. ls(1) acepta una bandera -h, que combinada con la bandera -l, hace que los tamaños de los ficheros se impriman con sufijos unitarios, de forma que el número de dígitos impresos sea inferior a cuatro. m4(1) acepta una bandera -s para que emita directivas #line para uso de cpp(1). mergemaster(8) admite dos nuevas opciones. La opción -p habilita un modo pre-buildworld para comparar archivos que se sabe que son esenciales para el éxito de los pasos de actualización del sistema buildworld e installworld. La opción -C, utilizada tras una ejecución satisfactoria de mergemaster(8), compara las opciones de /etc/rc.conf con las opciones por defecto de /etc/defaults/rc.conf. ngctl(8) soporta una orden de escritura para enviar un paquete de datos por un gancho determinado. patch(1) acepta un indicador de línea de comandos -i para leer un parche de un archivo, en lugar de la entrada estándar. Añadido un módulo pam_ssh(8) para permitir el uso de frases de contraseña SSH y pares de claves para la autenticación. pr(1) soporta los indicadores -f y -p para pausar la salida que va a un terminal. reboot(8) acepta -k para especificar el siguiente kernel a arrancar. sysinstall(8) tiene soporte rudimentario para recuperar paquetes del volumen correcto de una instalación de múltiples volúmenes (como una distribución multi-CD). tftp(1) y tftpd(8) soportan IPv6. Añadida la utilidad usbhidctl(1) para manipular Dispositivos de Interfaz Humana USB. uuencode(1) y uudecode(1) aceptan la opción -o para configurar sus archivos de salida. uuencode(1) puede realizar codificación base64 cuando se le da la opción -m, mientras que uudecode(1) puede decodificar automáticamente archivos base64. watch(8) acepta la opción -f para especificar el dispositivo snp(4) a utilizar. El soporte de locale se ha sincronizado con el código de FreeBSD -CURRENT. Este cambio trae soporte para las categorías LC_NUMERIC, LC_MONETARY, y LC_MESSAGES, así como mejoras a strftime(3), definiciones de locale revisadas, y mejora de la localización de muchos programas base del sistema. Sendmail sendmail se ha actualizado a 8.12.3. sendmail(8) ya no se instala como un binario root set-user-ID (ahora set-group-ID smmsp). Varios daemons de sendmail (algunos necesarios para gestionar el correo saliente) son iniciados por rc(8), incluso si la variable sendmail_enable está en NO. Recopilación de puertos y paquetes Ports Collection utiliza XFree86 4.2.0 como versión por defecto de X Window System para satisfacer las dependencias con adiciones y actualizaciones de controladores Ingeniería de versiones e integración XFree86 4.2.0 es la versión por defecto de X Window System soportada por sysinstall(8). |
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 4.6.2 | • Lanzamiento: 15/08/2002 • Soporte hasta: Mayo de 2003 Esta distribución de FreeBSD 4.6.2-RELEASE es una point release, destinada a solucionar algunos problemas (principalmente relacionados con la seguridad) descubiertos en FreeBSD 4.6-RELEASE. Originalmente iba a llevar el número de versión 4.6.1. Sin embargo, durante el proceso de ingeniería de la versión surgieron varios problemas adicionales que provocaron retrasos añadidos. Para evitar confusiones, los equipos de ingeniería y seguridad decidieron que lo mejor sería renombrar la versión en curso a 4.6.2. Solucionados problemas relacionados con ATA Solucionados problemas relacionados con la seguridad |
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 4.7 | • Lanzamiento: 10/10/2002 • Soporte hasta: Diciembre de 2003 Cambios en el núcleo acct(2) modificado para abrir el fichero de contabilidad en modo append, de forma que accton(8) pueda ser usado para habilitar la contabilidad a un fichero append-only. Añadido soporte para RLIMIT_VMEM. Esta característica define un nuevo límite de recursos que cubre todo el espacio de memoria virtual de un proceso, incluyendo el espacio mmap(2). Este límite puede configurarse en login.conf(5) mediante la nueva variable vmemoryuse. Añadido controlador de dispositivo ucom(4), para soportar módems USB, dispositivos serie y otros programas que necesitan parecerse a un tty. Añadido el controlador uvisor(4) para conectar Handspring Visors a través de USB. Soporte de procesador/placa base Añadido soporte para el AMD Élan SC520; esto requiere la opción CPU_ELAN en el fichero de configuración del kernel. Compatibilidad con interfaces de red Controlador em(4) soporta los chips Intel 82545EM y 82545EB. También soporta VLAN. Controlador rp(4) actualizado a la versión 3.02 y ahora puede construirse como módulo. Protocolos de red Añadida, como opción, una nueva versión de ipfw(4) (comúnmente denominada IPFW2). Esta nueva versión no está habilitada por defecto. Para utilizarla: Añada las opciones IPFW2 (no documentadas) a la configuración del kernel. Compile e instale libalias e ipfw(8) con la opción -DIPFW2 especificada en make(1). Añadido un tipo de nodo netgraph ng_l2tp(4), que implementa la capa de encapsulación del protocolo L2TP tal y como se describe en RFC 2661. Protocolo tcp(4) con capacidad de limitar dinámicamente la ventana de envío para maximizar el ancho de banda y minimizar los tiempos de ida y vuelta. Discos y almacenamiento Añadido controlador ahd(4), compatible con los chips Adaptec AIC7901, AIC7901A y AIC7902 Ultra320 PCI-X SCSI Controller. Controlador ata(4) calcula los tamaños máximos de transferencia. Controlador ata(4) compatible con las controladoras Sil 0680 y VIA 8233/8235. Añadido controlador mpt, para soportar las controladoras Fiber Channel de arquitectura LSI Logic Fusion/MP. Añadido controlador pst, compatible con las controladoras RAID Promise SuperTrak ATA. Soporte multimedia Controlador de audio VT8233 tiene su propio controlador para facilitar el soporte de todas las revisiones conocidas del hardware. Controlador de sonido ich proporciona soporte rudimentario para el soporte de audio ich4. Cambios en Userland biff(1) acepta ahora un argumento b para activar la notificación por timbre de nuevo correo (que no perturba el contenido del terminal como haría biff y). cp(1) acepta una opción (no estándar) -n para responder automáticamente ``no cuando pregunte si se quiere sobrescribir un fichero. Añadido programa daemon(8), una interfaz de línea de órdenes para daemon(3). Esto permite al usuario ejecutar un programa arbitrario como si estuviera escrito para ser un daemon. dump(8) soporta una nueva bandera -S que le permite imprimir simplemente las estimaciones del tamaño del volcado y salir. finger(1) soporta un archivo .pubkey; la opción -g para restringir la impresión de información GECOS sólo al nombre completo del usuario; y soporta las banderas -4 y -6 para especificar una familia de direcciones para consultas remotas. fold(1) soporta una bandera -b para romper en posiciones de byte y una bandera -s para romper en límites de palabra. ftp(1) soporta la orden epsv4 para cambiar entre el uso de las nuevas peticiones EPSV/EPRT y las antiguas PASV/PORT cuando se habla sobre IPv4. Con esta orden se pretende solucionar el problema que surgía al ejecutar ftp(1) a través de IPFilter u otro cortafuegos que no soportara las nuevas peticiones FTP. ftpd(8) soporta varias opciones predefinidas. ifconfig(8) soporta la orden eui64 para rellenar automáticamente los 64 bits inferiores de una dirección IPv6; y tiene la capacidad de establecer el modo promiscuo en una interfaz, a través de la nueva bandera promisc. inetd(8) tiene la capacidad de limitar el número máximo de invocaciones simultáneas de cada servicio desde una única dirección IP. lock(1) acepta -v para desactivar el cambio de VTY mientras el terminal actual está bloqueado. Esto permite bloquear toda la consola desde un único terminal. mv(1) acepta la opción (no estándar) -n para responder automáticamente ``no cuando se pide sobrescribir un fichero. nice(1) utiliza la opción -n para especificar la ``nicidad de la utilidad que se está ejecutando. od(1) soporta nuevas opciones predefinidas. Añadido módulo pam_opieaccess(8). pam_radius(8), pam_ssh(8), y pam_tacplus(8) se han sincronizado con las versiones en FreeBSD -CURRENT a partir del 3 de julio de 2002. pam_unix(8) se ha sincronizado con la versión de FreeBSD -CURRENT del 9 de marzo de 2002 (anterior a OpenPAM). pwd(1) soporta la bandera -L para imprimir el directorio lógico de trabajo actual. La orden renice(8) implementa una opción -n, que especifica un incremento a aplicar a la prioridad de un proceso. sed(1) acepta la opción -i para permitir la edición de archivos en el mismo lugar. sh(1) admite la opción -C para evitar que los archivos regulares existentes se sobrescriban al redirigir la salida, y -u para dar un error si se expande una variable no establecida. split(1) soporta una opción -a para especificar el número de letras a utilizar para el sufijo de los ficheros divididos. su(1) soporta la autenticación Kerberos V. tr(1) tiene soporte básico para clases de equivalencia para locales que las soporten. unexpand(1) soporta -t para especificar tabstabs de forma análoga a expand(1). vidcontrol(1) acepta -S para permitir al usuario desactivar la conmutación VTY. who(1) dispone de varias opciones nuevas: -H muestra los encabezados de las columnas; -T muestra el estado de mesg(1); -m es un equivalente a am i; -u muestra el tiempo de inactividad; -q para listar los nombres en las columnas. xargs(1) soporta varias opciones de acciones. Colección de Ports/Paquetes Actualizas las librerías instaladas por el port emulators/linux_base (necesarias para la emulación de Linux, (Linux Emulation)); ahora corresponden a las incluidas con Red Hat Linux 7.1. XFree86 ha actualizado a 4.2.1. Esta versión proporciona algunas correcciones de seguridad y errores con respecto a la versión 4.2.0. Se ha añadido el controlador uaudio, para dispositivos de audio USB. Nuevos dispositivos USB y controladores de disco IPFW versión 2 (desactivado por defecto) |
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 4.8 | • Lanzamiento: 03/04/2002 • Soporte hasta: 31/03/2004 Cambios en el núcleo Nuevo Marco (framework) criptográfico en el núcleo, importado desde OpenBSD. Añadido soporte inicial para dispositivos FireWire Añadido soporte para el controlador de gestión de energía CanBe. Añadido controlador ubsa para soportar los adaptadores USB a serie Belkin F5U103 (y compatibles). Añadido controlador uftdi(4), para soportar dispositivos USB-a-serie FTDI. Soporte de procesador/placa base FreeBSD tiene soporte rudimentario para HyperThreading (HTT). Núcleos SMP con la opción de kernel HTT detectarán y arrancarán los procesadores lógicos en máquinas con capacidad HTT. Cargadores de arranque Cargador de arranque PC98 con soporte para arrancar desde medios SCSI MO. Soporte de interfaz de red Controlador cm soporta IPX. Controlador nge(4) soporta el sondeo de dispositivos de red(4). Protocolos de red Opción del kernel FAST_IPSEC permite que la implementación de IPsec utilice el framework crypto(4) del kernel, junto con su soporte para aceleración criptográfica por hardware. Añadido controlador gre(4), que puede encapsular paquetes IP utilizando GRE (RFC 1701) o encapsulación IP mínima para IP móvil (RFC 2004). Discos y almacenamiento Controlador ata(4) soporta el acceso a dispositivos ATA como dispositivos SCSI a través del método de acceso común (CAM) y los controladores (cd(4), da(4), st(4) y pass(4)). Reescrito el controlador targ(4) y añadido un modo de usuario a /usr/share/examples/scsi_target que emula un dispositivo de acceso directo. Añadido el controlador trm para soportar adaptadores SCSI que utilicen el chipset SCSI Tekram TRM-S1040. Cambios en Userland burncd(8) acepta un valor de max en su opción -s para establecer la velocidad máxima de escritura de la unidad. cdcontrol(1) admite un comando speed para establecer la velocidad máxima que utilizará la unidad (se puede seleccionar la máxima velocidad posible estableciendo speed en max). Distribución compat4x incluye las librerías libcrypto.so.2 y libssl.so.2 de FreeBSD 4.7-RELEASE. Añadida utilidad fwcontrol(8) para ayudar a los usuarios a acceder y controlar el subsistema FireWire. ftpd(8) soporta la opción -h para deshabilitar la impresión de cualquier información específica del host, como la versión de ftpd(8) o el nombre del host, en los mensajes del servidor. ftpd(8) admitela opción -P para especificar un puerto en el que escuchar en modo demonio. ftpd(8) soporta un formato extendido del fichero /etc/ftpchroot. ftpd(8) soporta nombres de ruta de directorio de inicio de sesión que especifican simultáneamente un directorio para chroot(2) y aquel al que cambiar en el entorno chroot. Añadida utilidad getconf(1). Imprime los valores de la ruta POSIX o X/Open o las variables de configuración del sistema. ipfw(8) soporta órdenes enable y disable para controlar varios aspectos del funcionamiento de ipfw(4) (incluyendo la activación y desactivación del propio cortafuegos). make(1)soporta una bandera -C para cambiar a un directorio dado antes de construir su(s) objetivo(s). mount_nfs(8) soporta -c para evitar hacer connect(2) para puntos de montaje UDP. newsyslog(8) admite un indicador W para forzar que los trabajos de compresión iniciados previamente para una entrada (o grupo de entradas especificadas con el indicador G) finalicen antes de comenzar uno nuevo. Añadida utilidad pathchk(1), que comprueba la validez o portabilidad de los nombres de ruta entre sistemas POSIX. pw(8) puede añadir un usuario cuyo nombre termine con un carácter $; este cambio pretende ayudar a la administración de los servicios Samba. rarpd(8) acepta un indicador -t para especificar un directorio alternativo a /tftpboot. Capacidades base64 de uuencode(1) y uudecode(1) pueden activarse automáticamente invocando a estas utilidades como b64encode(1) y b64decode(1) respectivamente. Definiciones de flujos de archivos estándar (stdin, stdout y stderr) cambiadoa para que dejen de ser constantes en tiempo de compilación. Ports/Packages Collection Ficheros pkg-comment de una línea se han eliminado del esqueleto de cada port; su contenido se ha movido al Makefile de cada port. Este cambio reduce el espacio en disco y los inodos utilizados por el árbol de ports. |
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 4.9 | • Lanzamiento: 28/10/2003 • Soporte hasta: 31/10/2004 Cambios en el kernel Controlador hifn(4) soporta ahora criptografía simétrica para los chipsets 7955 y 7956. Añadidocontrolador safe(4) para dar soporte a los aceleradores criptográficos basados en SafeNet 1141 y 1741. Soporte de hardware específico de plataforma i386 Añadido soporte para la capacidad Physical Address Extensions (PAE) en procesadores Intel Pentium Pro y superiores. Esto permite el uso de hasta 64GB de RAM en una máquina, aunque la cantidad de memoria utilizable por cualquier proceso individual (o el kernel de FreeBSD) no cambia. La página de manual de pae(4) tiene más detalles sobre esta característica. Soporte de interfaces de red bge(4) soporta NICs Gigabit Ethernet basados en Broadcom 5705. Controlador dc(4) vuelve a transmitir paquetes correctamente a través de tarjetas Davicom DC9102. Añadido controlador proatm para soportar las interfaces ProATM de ProSum (basadas en IDT77252). Este controlador es análogo al controlador patm de FreeBSD-CURRENT. Añadido controlador de red rue(4), que proporciona soporte para adaptadores Ethernet basados en el chip controlador de USB a Fast Ethernet RealTek RTL8150. Añadido controlador sbsh(4) para el módem SHDSL Granch SBNI16. sk(4) soporta SK-9521 V2.0 y 3COM 3C940 basado en Gigabit Ethernet NICs. Protocolos de red Correcciones a la extensión de dirección física e IPFW Las reglas ipfw(4) soportan listas de direcciones separadas por comas (como 1.2.3.4, 5.6.7.8/30, 9.10.11.12/22), y permiten espacios después de las comas para hacer las listas de direcciones más legibles. Las reglas ipfw(4) soportan comentarios estilo C++. Cada comentario se almacena junto con su regla y aparece utilizando la orden show de ipfw(8). ipfw(8) puede modificar reglas ipfw(4) en el conjunto 31, que era de sólo lectura y se utilizaba para las reglas por defecto. Añadido soporte de núcleo para el enrutamiento de multidifusión independiente del protocolo. Discos y almacenamiento Controlador da(4) no intenta enviar comandos de 6 bytes a dispositivos USB y Firewire. Controlador twe(4) soporta ahora la API genérica de 3ware. Sistemas de archivos Nueva opción del núcleo DIRECTIO habilita el soporte para operaciones de lectura que saltan la caché del buffer y ponen los datos directamente en un buffer de usuario. Cambios en Userland arp(8) admite una opción -i para limitar el alcance de la operación actual a las entradas ARP de una interfaz concreta. chroot(8) permite la configuración opcional de un usuario, grupo primario o lista de grupos a utilizar dentro del entorno chroot mediante las opciones -u, -g y -G respectivamente. ipfw(8) soporta la opción -n para probar la sintaxis de los comandos sin cambiar nada. mount_msdos(8) admite una opción -M para especificar los permisos de archivo máximos para los directorios en el sistema de archivos. systat(1) incluye la visualización del tráfico IPv6 e ICMPv6. uudecode(1) y b64decode(1) admiten la opción -r para descodificar archivos sin procesar (o rotos) a los que les pueden faltar las líneas de encuadre iniciales y, posiblemente, las finales. Infraestructura de recopilación de puertos/paquetes pkg_create(1) soporta ahora la opción -C, que permite a los paquetes registrar una lista de otros paquetes con los que entran en conflicto. Se negarán a instalarse (mediante pkg_add(1)) si uno de los paquetes de la lista ya está presente. La opción -f de pkg_add(1) anula esta comprobación de conflictos. |
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 4.10 | • Lanzamiento: 27/05/2004 • Soporte hasta: Mayo de 2006 Cambios en el núcleo Controlador cx(4) para adaptadores serie síncronos/asíncronos Cronyx Sigma actualizado a la versión 4.4.0. Añadido controlador ctau(4) para los adaptadores serie síncronos Cronyx-Tau. Añadido controlador dcons(4) dumb console para proporcionar una consola local y remota. Actualizado el controlador stl(4) a la versión 5.6.0b1. Añadido controlador umct(4), que proporciona soporte para conversores USB a RS-232 basados en la tecnología Magic Control USB-232. Mejorado el soporte de usb(4), que incluye muchas correcciones de errores y soporte anticipado para algunos dispositivos USB2. Soporte de interfaz de red Controlador ste(4) soporta polling(4). Protocolos de red Implementación de TCP incluye soporte parcial (sólo salida) para el soporte de resumen RFC 2385 (TCP-MD5). Implementada la asignación aleatoria de puertos efímeros, que proviene de OpenBSD. Añadido el tipo de nodo NetGraph ng_vlan(4), que soporta el etiquetado VLAN IEEE 802.1Q. Discos y almacenamiento Controlador amr(4) soporta crashdump del sistema. Añadido controlador twa(4), que soporta las controladoras RAID PATA/SATA de la serie 9000 de 3ware. umass(4) soporta los comandos ATAPI MMC faltantes y maneja el tiempo de espera adecuadamente. Cambios en Userland disklabel(8) soporta la opción -f para trabajar con ficheros normales que contengan imágenes de disco. ifconfig(8) soporta una opción staticarp para una interfaz, que desactiva el envío de peticiones ARP para esa interfaz. ifconfig(8) imprime el estado de polling(4) en la interfaz. killall(1) soporta una bandera -e para hacer que -u opere sobre IDs de usuario efectivos, en lugar de reales. Modo por defecto es 0700 en lugar de 01777,para el directorio lost+found de fsck(8), Librería libalias, natd(8) y ppp(8) soportan el protocolo Cisco Skinny Station, que es el protocolo utilizado por los teléfonos IP de Cisco para hablar con los gestores de llamadas de Cisco. libdisk utiliza el valor correcto de partición de disco PC98 para FreeBSD. E makewhatis(1), anteriormente un script Perl, ha sido reimplementado en C. Mejorada la compatibilidad de ps(1) con POSIX/SUSv3. pw(8) soporta la opción -H, que acepta una contraseña cifrada en un descriptor de fichero. rtld(1) soporta la asignación dinámica de dependencias de objetos compartidos. Utilidad sconfig(8) se añadió como parte de la actualización del controlador cx(4). Importado stat(1) desde NetBSD a partir del 5 de junio de 2002. which(1), anteriormente un script Perl, ha sido reimplementado en C. Infraestructura de recogida de puertos/paquetes Añadido y activado por defecto el atributo SIZE para distfiles, que puede utilizarse para comprobar el tamaño de los archivos antes de descargarlos. Añadido dos nuevos ficheros al árbol de ports para hacer un seguimiento de los cambios dignos de mención: ports/CHANGES enumera los cambios más importantes en la Colección de Ports y su infraestructura. ports/UPDATING describe algunos problemas potenciales que pueden encontrarse al actualizar ciertos ports, de forma análoga a src/UPDATING para el sistema base. |
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 4.11 | • Lanzamiento: 25/01/2005 • Soporte hasta: 31/01/2007 Cambios en el núcelo Añadido controlador cp(4) para los adaptadores serie síncronos Cronyx Tau-PCI. Corregido un error en mmap(2) por el que las páginas marcadas como PROT_NONE podían volverse legibles en determinadas circunstancias. Corregido errores de las funciones vm_object_madvise, vm_object_sync y contigmalloc en el subsistema de memoria virtual de FreeBSD. oporte de hardware específico de la plataforma Añadido controlador pbio(4), que soporta el acceso directo al chip Intel 8255A de interfaz periférica programable (PPI) funcionando en modo 0 (E/S simple). 2.2.2 Soporte de interfaz de red: Añadido controlador axe(4), que soporta el chipset ASIX Electronics AX88172 USB 2.0 Ethernet. Controlador bge(4) compatible con BCM5750 y BCM5751. Controlador em(4) compatible con los adaptadores PCI Express de doble puerto 82541ER y 82546GB. Añadido controlador ixgb(4), compatible con adaptadores PCI Gigabit Ethernet basados en los chips controladores Ethernet Intel 82597EX. Añadido el tipo de nodo Netgraph ng_hub(4), que soporta una distribución simple de paquetes que actúa como un concentrador Ethernet. Controlador vr(4) soporta ahora polling(4). Implementado el soporte de polling(4) por interfaz. Todos los controladores de red que soportan polling(4) (dc(4), fxp(4), em(4), nge(4), re(4), rl(4), sis(4), ste(4), y vr(4)) también soportan esta capacidad y puede controlarse mediante ifconfig(8). Protocolos de red Implementada la asignación de puertos efímera aleatoria, que proviene de OpenBSD. ipfw(4) soporta tablas de búsqueda. Esta característica es útil para manejar grandes conjuntos de direcciones dispersas. Mejorado el manejo de RST de la pila TCP de FreeBSD para dificultar al máximo los ataques de reinicio, manteniendo al mismo tiempo la compatibilidad con la más amplia gama de pilas TCP. 2.2.4 Discos y almacenamiento: Añadido controlador ips(4), que soporta la controladora IBM/Adaptec ServeRAID. Controlador mpt(4) soporta la tarjeta LSI Logic FC929X Dual 2Gb/s Fibre Channel. Controlador trm(4) es compatible con los adaptadores DC395U2W y se han corregido los problemas que se producían con cargas pesadas. 2.3 Cambios en Userland: Daemon cron(8) acepta dos nuevas opciones, -j y -J, para habilitar la fluctuación de tiempo para que los trabajos se ejecuten como usuarios sin privilegios y como superusuario, respectivamente. fwcontrol(8) soporta una opción -m para establecer el objetivo fwmem por defecto. libc soporta las funciones eui64(3). ngctl(8) soporta el comando dot para producir un GraphViz (.dot) de todo el Netgraph. Reimplementado el LQM (Link Quality Monitoring) de ppp(8). El LQM, que se describe en el RFC 1989, permite a PPP realizar un seguimiento de la calidad de una conexión en ejecución. La implementación de userland ppp(8) soporta el comando ``set rad_alive N para habilitar el envío periódico de información contable RADIUS al servidor RADIUS. syslogd(8) soporta la función LOG_NTP. whois(1) compatible con los gestores NORID (registro noruego de primer nivel), el servidor de nombres whois alemán y un indicador -k para consultar whois.krnic.net (la Agencia Nacional de Desarrollo de Internet de Corea), que contiene información detallada sobre la asignación de direcciones IP en Corea. Ingeniería de lanzamiento e integración GNOME actualizado a 2.8.2. KDE actualizada a 3.3.2. Paquete userland soportado para la compatibilidad binaria con Linux (Linux Emulation), ha sido actualizado a linux_base-8 (basado en Red Hat Linux 8.0). Versión soportada de X Window System ha sido actualizada a XFree86 4.4.0. |

### FreeBSD 5.x

FreeBSD 5.0 a 5.5 :
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 5.0 | • Lanzamiento: 14/01/2003 • Soporte hasta: 30/06/2003 Primera versión de FreeBSD que soporta 5 tipos de arquitectura de computadoras/ordenadores (alpha, ia64, i386, pc98 y sparc64) Cambios en el Núcleo Ejecución de ejecutables en formato a.out(5) requiere la opción COMPAT_AOUT en la configuración del núcleo o la carga del módulo del núcleo aout.ko. acct(2) modificada para abrir el fichero de contabilidad en modo append, de forma que accton(8) puede ser utilizado para habilitar la contabilidad en un fichero sólo append. Añadido soporte preliminar para dispositivos Bluetooth, en forma de una serie de módulos de Netgraph. Importado desde OpenBSD un marco criptográfico en el núcleo. Nuevo comando ddb(4) show pcpu lista algunos de los datos por CPU. Añadido dispositivo devctl para permitir a los programas de usuario saber cuándo los dispositivos entran y salen del árbol de dispositivos. devfs(5), que permite que las entradas en el directorio /dev se construyan automáticamente y soporta una fijación más flexible de dispositivos, ampliamente rehecha. Añadido controlador digi para soportar tarjetas Digiboard basadas en PCI Xr e ISA Xem. Añadida una llamada al sistema eaccess(2), similar a access(2) excepto que la primera utiliza credenciales efectivas en lugar de credenciales reales. Añadido soporte inicial para dispositivos FireWire. Cada entorno jail(2) puede ejecutarse bajo su propio securelevel. Variables sysctl ajustables para jail(2) se han movido de jail.* a la jerarquía security.*. El entorno del núcleo es dinámico, y puede cambiarse mediante la nueva llamada al sistema kenv(2). El cargador y el enlazador del núcleo buscan archivos llamados linker.hints en cada directorio con KLDs para un mapeo de nombre de módulo y versión a nombre de archivo KLD. La nueva utilidad kldxref(8) se utiliza para generar estos archivos. lomac(4), un mecanismo de seguridad de Control de Acceso Obligatorio de Baja Marca de Agua, se ha añadido como módulo del núcleo. Proporciona un mecanismo de seguridad que se suma a los mecanismos de seguridad tradicionales basados en UID. FreeBSD soporta experiemntalmente un framework extensible de Control de Acceso Obligatorio, el TrustedBSD MAC Framework. Permite que módulos cargables del kernel se vinculen al kernel en tiempo de compilación, arranque o ejecución para aumentar la política de seguridad del sistema. Añadido código de perfilado mutex(9), habilitado por la opción de configuración del kernel MUTEX_PROFILING. Añadido soporte para PECOFF (Win32 Execution file format). Dispositivo random(4) reescrito para utilizar el algoritmo Yarrow. Recoge entropía de diversas fuentes de interrupción, como los dispositivos de consola, las interfaces de red Ethernet y punto a punto, y los dispositivos de almacenamiento masivo. La entropía del dispositivo random(4) se guarda periódicamente en archivos en /var/db/entropy, así como en el momento del apagado. Nueva opción del núcleo, options REGRESSION, habilita interfaces y funcionalidades pensadas para su uso durante pruebas de corrección y regresión. Añadido soporte para RLIMIT_VMEM. Esta característica define un nuevo límite de recursos que cubre todo el espacio de memoria virtual de un proceso, incluyendo el espacio mmap(2). Controlador syscons(4) soporta el pegado controlado por teclado, por defecto vinculado a Shift-Insert. Añadido controlador uaudio, para dispositivos de audio USB. Añadido controlador ubsa para soportar los adaptadores USB a serie Belkin F5U103 (y compatibles). Añadido el controlador de dispositivo ucom(4), para soportar módems USB, dispositivos serie, y otros programas que necesitan parecerse a un tty. Los controladores relacionados uftdi(4), uplcom(4), uvscom(4) proporcionan soporte específico para adaptadores serie FTDI, el adaptador serie Prolific PL-2303 y el SUNTAC Slipper U VS-10U, respectivamente. Añadido controlador uvisor(4) para conectar Handspring Visors a través de USB. Añadido un controlador de framebuffer lineal VESA S3. Revisada la infraestructura crashdump del núcleo, para soportar nuevas plataformas y en general limpiar la lógica del código. Áreas de intercambio extremadamente grandes (>67 GB) ya no causan pánico en el sistema. Es posible conectar variables de entorno del núcleo (como sintonizables) en tiempo de compilación utilizando la directiva ENV de config(8). Planificador del núcleo de FreeBSD soporta Kernel-Scheduled Entities (KSEs), lo que proporciona soporte para múltiples hilos de ejecución por proceso de forma similar a las Scheduler Activations. El kernel soporta múltiples dispositivos de consola de bajo nivel. La nueva utilidad conscontrol(8) ayuda a gestionar las distintas consolas. El asignador de memoria del núcleo es un asignador de memoria slab, similar al utilizado en Solaris. Se trata de un asignador de memoria seguro para SMP que ofrece un rendimiento casi lineal a medida que aumenta el número de CPU's. También permite reducir la fragmentación de la memoria. Soporte de procesador/placa base Soporte SMP ha sido ampliamente reelaborado, incorporando código de BSD/OS 5.0. Una de las principales características de SMPng (SMP Next Generation) es permitir la ejecución de más procesos en el núcleo, sin necesidad de bloqueos de giro que pueden reducir drásticamente la eficiencia de los procesadores múltiples. Añadido soporte para el AMD Élan SC520; esto requiere la opción CPU_ELAN en el fichero de configuración del núcleo. Añadida opción de configuración del núcleo CPU_DISABLE_CMPXCHG. Activar esta opción ha demostrado mejorar drásticamente el rendimiento en instalaciones de SO cliente VMWare. Cambios en el gestor de arranque El núcleo y los módulos se han movido al directorio /boot/kernel, para que puedan ser fácilmente manipulados juntos. El gestor de arranque se ha actualizado para que este cambio sea lo más fluido posible. El gestor de arranque soporta la carga de kernels desde sistemas de archivos UFS1 y UFS2. Soporte para interfaces de red Controlador dc(4) soporta NICs basados en los chips Xircom 3201 y Conexant LANfinity RS7112. Controlador el(4) puede cargarse como módulo. Añadido el controlador lmc para soportar adaptadores LAN Media Corp WAN basados en el controlador DEC Tulip PCI Fast Ethernet. Controlador rp(4) se ha actualizado a la versión 3.02 y ahora puede cargarse como módulo. Dispositivo stf(4) es clonable. Controlador tx(4) soporta el filtrado multicast real. Los dispositivos de red aparecen automáticamente como ficheros especiales en /dev/net. Añadido soporte de Copia cero a la pila de red. Esta característica puede eliminar la copia de datos de red entre el núcleo y el usuario, Protocolos de red Una opción de kernel FAST_IPSEC permite a la implementación IPsec utilizar el framework crypto(4) del kernel, junto con su soporte para aceleración criptográfica por hardware. Añadido controlador gre(4), que puede encapsular paquetes IP usando GRE (RFC 1701) o encapsulación IP mínima para IP Móvil (RFC 2004). Las respuestas ICMP ECHO y TSTAMP están limitadas en tasa. Los RSTs TCP generados debido a paquetes enviados a puertos abiertos y no abiertos están ahora limitados por contadores separados. Cada cola de limitación de velocidad tiene ahora su propia descripción. Los mensajes ICMP Source Quench no se generan para paquetes reenviados. Multidifusión IP funciona en dispositivos VLAN. ipfw(4) reimplementado (la nueva versión se denomina IPFW2). Añadido un nuevo tipo de nodo de grafo de red ng_device(4), que crea una entrada de dispositivo en /dev, para ser usado como punto de entrada a un grafo de red. Añadido los nodos netgraph ng_gif(4) y ng_gif_demux(4), para operar sobre dispositivos gif(4). Añadido el nodo netgraph ng_ip_input(4), para poner en cola paquetes IP en el código principal de procesamiento de entrada IP. Añadido un nuevo tipo de nodo netgraph ng_l2tp(4), que implementa la capa de encapsulación del protocolo L2TP tal y como se describe en el RFC 2661. Añadido un nuevo tipo de nodo ng_split para dividir un flujo de paquetes bidireccional en dos flujos unidireccionales. El rango de puertos efímeros utilizado para TCP y UDP se ha cambiado a 49152-65535 (el antiguo predeterminado era 1024-5000). Esto aumenta el número de conexiones/flujos salientes concurrentes. El temporizador de retransmisión del protocolo tcp(4) puede manipularse ahora con dos variables sysctl. El valor por defecto se ha reducido de un segundo a 200 ms (similar al valor por defecto de Linux) con el fin de manejar mejor los contratiempos en conexiones interactivas y mejorar la recuperación en conexiones rápidas con pérdidas, como los enlaces inalámbricos. Protocolo tcp(4) tiene la capacidad de limitar dinámicamente la ventana de envío para maximizar el ancho de banda y minimizar los tiempos de ida y vuelta. Discos y almacenamiento Añadido controlador ahd(4), compatible con los chips Adaptec AIC7901, AIC7901A y AIC7902 Ultra320 PCI-X SCSI Controller. Controlador ata(4), junto con burncd(8), soporta escritura en medios en unidades DVD+RW. Controlador ata(4) soporta el acceso a dispositivos ATA como dispositivos SCSI a través de la capa CAM y los controladores (cd(4), da(4), st(4), y pass(4)). Controlador ata(4) tiene soporte para las controladoras Sil 0680 y VIA 8233/8235. Controlador ata(4) compatible con las controladoras Acard ATP850, ATP860 y ATP865. Controlador cd(4) soporta las mismas ioctls CDRIOCREADSPEED y CDRIOCWRITESPEED que utiliza el controlador acd(4) para establecer la velocidad de acceso al CDROM. Reescrito el controlador targ(4) y se ha añadido un modo de usuario a /usr/share/examples/scsi_target que emula un dispositivo de acceso directo. Controlador de disquetes fdc(4) ha sido objeto de una serie de mejoras. La selección de densidad para configuraciones comunes es ahora automática; el controlador es también mucho más flexible a la hora de establecer las densidades de varios subdispositivos. Añadido el marco de transformación de peticiones de E/S de disco geom(4); este marco extensible está diseñado para soportar una amplia variedad de operaciones sobre peticiones de E/S en su camino desde el núcleo superior a los controladores de dispositivos. Añadido un módulo de cifrado de disco basado en GEOM. Proporciona denegación de acceso a discos fríos, con cuatro barreras criptográficas diferentes y hasta cuatro frases de paso modificables. Controlador isp(4) es proactivo a la hora de descubrir cambios en la topología del Canal de Fibra. Controlador isp(4) soporta modo destino para tarjetas SCSI Qlogic, incluyendo Ultra2 y Ultra3 y tarjetas de bus dual. md(4), el dispositivo de disco de memoria, ha incorporado la funcionalidad de vn(4). Los dispositivos md(4) pueden configurarse mediante mdconfig(8). Añadido controlador mpt, para soportar los controladores Fiber Channel de la arquitectura LSI Logic Fusion/MP. Añadido controlador pst(4), para soportar las controladoras RAID Promise SuperTrak ATA. Controlador de disco RAIDframe ha sido importado desde NetBSD. Este controlador proporciona capacidades RAID 0, 1, 4 y 5 basadas en software, así como otras funcionalidades. Controlador trm añadido para soportar adaptadores SCSI usando el chipset Tekram TRM-S1040 SCSI. Sistemas de ficheros Añadido soporte para atributos extendidos con nombre al kernel de FreeBSD. Esto permite al núcleo, y a los procesos de usuario con los privilegios adecuados, etiquetar ficheros y directorios con datos de atributos. Añadido a FFS una función de instantánea del sistema de archivos. Implementados los bloqueos NFS del lado del cliente. Introducida compatibilidad con listas de control de acceso (ACL) al sistema de archivos, lo que permite un control más preciso del acceso discrecional a archivos y directorios. Este soporte ha sido integrado desde el Proyecto TrustedBSD. Añadido pseudofs, un marco de pseudo-sistema de ficheros. linprocfs(5) y procfs(5) se han modificado para usar pseudofs. Sistemas de archivos de red (como los sistemas de archivos NFS y smbfs) listados en /etc/fstab ahora se pueden montar correctamente durante la inicialización de arranque; sus montajes se posponen hasta después de inicializar la red. Añadido soporte de sólo lectura para el Formato Universal de Disco (UDF). Este formato se utiliza en CD-RWs escritos por paquetes y en la mayoría de los discos DVD-Video comerciales. Añadido soporte básico para el sistema de archivos UFS2. UFS1 sigue siendo el formato predeterminado en disco, aunque UFS2 puede seleccionarse como opción en newfs(8) o a través de la pantalla de particionado en sysinstall(8). Las plataformas de 64 bits pueden arrancar desde sistemas de archivos raíz UFS2. Compatibilidad con PCCARD Añadido soporte preliminar de CardBus con NEWCARD. Este código admite tarjetas de 32 y 16 bits. NEWCARD es el sistema PCCARD/CardBus por defecto en el kernel GENERIC. Soporte multimedia Controlador de audio VT8233 tiene su propio controlador para facilitar el soporte de todas las revisiones conocidas del hardware. Añadido una API para tarjetas de sonido con control de volumen por hardware. Controlador de sonido ich proporciona soporte rudimentario para el soporte de audio ich4. Añadidos controladores para soportar la Infraestructura de Renderizado Directo, que puede usarse para proporcionar aceleración 3D dentro de XFree86. Software contribuido El Lenguaje de Comandos Inspirado en Forth (FICL) utilizado en el gestor de arranque actualizado a la versión 3.02. Añadido soporte para Advanced Configuration and Power Interface (ACPI), un estándar multiproveedor para la configuración y gestión de energía. Cambios en Userland adduser(8) y rmuser(8) son scripts sh(1), en lugar de scripts Perl. arp(8) imprime etiquetas [fddi] o [atm] para direcciones en interfaces de esos tipos. Añadida utilidad asa(1), para interpretar caracteres de control de carro FORTRAN. at(1) soporta la opción de línea de comandos -r para eliminar trabajos y la opción -t para especificar tiempos en formato de tiempo POSIX. basename(1) acepta las banderas -a y -s, que le permiten realizar la función basename(3) en múltiples ficheros. biff(1) acepta un argumento b para habilitar la notificación por timbre de nuevo correo (que no perturba el contenido del terminal como haría biff y). burncd(8) soporta el modo Disk At Once (DAO), seleccionable mediante la bandera -d; tiene la capacidad de escribir VCDs/SVCDs; y acepta un valor de max en su opción -s para establecer la velocidad máxima de escritura de la unidad. se han añadido bzgrep(1), bzegrep(1) y bzfgrep(1) para realizar operaciones de tipo grep(1) en archivos comprimidos con bzip2(1). calendar(1) toma una opción -W, que opera de forma similar a -A pero sin tratamiento especial en fines de semana, y una opción -F para cambiar la noción de Viernes. catman(1) es un programa en C, en lugar de un script en Perl. cdcontrol(1) soporta un comando de velocidad para establecer la velocidad máxima a utilizar por el variador (la velocidad máxima posible puede seleccionarse estableciendo la velocidad en max). Añadida función de la librería check_utility_compat(3) a libc, para determinar si ciertas utilidades del sistema base de FreeBSD deben comportarse en modo compatible con FreeBSD 4 o en modo estándar (estándar por omisión). chflags(1) trasladado de /usr/bin a /bin. chmod(1) soporta -h para cambiar el modo de un enlace simbólico; y cuando se modifica el modo, imprime los modos antiguo y nuevo si la opción -v se especifica más de una vez. chown(8) ya no toma . como delimitador de usuario/grupo. Este cambio se realizó para soportar nombres de usuario que contienen un carácter .. Añadida una distribución compat4x para compatibilidad con FreeBSD 4-STABLE. Incluye un subconjunto de las librerías distribuidas con FreeBSD 4.7-RELEASE. cp(1) toma una opción (no estándar) -n para responder automáticamente no cuando pregunte si se quiere sobrescribir un fichero. Añadida nueva utilidad csplit(1), que divide ficheros basándose en el contexto. ctags(1) crea etiquetas para typedefs, structs, unions y enums por defecto (implicando la opción -t). La nueva opción -T vuelve al comportamiento anterior. Añadido el programa daemon(8), una interfaz de línea de comandos para daemon(3). Se separa de su terminal de control y ejecuta un programa especificado en la línea de órdenes. Esto permite al usuario ejecutar un programa arbitrario como si estuviera escrito para ser un daemon. Añadida la utilidad devd(8), un daemon de usuario que puede ejecutar órdenes arbitrarias cuando los dispositivos entran y salen del árbol de dispositivos. Este programa es una generalización de algunas de las funcionalidades de pccardd(8). AñadidA devinfo(8), una sencilla herramienta para imprimir el árbol de dispositivos y el uso de recursos por dispositivos. dump(8) admite un indicador -L para volcar sistemas de archivos UFS y UFS2 activos de forma segura; y soporta un nuevo indicador -S que le permite imprimir simplemente las estimaciones del tamaño del volcado y salir. expr(1) es compatible con POSIX.2-1992 (y por tanto también con POSIX.1-2001). fbtab(5) acepta patrones de coincidencia glob para dispositivos de destino, no sólo para dispositivos y directorios individuales. fdisk(8) ya no intenta buscar un dispositivo si no se ha especificado ninguno en la línea de órdenes, sino que intenta averiguar el nombre de dispositivo por defecto a partir del dispositivo raíz. Añadido fdread(1), un programa para leer datos de disquetes. Es una contrapartida de fdwrite(1) y está diseñado para proporcionar un medio de recuperar al menos algunos datos de soportes defectuosos, y para obviar la necesidad de una compleja invocación a dd(1). finger(1) tiene soporte para un archivo .pubkey; soporta una bandera -g para restringir la impresión de información GECOS sólo al nombre completo del usuario; y soporta las banderas -4 y -6 para especificar una familia de direcciones para consultas remotas. fold(1) soporta una bandera -b para romper en posiciones de byte y una bandera -s para romper en límites de palabra. Importados envoltorios de fsck(8); esta característica proporciona infraestructura para que fsck(8) funcione en diferentes tipos de sistemas de archivos (de forma análoga a mount(8)). Modificado el comportamiento de fsck(8) al tratar con varios pases (a la /etc/fstab) para acomodar sistemas de ficheros de múltiples discos. fsck(8) soporta comprobaciones en primer plano (-F) y en segundo plano (-B). fsck_ffs(8) soporta comprobaciones en segundo plano de sistemas de ficheros FFS montados con la opción -B (Soft Updates debe estar activado en estos sistemas de ficheros). El indicador -F determina si un sistema de archivos especificado necesita comprobación en primer plano. ftpd(8) admite la opción -m para permitir a los usuarios invitados modificar archivos existentes si lo permiten los permisos del sistema de archivos. En particular, esto permite a los usuarios invitados reanudar cargas. ftpd(8) soportala opción -M para evitar que los usuarios invitados creen directorios. ftpd(8) soporta las opciones -o y -O para deshabilitar el comando RETR; la primera para todo el mundo, y la segunda sólo para usuarios invitados. Junto con -A y los permisos de archivo apropiados, pueden utilizarse para crear un buzón FTP anónimo relativamente seguro para que otros suban archivos. ftpd(8) soporta la opción -W para deshabilitar el registro de sesiones FTP en wtmp(5). Añadida la utilidad fwcontrol(8) para ayudar a los usuarios a acceder y controlar el subsistema FireWire. Se ha añadido la utilidad getconf(1). Imprime los valores de la ruta POSIX o X/Open o las variables de configuración del sistema. gifconfig(8) es obsoleta y ha sido eliminada. Su funcionalidad la gestionan ahora las órdenes tunnel y deletetunnel de ifconfig(8). gprof(1) tiene una opción -K para habilitar la resolución dinámica de símbolos desde el núcleo en ejecución. Con este cambio, los módulos KLD correctamente compilados pueden ser perfilados. ifconfig(8) tiene la capacidad de establecer el modo promiscuo en una interfaz, a través de la nueva bandera promisc. ifconfig(8) soporta una bandera de interfaz monitor, que bloquea la transmisión de paquetes en esa interfaz. Esta característica es útil para monitorizar el tráfico de red sin interactuar con la red en cuestión. inetd(8) ya no es ejecutado por rc(8) en el arranque, aunque sysinstall(8) da la opción de habilitarlo durante las instalaciones binarias. inetd(8) tiene la capacidad de limitar el número máximo de invocaciones simultáneas de cada servicio desde una única dirección IP. Las reglas de filtrado de ipfw(8) pueden coincidir en el valor del campo de precedencia IPv4. kbdmap(1) y vidfont(1) se han convertido de Perl a C. kenv(1) permite ahora establecer o eliminar variables de entorno del núcleo. killall(1) no intenta matar procesos zombis a menos que se especifique la opción -z. Añadido ktrdump(8), una utilidad para volcar el buffer de rastreo ktr desde tierra de usuario. ldd(1) soporta la opción -a para listar todos los objetos que necesita cada objeto cargado. libc es segura para hilos por defecto; libc_r contiene sólo funciones para hilos. libstand soporta la sobreescritura del contenido de un fichero en un sistema de ficheros UFS (no puede expandir o truncar ficheros porque el sistema de ficheros puede estar sucio o ser inconsistente). libgmp ha sido sustituida por libmp. Funciones de libposix1e se han integrado en libc. lock(1) acepta -v para desactivar el cambio de VTY mientras el terminal actual está bloqueado. Esto permite bloquear toda la consola desde un único terminal. lpc(8) mejorado; lpc clean es algo más seguro, y se ha añadido una nueva orden lpc tclean para comprobar qué ficheros serían eliminados por lpc clean. ls(1) admite una opción -m para listar archivos a lo largo de una página, una opción -p para forzar la impresión de un / después de los directorios y una opción -x para ordenar los nombres de archivo a lo largo de una página. makewhatis(1) es ahora un programa en C, en lugar de un script en Perl. man(1) ya no se instala SUID man, para reducir las vulnerabilidades asociadas a la generación de catpages (páginas de manual preformateadas almacenadas en caché para su visualización repetida). Como resultado, man(1) ya no puede crear catpages del sistema en nombre de un usuario normal. Añadida orden mdmfs(8); es una envoltura alrededor de mdconfig(8), disklabel(8), newfs(8) y mount(8) que imita el conjunto de opciones de línea de órdenes de la obsoleta mount_mfs(8). mesg(1) se ajusta a SUSv3; utiliza el primer terminal asociado con el descriptor de archivo de entrada estándar, salida estándar o error estándar, en ese orden. mountd(8) y nfsd(8) se han trasladado de /sbin a /usr/sbin. mv(1) ahora toma una opción (no estándar) -n para responder automáticamente no cuando pregunte si se quiere sobrescribir un fichero. newfs(8) soporta la opción -O para seleccionar la creación de sistemas de ficheros UFS1 o UFS2. Añadida la utilidad newgrp(1) para cambiar a un nuevo grupo. newsyslog(8) comprime los archivos de registro utilizando bzip2(1) por defecto. (El comportamiento anterior de utilizar gzip(1) puede especificarse en /etc/newsyslog.conf.) Añadida la utilidad nextboot(8) para especificar un núcleo alternativo y/o banderas de arranque que se utilizarán la próxima vez que se arranque la máquina. Una encarnación previa de esta característica apareció por primera vez en FreeBSD 2.2. NFS funciona ahora sobre IPv6. nice(1) utiliza ahora la opción -n para especificar la 00nicidad de la utilidad que se está ejecutando. El soporte de nsswitch ha sido fusionado desde NetBSD. od(1) soporta la opción -A para especificar la base de direcciones de entrada, la opción -N para especificar el número de bytes a volcar, la opción -j para especificar el número de bytes a omitir, la opción -s para mostrar cortos decimales con signo y la opción -t para especificar el tipo de salida. Añadido soporte PAM para la gestión de cuentas y sesiones. La configuración de PAM se especifica mediante archivos en /etc/pam.d/, en lugar de un único archivo /etc/pam.conf. Añadido módulo de servicio de eco pam_echo(8). Añadido módulo de servicio de ejecución de programas pam_exec(8). Añadido módulo pam_ftp(8) para permitir la autenticación de usuarios FTP anónimos. Añadido módulo pam_ftpusers(8) para realizar comprobaciones en el fichero ftpusers(5). Añadido módulo pam_ksu(8) para realizar la autenticación Kerberos 5 y la autorización $HOME/.k5login para su(1). Añadido módulo pam_lastlog(8) para registrar sesiones en las bases de datos utmp(5), wtmp(5) y lastlog(5). Añadido módulo pam_login_access(8), para permitir la comprobación contra /etc/login.access. Añadido módulo pam_nologin(8), que puede desautorizar el inicio de sesión mediante nologin(5). Añadido módulos pam_opie(8) y pam_opieaccess(8) para controlar la autenticación mediante opie(4). Añadido módulo pam_passwdqc(8) para comprobar la calidad de las contraseñas enviadas durante los cambios de contraseña. Añadido módulo pam_rhosts(8) para soportar la autenticación rhosts(5). Añadido módulo pam_rootok(8), que permite autenticar únicamente al superusuario. Añadido módulo pam_securetty(8) para comprobar la seguridad de un TTY, como aparece en ttys(5). Añadido módulo pam_self(8), que permite la autoautenticación de un usuario. Añadido módulo pam_wheel(8) para permitir la autenticación a los miembros de un grupo, que por defecto es wheel. Añadida utilidad pathchk(1), que comprueba la validez o portabilidad de los nombres de ruta entre sistemas POSIX. ping(8) soporta una bandera -o para salir después de recibir una respuesta. Añadida la función de librería pselect(3) (introducida por POSIX.1 como una versión ligeramente más potente de select(2)). pwd(1) soporta la bandera -L para imprimir el directorio lógico de trabajo actual. quota(1) acepta la opción -l para suprimir la comprobación de citas en sistemas de ficheros NFS. El generador de números pseudoaleatorios implementado por rand(3) mejorado para proporcionar resultados menos sesgados. rcmd(3) admite el uso de la variable de entorno RSH para especificar un programa distinto de rsh(1) para la ejecución remota. Como resultado, programas como dump(8) pueden utilizar ssh(1) para el transporte remoto. rdist(1) ha sido retirado del sistema base, pero sigue disponible en la Colección de Ports de FreeBSD como net/44bsd-rdist. La orden renice(8) implementa una opción -n, que especifica un incremento a aplicar a la prioridad de un proceso. rpcgen(1) usa /usr/bin/cpp (como en NetBSD), no /usr/libexec/cpp. rpc.lockd(8) importado desde NetBSD. Este demonio proporciona soporte para el servicio de bloqueos NFS de cliente. rtld(1) imprimirá los nombres de todos los objetos que hacen que se cargue cada objeto, si la variable de entorno LD_TRACE_LOADED_OBJECTS_ALL está definida. sed(1) acepta la opción -i para permitir la edición de archivos en el mismo lugar. Añadidos los comandos setfacl(1) y getfacl(1) para gestionar las listas de control de acceso al sistema de ficheros. sh(1) no implementa printf como comando incorporado porque se consideraba menos valioso en comparación con los otros comandos incorporados (por supuesto, esta funcionalidad sigue estando disponible a través del ejecutable printf(1)). sh(1) soporta una opción -C para evitar que los ficheros regulares existentes sean sobreescritos por la redirección de la salida, y una -u para dar un error si se expande una variable no establecida. El comando cd incorporado en sh(1) soporta las banderas -L y -P para invocar modos de operación lógicos o físicos, respectivamente. El comando sh(1) built-in jobs soporta una bandera -s para mostrar sólo PIDs y una bandera -l para añadir PIDs a la salida. sh(1) oporta un comando incorporado bind, que permite cambiar las combinaciones de teclas para el editor de líneas del shell. Los comandos incorporados sh(1) export y readonly soportan una bandera -p para imprimir su salida en formato portable. spkrtest(8) es ahora un script sh(1), en lugar de un script Perl. split(1) soporta una opción -a para especificar el número de letras a utilizar para el sufijo de los archivos divididos. su(1) utiliza PAM para la autenticación. sysctl(8) acepta una bandera -d para imprimir las descripciones de las variables. La partición raíz (/) por defecto en sysinstall(8) es ahora de 100MB en i386 y pc98, 120MB en Alpha. sysinstall(8) se encuentra en /usr/sbin, lo que simplifica el proceso de instalación. sysinstall(8) no monta el sistema de ficheros procfs(5) por defecto en las nuevas instalaciones. Este cambio se hizo para mejorar la seguridad, pero procfs(5) aún puede montarse manualmente o mediante una línea apropiada en el archivo fstab(5). Añadida tabs(1), una utilidad para establecer los topes de tabulación de los terminales. La base de datos termcap(5) utiliza el tipo de terminal xterm de XFree86. tftpd(8) soporta RFC 2349 (TFTP Timeout Interval and Transfer Size Options); esta característica es requerida por algunos firmware como los gestores de arranque EFI (al menos en servidores HP i2000 Itanium) para poder arrancar una imagen usando TFTP. Importada una versión de Transport Independent RPC (TI-RPC). tip(1) actualizado desde OpenBSD, y tiene la capacidad de actuar como sustituto de cu(1). top(1) utiliza todo el ancho de su tty. touch(1) toma una opción -h para operar en un enlace simbólico, en lugar de a lo que apunta el enlace. tr(1) tiene soporte básico para clases de equivalencia para locales que las soportan; y soporta una bandera -C para complementar el conjunto de caracteres especificados por el primer argumento de cadena. tunefs(8) soporta los indicadores -a y -l para activar y desactivar los indicadores administrativos FS_ACLS y FS_MULTILABEL en sistemas de archivos UFS. Añadida utilidad ugidfw(8) para gestionar los conjuntos de reglas proporcionados por la política de control de acceso obligatorio mac_bsdextended, similar a ipfw(8). unexpand(1) soporta una -t para especificar tabuladores análogos a expand(1). usbdevs(8) soporta una bandera -d para mostrar el controlador de dispositivo asociado a cada dispositivo. Las capacidades base64 de uuencode(1) y uudecode(1) pueden activarse automáticamente invocando a estas utilidades como b64encode(1) y b64decode(1) respectivamente. Añadida a libc funciones para implementar y manipular UUIDs compatibles con OSF/DCE 1.1. Añadida la utilidad uuidgen(1). vidcontrol(1) acepta un -S para permitir al usuario desactivar la conmutación VTY. El tamaño de banda por defecto en vinum(8) cambiado de 256KB a 279KB, para distribuir los superbloques más uniformemente entre las bandas. wc(1) soporta la opción -m para contar caracteres en lugar de bytes. whereis(1), anteriormente un script Perl, ha sido reescrito en C. Soporta una bandera -x para suprimir la ejecución de locate(1), y una bandera -q suprime el nombre principal de la consulta. whereis(1) admite la opción -a para informar de todas las coincidencias en lugar de sólo la primera de cada tipo solicitado. who(1) tiene varias opciones nuevas: -H muestra los encabezados de las columnas; -T muestra el estado de mesg(1); -m es un equivalente a am i; -u muestra el tiempo de inactividad; -q para listar los nombres en las columnas. wicontrol(8) soporta un -l para listar las estaciones asociadas en modo hostap y un -L para listar los puntos de acceso disponibles. xargs(1) soporta una opción -I replstr que permite al usuario decirle a xargs(1) que inserte los datos leídos de la entrada estándar en puntos específicos de los argumentos de la línea de órdenes en lugar de al final. (Una opción -J específica de FreeBSD es similar.) xargs(1) soporta una opción -L para forzar que su argumento de utilidad sea llamado después de cierto número de líneas. Varias rutinas de la libc soportan ahora caracteres anchos. Entre ellas están las funciones de clase de caracteres como wctype(3), funciones de E/S de caracteres anchos como getwc(3), funciones de E/S formateadas como wprintf(3) y wscanf(3). Mejorada una serie de utilidades y librerías para mejorar su conformidad con la Especificación UNIX Única (SUSv3) y el estándar IEEE 1003.1-2001 (POSIX.1). Las características específicas añadidas se enumeran en las notas de la versión de cada utilidad. Una serie de juegos BSD tradicionales eliminados del sistema base; están disponibles en el port games/freebsd-games. Infraestructura de la Colección de Ports/Paquetes Añadida BSDPAN, una colección de módulos que proporciona una mayor integración de Perl en la Colección de Ports de FreeBSD. Durante algún tiempo FreeBSD 5.0-CURRENT (así como algunas versiones 4.X) incluyeron una utilidad pkg_update(1) para actualizar los paquetes instalados, así como sus dependencias. Esta utilidad ha sido eliminada; un superconjunto de su funcionalidad puede encontrarse en el port sysutils/portupgrade. pkg_version(1), que antes era un script Perl, se ha reescrito en C. Se ha eliminado la opción -c, frecuentemente mal utilizada. El puerto sysutils/portupgrade proporciona una alternativa compatible y más segura. La infraestructura de la Colección de Ports utiliza ahora XFree86 4.2.1 como versión por defecto del X Window System para satisfacer las dependencias. Las librerías instaladas por el ports emulators/linux_base (necesarias para la Emulación de Linux, Linuxtator, actualizadas; corresponden a las incluidas con Red Hat Linux 7.1. Por defecto, los paquetes generados por la Colección de Ports (así como los paquetes en los sitios FTP) están ahora comprimidos usando bzip2(1), en lugar de gzip(1). La Colección de Ports mantiene un fichero de índice separado (/usr/ports/INDEX-5) para su uso con FreeBSD 5-CURRENT. Uno de los principales motivos para tener un fichero de índice separado es poder hacer frente a dependencias (como lang/perl5) que existen en FreeBSD 5-CURRENT pero no en FreeBSD 4-STABLE. El fichero de índice para cada conjunto de paquetes se sigue llamando INDEX. |
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 5.1 | • Lanzamiento: 09/06/2003 • Soporte hasta: Febrero de 2004 Segunda versión de FreeBSD que soporta 5 tipos de arquitectura de computadoras/ordenadores (alpha, ia64, i386, pc98 y sparc64) Cambios en el núcleo devfs(5) esobligatorio; la opción NODEVFS ha sido eliminada del conjunto de posibles opciones de configuración del núcleo. Añadido controlador ehci(4); soporta el USB Enhanced Host Controller Interface utilizado por las controladoras USB 2.0. El modo de Emulación de Linux, Linuxtator, soporta ahora IPv6. madvise(2) soporta el comportamiento MADV_PROTECT, que informa al sistema de memoria virtual de que un proceso es crítico y no debe ser eliminado cuando el espacio de intercambio se ha agotado. El proceso debe ser propiedad del superusuario. Un segundo planificador de procesos, diseñado para ser un planificador de propósito general con muchos beneficios SMP, ha sido añadido a la estructura del planificador. Implementado un mecanismo de cambio perezoso parcial para los hilos del núcleo; está diseñado para reducir la sobrecarga de los cambios de contexto cortos (como para los controladores de interrupción) que no involucran a otro proceso. Esta característica puede activarse con las opciones LAZY_SWITCH. Soporte de procesador/placa base Los núcleos SMP tienen soporte rudimentario para HyperThreading (HTT). Añadido soporte para la capacidad Physical Address Extensions (PAE) en procesadores Intel Pentium Pro y superiores. Esto permite el uso de hasta 64GB de RAM en una máquina, aunque la cantidad de memoria utilizable por cualquier proceso individual (o el núcleo de FreeBSD) no cambia. Añadido controlador vpd(4) para leer información de hardware de la estructura Vital Product Data en máquinas IBM ThinkPad. Cambios en el gestor de arranque Las dos partes del gestor de arranque (boot1 y boot2) se han combinado en un único fichero de arranque, para simplificar los programas que necesiten escribir o manipular de cualquier otra forma el gestor de arranque. El directorio /modules (que antes era la ubicación por omisión para los módulos en FreeBSD 4.X) ya no forma parte de la ruta por omisión de kern.module_path. Los módulos de terceros deben colocarse en /boot/modules. Debido a limitaciones en el tamaño del código, el gestor de arranque i386 sólo puede cargar kernels desde sistemas de ficheros raíz que tengan un tamaño igual o inferior a 1.5TB. Interfaz de red Añadido controlador de red axe(4). Ofrece soporte para adaptadores Ethernet USB basados en el chipset USB 2.0 AX88172 de ASIX Electronics. Controlador cm soporta ahora IPX. Añadido controlador de red rue(4), que proporciona soporte para adaptadores Ethernet basados en el chip controlador RealTek RTL8150 USB a Fast Ethernet. Añadido controlador sbsh(4) para el módem SHDSL Granch SBNI16. Nuevo módulo wlan(4) proporciona soporte de capa de enlace 802.11. Los controladores wi(4) y an(4) utilizan ahora esta función. Protocolos de red Reglas skipto de ipfw(4) pueden usarse de nuevo con la palabra clave log. Las reglas uid de ipfw(4) funcionan de nuevo. Es posible construir las opciones FAST_IPSEC e INET6 en el mismo kernel. TCP tiene soporte para el mecanismo de Transmisión Limitada propuesto por RFC 3042. Esta característica pretende mejorar la efectividad de la recuperación de pérdidas TCP en ciertas circunstancias. TCP soporta el aumento del tamaño inicial de las ventanas de congestión, tal y como se describe en el RFC 3390. Esta característica puede mejorar el rendimiento de transferencias cortas, así como de conexiones de gran ancho de banda y gran retardo de propagación. Código de reensamblado de fragmentos IP se comporta de forma más elegante cuando recibe un gran número de fragmentos de paquetes (está diseñado para ser más resistente a ataques de denegación de servicio basados en fragmentos). Conexiones TCP en el estado TIME_WAIT utilizan ahora un bloque de control de protocolo especial que utiliza menos espacio que un PCB TCP completo. Esto permite liberar antes algunas de las estructuras de datos y recursos utilizados por una conexión de este tipo. Es posible especificar el rango de puertos privilegiados (puertos TCP y UDP que requieren acceso de superusuario para bind(2)). Discos y almacenamiento Controlador aac(4) funciona sin el bloqueo del kernel Giant. Este cambio ha supuesto un aumento de rendimiento de casi el 20% en un sistema SMP que ejecuta múltiples cargas intensivas de E/S. Controlador ata(4) soporta todos los chipsets SiS conocidos, los controladores Promise SATA150 TX2 y TX4 Serial ATA/150; y vacía los dispositivos al apagarse. Este cambio puede provocar que se impriman mensajes de error en la consola para los dispositivos que no soportan el lavado. Capa CAM soporta ahora dispositivos con más de 232 bloques. (Asumiendo bloques de 512 bytes, esto significa soporte para dispositivos de más de 2TB). Mejoras en el controlador cd(4). El principal cambio visible para el usuario es la mejora de la compatibilidad con las unidades de CDROM ATAPI/USB/Firewire. geom(4) es obligatorio; se ha eliminado NO_GEOM del conjunto de opciones de configuración del núcleo. Actualizado el controlador iir(4); se cree que esta actualización soluciona problemas de detección de discos conectados durante la instalación. Añadido el controlador ips, compatible con la serie ServeRAID de IBM (ahora Adaptec). Añadido soporte para etiquetas de volumen en sistemas de ficheros UFS y UFS2. Estas etiquetas son cadenas que pueden utilizarse para identificar un volumen, independientemente del dispositivo en el que aparezca. El sistema de ficheros raíz puede localizarse ahora en un volumen vinum(4). Sistemas de archivos Nueva opción del núcleo DIRECTIO permite realizar operaciones de lectura que omiten la caché del búfer y colocan los datos directamente en un búfer de usuario. NETNCP y Netware File System Support (nwfs) vuelven a funcionar. Soporte multimedia Módulos atspeaker.ko y pcspeaker.ko para el dispositivo speaker(4) renombrados como speaker.ko. Cambios en Userland adduser(8) maneja correctamente la configuración de contraseñas de usuario que contienen caracteres especiales de shell. adduser(8) soporta una opción -g para establecer el grupo de inicio de sesión por defecto de un usuario. bsdlabel(8) sustituye a la antigua utilidad disklabel. Como su predecesora, instala, examina o modifica la etiqueta BSD en una partición de disco, y puede instalar código de arranque. La distribución compat4x incluye las bibliotecas libcrypto.so.2, libgmp.so.3 y libssl.so.2 de FreeBSD 4.7. chgrp(1) y chown(8), cuando se modifica el propietario/grupo, imprimen el antiguo y el nuevo uid/gid si se especifica la opción -v más de una vez. config(8) implementa una directiva de fichero de configuración del kernel nodevice que anula el efecto de una directiva de dispositivo. Las nuevas directivas nooption y nomakeoption cancelan las directivas options y makeoptions anteriores, respectivamente. Añadida la utilidad diskinfo(8) para mostrar información sobre un dispositivo de disco y, opcionalmente, ejecutar una prueba de rendimiento ingenua. Utilidad disklabel reemplazada por bsdlabel(8). En las plataformas alpha, i386 y pc98, disklabel es un enlace a bsdlabel(8). dump(8) soporta el almacenamiento en caché de bloques de disco con la opción -C. Esto puede mejorar el rendimiento del volcado a costa de la posible pérdida de actualizaciones del sistema de archivos que se produzcan entre pasadas. dumpfs(8) admite un indicador -m para imprimir los parámetros del sistema de archivos en forma de un comando newfs(8). Añadido elfdump(1), una utilidad para mostrar información sobre archivos ejecutables en formato elf(5). fetch(1) utiliza el soporte .netrc de fetch(3) y también admite -N para especificar un archivo .netrc alternativo. fetch(3) tiene soporte para ficheros .netrc ftpd(8) soporta una opción -h para deshabilitar la impresión de cualquier información específica del host, como la versión de ftpd(8) o el nombre del host, en los mensajes del servidor. ftpd(8) soporta una opción -P para especificar un puerto en el que escuchar en modo demonio. El número de puerto de datos por defecto es ahora uno menos que el número de puerto de control, en lugar de estar codificado. ftpd(8) soporta un formato extendido del fichero /etc/ftpchroot. ftpd(8) soporta nombres de ruta de directorio de inicio de sesión que especifican simultáneamente un directorio para chroot(2) y aquel al que cambiar en el entorno chroot. El separador /./ se utiliza para este propósito, como en otros demonios FTP que tienen esta característica. Puede utilizarse tanto en ftpchroot(5) como en passwd(5). fwcontrol(8) soporta las opciones -R y -S para recibir y enviar flujos DV. Añadida la utilidad gstat(8) para mostrar la actividad del disco dentro del subsistema geom(4). ipfw(8) soporta comandos de habilitación y deshabilitación para controlar varios aspectos del funcionamiento de ipfw(4) (incluyendo la habilitación y deshabilitación del propio cortafuegos). jail(8) soporta ahora una bandera -i para mostrar un identificador para una jaula recién creada. Añadida la utilidad jexec(8) para ejecutar una orden dentro de una jaula existente. Añadida la utilidad jls(8) para listar las jaulas existentes. kenv(1) trasladado de /usr/bin a /bin para que esté disponible durante el arranque del sistema cuando sólo esté montado el sistema de archivos raíz. killall(1) soporta la opción -j para matar todos los procesos dentro de una jaula (jails). Añadida la biblioteca libgeom(3) para permitir el acceso del usuario al subsistema geom(4). Añadido el módulo de política MAC mac_portacl. Proporciona un sencillo mecanismo de ACL para permitir a usuarios y grupos enlazar puertos para TCP o UDP, y está pensado para ser utilizado junto con el recientemente añadido net.inet.ip.portrange.reservedhigh sysctl. mergemaster(8) soporta la opción -P para preservar el contenido de los ficheros que se reemplazan. mixer(8) puede implementar ajustes relativos de volumen. Añadido el programa mksnap_ffs(8) para facilitar la creación de instantáneas FFS. Se trata de un ejecutable SUID-root diseñado para ser utilizado por miembros del grupo operador. mount(8) y umount(8) aceptanla opción -F para especificar un archivo fstab(5) alternativo. mount_nfs(8) soporta una bandera -c para evitar hacer un connect(2) para puntos de montaje UDP. Esta opción debe usarse si el servidor no responde a peticiones desde el puerto NFS estándar número 2049 o si responde a peticiones usando una dirección IP diferente (lo que puede ocurrir si el servidor es multi-homed). mount_nfs(8) soporta las opciones de montaje noinet4 y noinet6 para evitar que los montajes NFS utilicen IPv4 o IPv6 respectivamente. newfs(8) creará ahora sistemas de archivos UFS2 por defecto, a menos que se solicite específicamente UFS1 con la opción -O1. newsyslog(8) tiene varias características nuevas. nsdispatch(3) es seguro para hilos e implementa soporte para módulos Name Service Switch (NSS). Añadido un nuevo módulo pam_chroot(8), que realiza una operación chroot(2) para los usuarios en un directorio predeterminado o en uno derivado de su directorio personal. Reescrito pam_ssh(8). Un efecto secundario de la reescritura es que ahora inicia una instancia separada de ssh-agent(1) para cada sesión en lugar de intentar conectar cada sesión al agente iniciado por la primera sesión. ping(8) soporta una bandera -D para activar el bit ``No Fragmentar en los paquetes salientes; una opción -M para usar mensajes de petición de máscara ICMP o de petición de marca de tiempo en lugar de peticiones de eco ICMP; y una bandera -z para establecer los bits de Tipo de Servicio en los paquetes salientes. pw(8) puede añadir un usuario cuyo nombre termine con un carácter $; este cambio pretende ayudar a la administración de los servicios Samba. El formato de las bases de datos de contraseñas /etc/pwd.db y /etc/spwd.db creadas por pwd_mkdb(8) es independiente del orden de bytes. Las bases de datos de contraseñas preprocesadas pueden moverse entre máquinas de diferentes arquitecturas. rtld(1) soporta la asignación dinámica de dependencias de objetos compartidos. Esta característica opcional es especialmente útil cuando se experimenta con diferentes bibliotecas de hilos. sem_open(3) maneja ahora correctamente múltiples aperturas del mismo semáforo; como resultado, sem_close(3) ya no bloquea los programas que lo llaman. sysinstall(8) seleccionará UFS2 como la distribución por defecto para los nuevos sistemas de ficheros a menos que se solicite específicamente en el etiquetador de disco. Añadido comando swapoff(8) para desactivar la paginación y el intercambio en un dispositivo. Se ha añadido un comando swapctl(8) relacionado para proporcionar una interfaz a swapon(8) y swapoff(8) similar a la de otros sistemas BSD. syslogd(8) permite nombrar varios hosts o programas en las especificaciones de host o programa de los archivos syslog.conf(5). systat(1) incluye un modo de visualización -ifstat que muestra el tráfico de red que pasa por las interfaces activas del sistema. Añadido comando usbhidaction(1), que realiza acciones según su configuración en respuesta a controles USB HID. uudecode(1) y b64decode(1) soportan una bandera -r para decodificar archivos raw (o rotos) a los que les pueden faltar las líneas de encuadre inicial y posiblemente final. vmstat(8) ha reimplementado la opción -f, que muestra estadísticas sobre operaciones de bifurcación. xargs(1) soporta la opción -P para ejecutar múltiples copias de la misma utilidad en paralelo; y la opción -o para reabrir /dev/tty para el proceso hijo antes de ejecutar el comando. Esto es útil cuando el proceso hijo es una aplicación interactiva. La librería libkse, que proporciona soporte de hilos POSIX usando KSE, está activada e instalada por defecto. Esta librería soporta actualmente threading M:N. Implementado un paquete de hilos 1:1 (donde por cada pthread en una aplicación hay un KSE y un hilo). Bajo este modelo, el núcleo maneja todas las decisiones de programación de hilos y toda la entrega de señales. Esto utiliza parte del código KSE común, y es un caso restringido del trabajo de hilos M:N aún en curso. Los históricos scripts de arranque BSD en /etc eliminados, en favor del sistema rc.d importado de NetBSD (a veces llamado rcNG). Se ha conservado toda la funcionalidad del sistema histórico. En particular, ficheros como /etc/rc.conf siguen siendo el medio recomendado para configurar el arranque del sistema. Infraestructura de Colección de ports/paquetes Eliminado los ficheros pkg-comment de una línea del esqueleto de cada port; su contenido se ha movido al Makefile de cada port. Este cambio reduce el espacio en disco y los inodos usados por el árbol de ports. pkg_create(1) admite la opción -C, que permite a los paquetes registrar una lista de otros paquetes con los que entran en conflicto. pkg_info(1) respeta la variable de entorno BLOCKSIZE en su salida cuando se indica la opción -b. pkg_info(1) implementa una opción -Q, que es similar a la opción -q quiet excepto que antepone el nombre del paquete a la salida. Ingeniería de versiones e integración GNOME actualizado a 2.2.1. KDE actualizado a 3.1.2. sysinstall(8) soporta de nuevo la instalación de componentes individuales de XFree86. XFree86 actualizado a 4.3.0. |
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 5.2 | • Lanzamiento: 09/01/2004 • Soporte hasta: 31/12/2004 Primera versión de FreeBSD que soporta 6 tipos de arquitectura de computadoras/ordenadores (alpha, amd64, ia64, i386, pc98 y sparc64) Cambios en el núcleo El componente CPU del controlador acpi(4) soporta los estados de inactividad C1-C3 tanto para sistemas individuales como SMP, proporcionando ahorro de energía/calor cuando el procesador está inactivo, de acuerdo con ACPI 2.0. Añadido controlador dcons(4) consola tonta para proporcionar una consola local y remota. Se puede acceder a ella a través de FireWire utilizando el controlador dcons_crom(4). La utilidad dconschat(8) permite al usuario acceder a los dispositivos dcons(4). Controlador de comunicaciones universales PCI puc(4) soporta la conexión de puertos paralelos al controlador ppc(4). Compatibilidad con interfaces de red Nuevos controladores ath(4) y ath_hal(4) ofrecen compatibilidad con dispositivos 802.11a/b/g basados en los chips AR5210, AR5211 y AR5212. Aañadido controlador bfe(4) para dar soporte a los adaptadores Fast Ethernet basados en Broadcom BCM4401. bge(4) soporta NICs Gigabit Ethernet basados en Broadcom 5705. Controlador em(4) tiene soporte para ajustar los retardos de interrupción usando sysctl tunables sin recompilar el controlador. Añadido controlador fatm(4). Se trata de un controlador para NATM y NgATM compatible con las tarjetas ATM Fore/Marconi PCA200. Añadido controlador harp(4). Se trata de un controlador de interfaz pseudofísica para HARP, que se conecta a todas las interfaces ATM NetGraph del sistema y presenta una interfaz física a la pila HARP para cada una de estas interfaces. Añadido controlador hatm(4) para soportar las tarjetas ATM Fore/Marconi HE155 y HE622. Controlador hfa se ha actualizado a la versión de firmware 4.1.12 y admite un número limitado de canales CBR. Añadido controlador patm(4) para soportar interfaces ATM basadas en IDT77252. Añadido controlador re(4). Ofrece soporte para los controladores RealTek RTL8139C+, RTL8169, RTL8169S y RTL8110S PCI Fast Ethernet y Gigabit Ethernet. sk(4) es compatible con SK-9521 V2.0 y 3COM 3C940 basados en NIC Gigabit Ethernet. Controlador utopia(4) soporta configuración de capa física ATM de 25MBit/seg, 155MBit/seg y 622MBit/seg, informes de estado y estadísticas para los chips ATM-PHY más utilizados. Soporte de suspensión/reanudación para el controlador wi(4) funciona correctamente cuando el dispositivo está configurado como inactivo. Controlador wi(4) debería volver a funcionar correctamente con interfaces Lucent 802.11b. Capa de soporte 802.11 reescrita para permitir el crecimiento futuro y nuevas características. Controlador xe(4) soporta tarjetas CE2, CEM28 y CEM33, y datagramas multicast(4). También se han corregido varios errores del controlador. Varios controladores de red han marcado sus manejadores de interrupción como MPSAFE, lo que significa que pueden ejecutarse sin el bloqueo Giant. Entre los controladores así convertidos están: ath(4), em(4), ep(4), fxp(4), sn(4), wi(4), y sis(4). Protocolos de red ip_flow en la implementación del protocolo IPv4 reemplazada por la característica ip_fastforward. ip_fastforward intenta acelerar casos simples de reenvío de paquetes, procesando un paquete reenviado a una interfaz de salida sin colas o netisrs. Añadida la opción IP_ONESBCAST para permitir el envío de difusiones ip(4) no dirigidas a interfaces de red específicas. Reglas ipfw(4) soportan listas de direcciones separadas por comas (como 1.2.3.4, 5.6.7.8/30, 9.10.11.12/22), y permiten espacios después de las comas para hacer las listas de direcciones más legibles; y comentarios estilo C++. Cada comentario se almacena junto con su regla y aparece utilizando la orden show de ipfw(8). ipfw(8) puede modificar reglas ipfw(4) en el conjunto 31, que era de sólo lectura y se usaba para las reglas por defecto. Añadido el tipo de nodo NetGraph ng_atmpif(4). Emula una interfaz física HARP y permite ejecutar la pila ATM HARP sin hardware real. Añadido soporte de núcleo para el enrutamiento de multidifusión independiente del protocolo (pim(4)). Actualizada la pila de protocolos Bluetooth de FreeBSD Importado del proyecto KAME varias correcciones y actualizaciones del código IPv6 e IPSec. Compatibilidad con la API IPv6 Advanced Sockets se ajusta al RFC 3542 (también conocido como RFC 2292bis), en lugar de al RFC 2292. Las aplicaciones que utilizan esta API se han actualizado en consecuencia. Añadido soporte para la parte de selección de dirección de origen del RFC 3484. La utilidad ip6addrctl(8) puede utilizarse para configurar la política de selección de direcciones. Añadida la función tcp_hostcache a la implementación de TCP. Almacena en caché parámetros medidos de sesiones TCP anteriores para proporcionar mejores valores iniciales de inicio para conexiones siguientes desde o hacia el mismo origen o destino. Discos y almacenamiento Controlador amr(4) es compatible con crashdump del sistema. Cambios más notables en el controlador ata(4) que está fuera del bloqueo del kernel Giant. ccd(4) puede operar en discos raw y otros proveedores geom(4). Controlador da(4) no intenta enviar comandos de 6 bytes a dispositivos USB y FireWire. Varios módulos geom(4) pueden cargarse como módulos del núcleo, a saber: geom_apple, geom_bde, geom_bsd, geom_gpt, geom_mbr, geom_pc98, geom_sunlabel, geom_vol_ffs. Añadido un módulo GEOM_FOX para detectar y seleccionar entre varias rutas redundantes al mismo dispositivo. Controlador matcd(4) es compatible con las unidades de CD Matsushita CR-562 y CR-563. Controlador twe(4) soporta la API genérica de 3ware. Sistemas de Archivo Conversión de caracteres multi-byte con los sistemas de archivos cd9660, msdosfs, ntfs, y udf es soportada incluyendo las opciones de núcleo CD9660_ICONV, MSDOSFS_ICONV, NTFS_ICONV, y UDF_ICONV, respectivamente. Los tamaños de algunos miembros de la estructura statfs han cambiado de 32 bits a 64 bits para soportar mejor los sistemas de archivos multi-terabyte. Añadido soporte para NFSv4 con la importación de la implementación del cliente Citi NFSv4 de la Universidad de Míchigan. Cambios en Userland acpiconf(8) soporta la opción -i para imprimir información sobre la batería. Añadido acpidb(8), un depurador ACPI DSDT. arp(8) admite una opción -i para limitar el alcance de la operación actual a las entradas ARP de una interfaz concreta. Esta opción sólo se aplica a las operaciones de visualización. Añadido el programa atmconfig(8) para la configuración de los controladores ATM y la funcionalidad IP-sobre-ATM. chroot(8) permitela configuración opcional de un usuario, grupo primario, o lista de grupos a utilizar dentro del entorno chroot mediante las opciones -u, -g, y -G respectivamente. dhclient(8) sondea el estado de las interfaces de red y sólo envía peticiones DHCP a las interfaces que están activas. El intervalo de sondeo puede controlarse con la opción -i. El modo por defecto para el directorio lost+found de fsck(8) es 0700 en lugar de 01777. fsck_ffs(8) y newfs(8) crean un directorio .snap en el directorio raíz de cada sistema de ficheros, con operador de grupo. fsck_ffs(8), mksnap_ffs(8) y dump(8) escribirán sus instantáneas del sistema de ficheros en este directorio. Utilidad ffsinfo(8) actualizada para comprender los sistemas de archivos UFS2. Añadida la utilidad iasl(8), un compilador/descompilador para ACPI Source Language (ASL) y ACPI Machine language (AML). ifconfig(8) soporta una opción staticarp para una interfaz, que desactiva el envío de peticiones ARP para esa interfaz. Comandos ipfw(8) list y show soportan rangos de números de regla. ipfw(8) soporta una bandera -n para probar la sintaxis de los comandos sin cambiar nada. kdump(1) soporta una opción -p para mostrar sólo los eventos de rastreo correspondientes a un proceso específico, así como una nueva bandera -E para mostrar marcas de tiempo relativas al inicio del volcado. last(1) soporta la opción -n para limitar el número de líneas de su informe de salida. Librería libalias, natd(8), y ppp(8) soportan el protocolo Cisco Skinny Station, que es el protocolo utilizado por los teléfonos IP de Cisco para hablar con los gestores de llamadas de Cisco. Añadida la biblioteca libkiconv para soportar el trabajo con tablas de conversión de juegos de caracteres cargables en el núcleo. libwrap y tcpdchk(8) están configurados para soportar por defecto la sintaxis extendida de tcp_wrappers. Utilidad locale(1) reimplementada y es compatible con POSIX. La nueva opción -m muestra todos los conjuntos de códigos disponibles. Utilidad mount(8) permite mostrar el ID del sistema de archivos para cada sistema de archivos además de la información normal cuando se especifica la opción -v, y la utilidad umount(8) acepta el ID del sistema de archivos además de los nombres habituales de dispositivo y ruta. Esto permite especificar sin ambigüedad qué sistema de ficheros debe desmontarse incluso cuando dos o más sistemas de ficheros comparten los mismos nombres de dispositivo y punto de montaje. Utilidades mount_cd9660(8), mount_ntfs(8) y mount_udf(8) admiten una opción -C para especificar conjuntos de caracteres locales para convertir nombres de archivo Unicode. Utilidad mount_msdosfs(8) admite una opción -M para especificar los permisos de archivo máximos para los directorios en el sistema de archivos. Utilidad mount_msdosfs(8) soporta una opción -D para especificar páginas de código MS-DOS y una opción -L para especificar juegos de caracteres locales. Se utilizan para convertir conjuntos de caracteres de nombres de archivo. Utilidades mount_nwfs(8), mount_portalfs(8) y mount_smbfs(8) trasladadas de /sbin a /usr/sbin. Programa nologin(8) reimplementado en C (antes era un script de shell). La variable rc.conf(5) ntpd_flags para ntpd(8) ahora incluye -f /var/db/ntpd.drift por defecto. Añadido el módulo PAM pam_guest(8) para permitir el inicio de sesión de invitados. Sustituye al módulo pam_ftp(8). ps(1) y top(1) soportan una bandera -H para mostrar todos los hilos visibles por el kernel en cada proceso. Corregido un error por el que rarpd(8) no reconocía las NIC Ethernet extraíbles. repquota(8) soporta la opción -n para mostrar usuarios y grupos numéricamente. rtld(1) incluyela funcionalidad libmap por defecto; el botón de compilación WITH_LIBMAP es innecesario y ha sido retirado. savecore(8) soporta una bandera -C que simplemente indica la existencia o ausencia de un fichero coredump. sysinstall(8) ofrece la posibilidad de seleccionar un MTA alternativo durante la instalación (exim y Postfix están soportados). sysinstall(8) no soporta perfiles de seguridad del sistema; esta característica ha sido reemplazada por mandos de ajuste individuales para activar y desactivar sshd(8) y establecer los niveles de seguridad del sistema. systat(1) incluye pantallas para el tráfico IPv6 e ICMPv6. uname(1)soporta una bandera -i para devolver la identificación del kernel. Este nombre también está disponible a través de la variable sysctl kern.ident. Una serie de utilidades disponibles en /bin y /sbin están ahora disponibles como un binario crunched enlazado estáticamente que vive en /rescue. Muchos ejecutables de /bin y /sbin se construyen mediante enlazado dinámico, en lugar de estático. Infraestructura de Colección de Ports/Paquetes Si se define GNU_CONFIGURE, todas las instancias de config.guess y config.sub que se encuentren en WRKDIR, se reemplazan por las versiones maestras de PORTSDIR/Template. Esto permite a los ports antiguos (que contienen versiones antiguas de estos scripts) construir en arquitecturas más recientes como ia64 y amd64. |
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 5.2.1 | • Lanzamiento: 25/02/2004 • Soporte hasta: 31/12/2004 Cambios en el núcleo Las reglas de ruta devfs(5) funcionan correctamente en directorios. Soporte de hardware específico de la plataforma Los kernels SMP pueden ejecutarse en sistemas UP y que la funcionalidad SMP está ahora activada por defecto en el kernel GENERIC. La opción de kernel options APIC_IO sustituida por device apic. Corregido un desbordamiento de enteros que podía causar pánicos en el kernel en máquinas PAE de ciertos tamaños de memoria grandes. CPUs lógicas (con HyperThreading) están habilitadas según la configuración de la BIOS (anteriormente, estaban deshabilitadas por defecto y tenían que ser habilitadas explícitamente). Cambios en el cargador de arranque cdboot soluciona un problema de la BIOS observado en algunos sistemas al arrancar desde unidades USB CDROM. Soporte de interfaz de red Corregidos varios errores relacionados con la multidifusión y el manejo del modo promiscuo en el controlador sk(4). Protocolos de red Corregidos algunos errores en la implementación de IPsec del Proyecto KAME. Estos errores estaban relacionados con la liberación de objetos de memoria antes de que se eliminaran todas las referencias a ellos, y podían causar un comportamiento errático o pánicos en el kernel después de vaciar la base de datos de políticas de seguridad (SPD). La opción PFIL_HOOKS está activada por defecto en el kernel GENERIC. El efecto más notable de este cambio es hacer que IPFilter funcione correctamente cuando se carga como un módulo del kernel. Discos y almacenamiento Corregido varios errores en el controlador ata(4). Más notablemente, la detección de dispositivos maestro/esclavo debería funcionar mejor, y algunos problemas con los tiempos de espera deberían resolverse. Sistemas de archivos Corregido un error en GEOM que podía provocar bloqueos de E/S en algunos casos excepcionales. Cambios en Userland Aplicada una corrección de errores a la compatibilidad con NSS, que soluciona problemas al utilizar módulos NSS de terceros (como net/nss_ldap) y grupos con grandes listas de miembros. Software contribuido Incorporadas mejoras de seguridad de CVS 1.11.10 y 1.11.11. En concreto, ahora se rechazan ciertas peticiones de módulos malformados, y cuando se utiliza el modo pserver de cvs, los intentos de autenticación como root se rechazan y se registran a través de syslog(3). Infraestructura de Ports Collection/paquetes Si GNU_CONFIGURE está definido, todas las instancias de config.guess y config.sub encontradas en WRKDIR son reemplazadas por las versiones maestras de PORTSDIR/Template. Esto permite a los ports antiguos (que contienen versiones antiguas de estos scripts) construir en arquitecturas más recientes como ia64 y amd64. |
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 5.3 | • Lanzamiento: 06/11/2000 • Soporte hasta: 31/10/2006 Cambios en el núcleo ADAPTIVE_MUTEXES añadido y activado por defecto. Esto cambia el comportamiento de los mutexes de bloqueo para girar si el hilo que actualmente posee el mutex se está ejecutando en otra CPU. Esta característica puede ser desactivada explícitamente estableciendo una opción del kernel NO_ADAPTIVE_MUTEXES. Añadida opción del kernel ADAPTIVE_GIANT, que hace que el bloqueo Giant también se trate de forma adaptativa cuando los mutex adaptables están activados. Esto mejora el rendimiento de las máquinas SMP y está activado por defecto en el i386. Interfaz bus_dma(9) permite respetar de forma transparente las restricciones de alineación y límites de la etiqueta DMA al cargar búferes, y bus_dmamap_load utilizará automáticamente búferes de rebote cuando sea necesario. Reimplementada la función contigmalloc(9) con un algoritmo que tiene muchas más posibilidades de funcionar a pesar de la presión de los programas en ejecución. El antiguo algoritmo puede utilizarse estableciendo un sysctl vm.old_contigmalloc. Reglas de ruta de devfs(5) funcionan correctamente en directorios. jail(2) soporta el uso de sockets raw desde dentro de una jaula. Esta función está deshabilitada por defecto y se controla mediante el sysctl security.jail.allow_raw_sockets. kqueue(2) soporta un nuevo filtro EVFILT_FS que se utiliza para señalar eventos genéricos del sistema de ficheros al espacio de usuario. Añadido KDB, un marco de depuración. Consiste en un nuevo backend GDB, que ha sido reescrito para soportar threading, compresión run-length encoding, etc., y el frontend que proporciona un marco en el que se pueden configurar múltiples y diferentes backends de depuración y que proporciona servicios básicos a esos backends. KDB también sirve como único punto de contacto para todo el código que quiera hacer uso de las funciones del depurador, como entrar en el depurador o manejar la secuencia de pausa alternativa. Aañadido sysctl debug.kdb.stop_cpus. Esto controla si se entregarán o no IPI (Interrupciones entre Procesadores) a otras CPUs al entrar en el depurador, con el fin de detenerlas mientras se está en el depurador. Añadida opción del kernel MAC_STATIC que desactiva la sincronización interna del MAC Framework protegiendo contra la carga y descarga dinámica de las políticas MAC. La política mac_bsdextended(4) puede aplicar sólo la primera regla coincidente en lugar de todas las reglas coincidentes. Esta función puede activarse estableciendo un nuevo sysctl mac_bsdextended_firstmatch_enabled; y puede registrar los intentos fallidos en el servicio AUTHPRIV de syslog. Esta función puede activarse estableciendo un nuevo sysctl mac_bsdextended_logging. mballoc sustituido por mbuma, un asignador de Mbufs y clústeres basado en una serie de extensiones del marco UMA. Debido a este cambio, la opción del kernel NMBCLUSTERS ya no se utiliza. /dev/kmem, /dev/mem, y /dev/io también se proporcionan como módulos cargables del núcleo. Añadida opción MP_WATCHDOG al núcleo; permite utilizar una de las CPUs lógicas de un sistema como watchdog dedicado para provocar una caída al depurador y/o generar un NMI al procesador de arranque si el kernel deja de responder. Hay varios sysctls disponibles para habilitar el watchdog que se ejecuta fuera del hilo inactivo del procesador; se lanza un callout para reiniciar un temporizador en el watchdog. Añadido un sysctl debug.leak_schedlock. Esto hace que un manejador sysctl que fuga incorrectamente el bloqueo sched, gire el bloqueo con el fin de activar el perro guardián proporcionado por la opción MP_WATCHDOG. Añadido un sintonizable del cargador debug.mpsafenet y se ha habilitado por defecto. Esto hace que la pila de red de FreeBSD funcione sin el bloqueo Giant, lo que mejora el rendimiento al aumentar el paralelismo y disminuir la latencia en el procesamiento de red. Añadida opción NET_WITH_GIANT al núcleo. Esto restaura el valor por defecto de debug.mpsafenet a 0, y está pensado para su uso en sistemas compilados con componentes inseguros conocidos, o donde se desea una configuración más conservadora. Añadido ajuste del cargador debug.mpsafevm. Esto actualmente resulta en una ejecución casi libre de Gigantes de fallas de página de llenado cero. Añadida opción PREEMPTION al núcleo. Esto permite que los hilos que están en el núcleo sean adelantados por hilos de mayor prioridad. Ayuda con la interactividad y permite que los hilos de interrupción se ejecuten antes en lugar de esperar. Añadido un nivel devclass al árbol dev sysctl, para soportar variables por clase además de variables por dispositivo. Esto significa que dev.foo0.bar ahora se llama dev.foo.0.bar, y es posible tener dev.foo.bar también. Añadido un sysctl, kern.always_console_output. Hace que la salida del núcleo vaya a la consola a pesar del uso de TIOCCONS. Añadido un sysctl kern.sched.name que tiene el nombre del planificador actualmente en uso, y el sysctl kern.quantum se ha movido a kern.sched.quantum por coherencia. Actualizado los recursos del bus pci(4) y la gestión de energía. El planificador ULE añadido como planificador adicional. Tenga en cuenta que el convencional, que se llama 4BSD, se sigue utilizando como planificador por defecto en el kernel GENERIC. Para el usuario medio, la interactividad es mejor en muchos casos. Esto significa menos hopping y jerking en aplicaciones interactivas mientras la máquina está muy ocupada. Sustituido el algoritmo de búsqueda lineal utilizado en vm_map_findspace(9) por un algoritmo O(log n) integrado en el árbol de despliegue de entradas del mapa. Esto reduce significativamente la sobrecarga en vm_map_findspace(9) para aplicaciones que mmap(2) muchos cientos o miles de regiones. El enlazador dinámico y estático de FreeBSD soporta Thread-Local Storage (TLS), una característica de GCC que soporta un modificador __thread a la declaración de variables globales y estáticas. Este modificador adicional significa que el valor de la variable es local al hilo; un hilo que cambie su valor no afectará al valor de la variable en ningún otro hilo. Actualizado el código de asignación de descriptores de fichero del núcleo, que deriva de un código similar de OpenBSD. Es posible compilar el núcleo FreeBSD/i386 con el compilador Intel C/C++ (como en el port lang/icc). Cambios en el cargador de arranque Añadida una versión de boot0 apta para consola serie. Puede escribirse en un disco utilizando boot0cfg(8) y especificando /boot/boot0sio como argumento de la opción -b. cdboot soluciona un problema de la BIOS observado en algunos sistemas al arrancar desde unidades de CDROM USB. Soporte de hardware Añadido controlador acpi_asus(4) para utilizar funciones de hardware controladas por ACPI, como teclas de acceso rápido y LEDs en portátiles ASUSTek. Añadido controlador acpi_panasonic(4) para soportar teclas de acceso rápido en portátiles Panasonic. Ahora es compatible con Let's note (o Toughbook, fuera de Japón) CF-R1N, CF-R2A y CF-R3. Añadido controlador acpi_toshiba(4) para utilizar la Interfaz de Control de Hardware de Toshiba para manipular ciertas características de hardware en portátiles Toshiba, como la conmutación de salida de vídeo. Añadido controlador acpi_video(4) para controlar la conmutación de la pantalla y el brillo de la retroiluminación mediante las extensiones de vídeo ACPI. Controlador acpi(4) admite sysctls por dispositivo (dev.root0.nexus0.acpi0.acpi_lid0.wake, por ejemplo) para permitir a los usuarios establecer si un dispositivo determinado puede o no despertar el sistema. Controlador acpi(4) ahora se deshabilitará automáticamente cuando la máquina tenga un BIOS roto conocido. Este comportamiento puede anularse estableciendo el valor 0 del sintonizable del cargador hint.acpi.0.disabled. Añadido controlador ctau(4) para los adaptadores serie síncronos Cronyx Tau. Este controlador fue conocido durante mucho tiempo como ct en su vida anterior fuera del árbol de código fuente de FreeBSD. Añadido controlador cp(4) para los adaptadores serie síncronos Cronyx Tau-PCI. Controlador nmdm(4) reescrito para mejorar su fiabilidad. Controlador psm(4) y moused(8) soportan ahora el Synaptics TouchPad. El dispositivo de entropía random(4) soporta un generador de números aleatorios por hardware (RNG) en la CPU VIA C3 Nehemiah (Stepping 3 y superiores). Añadido controlador sx, compatible con los controladores serie multipuerto inteligentes Specialix I/O8+ e I/O4+. Añadido controlador de dispositivo ubser(4) para soportar adaptadores serie de gestión de consola BWCT. Añadido controlador ucycom(4) para las familias CY7C637xx y CY7C640/1xx de Cypress de puentes USB a RS232, como el que se encuentra en el receptor GPS USB Earthmate de DeLorme (que es el único dispositivo soportado actualmente por este controlador). Este driver no está completo porque aún no hay soporte para control de flujo y salida. Actualizada la infraestructura de controladores de dispositivos y muchos controladores. Entre los cambios: muchos más controladores utilizan ahora números mayores asignados automáticamente (en lugar de los antiguos números mayores estáticos); se han añadido funciones mejoradas para soportar la clonación de pseudo-dispositivos; se han realizado varios cambios en la API de controladores, incluyendo un nuevo campo d_version en struct cdevsw. Soporte multimedia Código del Direct Rendering Manager (DRM) ha sido actualizado desde el árbol CVS del proyecto DRI a partir del 26 de mayo de 2004. Esta actualización incluye nuevos PCI ID y un nuevo paquete para Radeon. Controladores para varias tarjetas de sonido reorganizados; device sound es el controlador de sonido genérico, y device snd_* son controladores de sonido específicos para cada dispositivo. El controlador midi, que soporta el puerto serie y varias tarjetas de sonido, ha sido eliminado. Controlador sound(4) (antes pcm(4)) se ha modificado para leer /boot/device.hints al arrancar, para permitir la configuración de los valores por defecto de los canales del mezclador. Soporte de interfaz de red Añadido controlador arl(4), que soporta los adaptadores inalámbricos Aironet Arlan 655. Añadido controlador fwip(4), que soporta IP sobre FireWire. fxp(4) usa el árbol de sysctl de dispositivo como dev.fxp0, y esos sysctls pueden ser configurados con base en cada dispositivo. fxp(4) proporciona control real sobre su capacidad para recibir tramas Ethernet extendidas, indicada por la capacidad de interfaz VLAN_MTU. Puede cambiarse desde tierra de usuario con la ayuda de las opciones vlanmtu y -vlanmtu de ifconfig(8). Controlador hea (adaptador ATM ENI-155p de Efficient Networks, Inc.) se ha eliminado por rotura. Su funcionalidad se ha subsumido en el controlador en(4). Controlador hme(4) soporta ahora de forma nativa tramas largas, por lo que puede utilizarse para vlan(4) con tamaño MTU Ethernet completo. Controlador hme(4) soporta ahora TCP/UDP Transmit/Receive checksum offload. Dado que hme(4) no compensa la suma de comprobación para datagramas UDP que pueden dar 0x0, la descarga de suma de comprobación de transmisión UDP está desactivada por defecto. Puede reactivarse configurando la opción de enlace especial link0 con ifconfig(8). Añadido el controlador ixgb(4), compatible con las tarjetas Intel PRO/10GBE 10 Gigabit Ethernet. FreeBSD proporciona una capa de compatibilidad binaria para usar los controladores NDIS de Microsoft® Windows® para adaptadores de red bajo FreeBSD/i386. Incluye un reubicador/enlazador para que los ficheros .SYS de Windows interactúen con el kernel de FreeBSD y emula varias partes de la API de NDIS usando funciones nativas del kernel de FreeBSD. Controlador ste(4) ahora soporta polling(4). Añadido controlador udav(4). Proporciona soporte para adaptadores USB Ethernet basados en el chipset Davicom DM9601. Añadido controlador vge(4), que soporta el chip VIA Networking Technologies VT6122 Gigabit Ethernet y el PHY de cobre 10/100/1000 integrado. Controlador vr(4) ahora soporta polling(4). Se puede habilitar el polling(4) por interfaz. Los siguientes controladores de red soportan polling(4): dc(4), fxp(4), em(4), ixgb(4), nge(4), re(4), rl(4), sis(4), ste(4), vge(4), y vr(4). Protocolos de red Controlador de túnel gre(4) soporta ahora WCCP versión 2. ipfw(4) soporta la opción versrcreach para verificar que existe una ruta válida a la dirección de origen de un paquete en la tabla de enrutamiento; admite la opción antispoof para verificar que la dirección de origen de un paquete entrante pertenece a una red conectada directamente; soporta la opción jail para asociar la regla con un ID de prisión específico; y soporta tablas de búsqueda. Esta característica es útil para manejar grandes conjuntos de direcciones dispersas. La regla de forward ipfw(4) tiene que ser compilada en el núcleo con una opción del núcleo IPFIREWALL_FORWARD para habilitarla. Añadido un sysctl net.inet.ip.process_options para controlar el procesamiento de opciones IP. Cuando este sysctl está a 0, las opciones IP son ignoradas y pasadas sin modificar; a 1, todas las opciones IP son procesadas (por defecto); y a 2, todos los paquetes con opciones IP son rechazados con un mensaje ICMP filter prohibited. natd(8) soporta múltiples instancias a través de una nueva opción globalports. Esto permite a natd(8) enlazarse a diferentes interfaces de red y compartir la carga. Añadido el tipo de nodo Netgraph ng_atmllc(4), que gestiona la encapsulación RFC 1483 ATM LLC. Añadido el tipo de nodo Netgraph ng_hub(4), que soporta una distribución simple de paquetes que actúa como un hub Ethernet. El tipo de nodo ng_rfc1490(4) de Netgraph soporta encapsulación estilo Cisco, que se usa a menudo junto con RFC 1490 en enlaces frame relay. Añadido el tipo de nodo Netgraph ng_sppp(4), que es una interfaz netgraph(4) al módulo de red original sppp(4) para líneas síncronas. Añadido un nuevo método Netgraph para restaurar algunos comportamientos perdidos en el cambio de estilo 4.X a los nodos Netgraph ng_tee(4). Añadido el tipo de nodo Netgraph ng_vlan(4), que soporta el etiquetado VLAN IEEE 802.1Q. El soporte PFIL_HOOKS está siempre compilado en el núcleo, y las opciones de compilación del núcleo asociadas han sido eliminadas. Todos los subsistemas de filtrado de paquetes soportados por FreeBSD utilizanel framework PFIL_HOOKS. Añadida notificación de cambio de estado de enlace del soporte de medios Ethernet al socket de enrutamiento. Reimplementado el soporte Link Quality Monitoring (LQM) en ppp(8). LQM, que se describe en RFC 1989, permite a PPP realizar un seguimiento de la calidad de una conexión en ejecución. Actualizada la clonación de pseudointerfaces y la función match para permitir la creación de interfaces stf(4) llamadas stf0, stf, o 6to4. La implementación TCP de FreeBSD incluye soporte para un MSS mínimo (configurable mediante la variable sysctl net.inet.tcp.minmss) y un límite de velocidad en conexiones que envían muchos segmentos TCP pequeños en un corto periodo de tiempo (mediante la variable sysctl net.inet.tcp.minmssoverload). La implementación TCP incluye soporte parcial (sólo salida) para RFC 2385 (TCP-MD5). Mejorado el manejo del reinicio de conexiones TCP para dificultar al máximo varios ataques de reinicio manteniendo la compatibilidad con la más amplia gama de pilas TCP. Mejorada la implementación del RFC 1948. El componente de desfase temporal de un Número de Secuencia Inicial (ISN) incluye ahora incrementos positivos aleatorios entre las pulsaciones del reloj, de forma que los ISN siempre irán en aumento, independientemente de la rapidez con la que se recicle el puerto. Añadidos los Reconocimientos Selectivos TCP (SACK) descritos en el RFC 2018. Esto mejora el rendimiento de TCP en conexiones con grandes pérdidas de paquetes. Discos y almacenamiento Controlador ata(4) es compatible con las controladoras ATA/SATA cardbus(4). Controlador ata(4) ahora soporta el secuenciador de comandos Promise presente en todas las controladoras Promise modernas (PDC203** PDC206**). Añadida una clase GEOM_CONCAT geom(4) para concatenar múltiples discos para que aparezcan como un único disco mayor. Añadida una clase GEOM_NOP geom(4) para realizar diversas pruebas. Añadida una clase GEOM_RAID3 geom(4) para la transformación RAID3 y la utilidad graid3(8) userland. Añadida una clase GEOM_STRIPE geom(4) que implementa la transformación RAID0. Añadida GEOM Gate, que consiste en una clase GEOM_GATE geom(4) y varias utilidades GEOM Gate userland (ggatel(8), ggatec(8), y ggated(8)). Permite exportar dispositivos a través de la red, incluidos los que no son compatibles con geom(4). Añadida una clase GEOM_LABEL geom(4) para detectar etiquetas de volumen en varios sistemas de archivos, como UFS, MSDOSFS (FAT12, FAT16, FAT32) e ISO9660. Añandida una clase GEOM_GPT geom(4), que soporta particiones GUID Partition Table (GPT) y la posibilidad de tener un gran número de particiones en un único disco, ha sido añadida a GENERIC por defecto. Añadida una clase GEOM_MIRROR geom(4) para soportar la funcionalidad RAID1. Se puede utilizar la utilidad gmirror(8) para controlar esta clase. Añadida una clase GEOM_UZIP geom(4) para implementar discos comprimidos de sólo lectura. Actualmente soporta el formato de compresión de disco cloop V2.0. Añadida una nueva clase GEOM_VINUM geom(4) para soportar la cooperación entre vinum(4) y geom(4). Controlador ips(4) soporta las tarjetas controladoras SCSI de la serie Adaptec ServeRAID. Añadido controlador twa(4), que soporta las controladoras RAID PATA/SATA de la serie 9000 de 3ware. Controlador umass(4) soporta los comandos ATAPI MMC faltantes y maneja el tiempo de espera correctamente. Añadido soporte para software RAID tipo LSI. Sistemas de archivos El código del sistema de ficheros EXT2FS incluye soporte parcial para ficheros de gran tamaño (> 4GB). Este soporte es parcial en el sentido de que se negará a crear archivos grandes en sistemas de archivos que no hayan sido actualizados a EXT2_DYN_REV o que no tengan el indicador EXT2_FEATURE_RO_COMPAT_LARGE_FILE activado en el superbloque. Añadida opción MSDOSFS_LARGE del núcleo, para soportar sistemas de archivos FAT32 mayores de 128GB. Esta opción está desactivada por defecto. Utiliza al menos 32 bytes de memoria del núcleo por cada archivo en disco; además, sólo es seguro utilizarla en ciertas situaciones controladas, como montajes de sólo lectura con menos de 1 millón de archivos, etc. Cliente SMBFS soporta la firma de peticiones SMB, que previene ataques de "hombre en el medio" y es necesaria para conectarse a servidores Windows 2003 en su configuración por defecto. Como la firma de cada mensaje impone una penalización significativa en el rendimiento, esta característica sólo está habilitada si el servidor lo requiere; puede que con el tiempo se convierta en una opción de mount_smbfs(8). Software aportado Framework ALTQ ha sido importado desde una instantánea de KAME del 7 de junio de 2004. Esta importación rompe la compatibilidad ABI de struct ifnet y requiere que todos los controladores de red sean recompilados. Además, se han modificado algunos de los controladores de red para que sean compatibles con el marco ALTQ. IPFilter actualizado a la versión 3.4.35 Cambios en Userland acpidump(8) soporta tablas SSDT. El volcado o desensamblado del DSDT incluirá también el contenido si hay alguna tabla SSDT. bsdlabel(8) soporta la opción -f para trabajar sobre ficheros en lugar de particiones de disco. bsdtar(1) es la utilidad tar(1) por omisión en el sistema base FreeBSD. Por defecto /usr/bin/tar es un enlace simbólico que apunta a /usr/bin/bsdtar. Para volver a utilizar /usr/bin/gtar por omisión puede utilizarse la variable make WITH_GTAR. Añadidos los comandos bthidcontrol y bthidd, que soportan HIDs (Human Interface Devices) Bluetooth. col(1), colcrt(1), colrm(1), column(1), fmt(1), join(1), rev(1), tr(1) y ul(1) soportan caracteres multibyte. conscontrol(8) soporta los comandos set y unset que establecen/desestablecen la consola virtual. unset hace que la salida del sistema, como el printf(9) del kernel, vaya siempre a la consola principal real. Se trata de una interfaz para el ioctl de tty TIOCCONS. El daemon cron(8) acepta dos nuevas opciones, -j y -J, para habilitar la fluctuación de tiempo para que los trabajos se ejecuten como usuarios sin privilegios y como superusuario, respectivamente. Time jitter significa que cron(8) dormirá durante un pequeño periodo de tiempo aleatorio en el rango especificado antes de ejecutar un trabajo. Esta función está pensada para suavizar los picos de carga que aparecen cuando se programan muchos trabajos para un momento determinado. cvs(1) soporta una palabra clave de opción iso8601 para imprimir fechas en formato ISO 8601. daemon(8) soporta ahora la opción -p para crear un archivo PID. dd(1) soporta una opción fillchar para especificar un carácter de relleno alternativo cuando se utiliza un modo de conversión, o cuando se utiliza noerror con sync y se produce un error de entrada. df(1) soporta la opción -c para mostrar un total general de estadísticas de los sistemas de ficheros. dump(8) y restore(8) soportan una opción -P para especificar métodos de copia de seguridad distintos de ficheros y cintas. El argumento se pasa a un pipeline sh(1) normal con la variable de entorno $DUMP_VOLUME o $RESTORE_VOLUME definida, respectivamente. Añadida utilidad eeprom(8) para mostrar y modificar configuraciones del sistema almacenadas en EEPROM o NVRAM. La implementación actual soporta sistemas equipados con Open Firmware. Añadida función fgetwln(3), una versión de caracteres anchos de fgetln(3). Utilidad find(1) soporta un primario -acl para localizar ficheros con acl(3); y soporta un nuevo primario -depth n que comprueba si la profundidad del fichero actual relativa al punto de inicio del recorrido es n. ftpd(8) abre un socket para una transferencia de datos en modo activo usando el UID efectivo del usuario actual, no root. Esto es útil para emparejar tráfico de datos FTP anónimo con una única regla ipfw(8) con uid. Implementadas las funciones ftw(3) y nftw(3) para recorrer una jerarquía de directorios. Añadida la utilidad geom(8) para operar sobre clases geom(4) desde el ámbito de usuario. gpt(8), una utilidad de mantenimiento de tabla de particiones GUID, ahora soporta un comando remove. Su comando add ahora soporta una opción -i, que permite al usuario especificar el número de partición de una nueva partición. id(1) soporta una opción -M para imprimir la etiqueta MAC del proceso actual. ifconfig(8) permite renombrar interfaces de red en tiempo de ejecución utilizando el parámetro name; imprime el estado de polling(4) en la interfaz; proporciona ahora las opciones vlanmtu y -vlanmtu, que controlan la capacidad de algunas interfaces Ethernet para recibir tramas extendidas (es decir, tramas que contienen más de 1500 bytes de carga útil); y proporciona las opciones vlanhwtag y -vlanhwtag, que controlan la capacidad de algunas interfaces Ethernet para procesar etiquetas VLAN en el hardware. indent(1) soporta la opción -ldi para controlar la sangría de las variables locales; y soporta -fbs y -ut para declaraciones de funciones con el corchete de apertura en la misma línea que la declaración de argumentos todos los espacios y sin tabuladores para solucionar el problema cuando se usan tabuladores que no son de 8 espacios. ip6fw(8) soporta una bandera -n para evitar que haga cambios a las reglas en el kernel. ipcs(1) soporta una opción -u para mostrar información sobre mecanismos IPC propiedad del usuario especificado. ipfw(8) soporta una opción -b para imprimir sólo la acción y el comentario de cada regla, omitiendo así el cuerpo de la regla. jail(8) soporta una opción -U para ejecutar un comando como un usuario que sólo existe en el entorno jail(2). jail(8) soporta una opción -l para limpiar el entorno. Todas las variables de entorno se descartan excepto HOME, SHELL, PATH, TERM, y USER antes de ejecutar el programa encarcelado bajo las credenciales de un usuario específico. Este comportamiento es similar al proporcionado por la opción -l de su(1). Añadido kgdb(1), una utilidad de depuración del kernel que utiliza libgdb y entiende los hilos del kernel, los módulos del kernel y kvm(3). killall(1) soporta una bandera -e para hacer que -u opere sobre IDs de usuario efectivos, en lugar de reales. libalias(3) tiene soporte (y una nueva API) para múltiples instancias de aliasing en un único proceso. La API existente ha sido reimplementada en términos de la nueva para preservar la compatibilidad. Añadida una biblioteca libarchive para manipular archivos comprimidos y descomprimidos. libdisk utiliza d_addr_t para las direcciones de disco. Esto permite a sysinstall(8) manejar correctamente discos y sistemas de ficheros de más de 1 TB. La biblioteca antes conocida como libkse ha pasado a llamarse libpthread y es ahora la biblioteca de hilos por defecto en las plataformas i386, amd64 e ia64. La opción -pthread de GCC se ha modificado para utilizar libpthread en lugar de libc_r. libpthread soporta una variable de entorno LIBPTHREAD_SYSTEM_SCOPE para forzar el modo 1:1 (usando hilos de ámbito de sistema). ls(1) trata los nombres de fichero como cadenas de caracteres multibyte según el LC_CTYPE actual al determinar qué caracteres son imprimibles. make(1) soporta la nueva directiva .warning.; la bandera + compatible con POSIX en las líneas de comando Makefile, que hace que se ejecute una línea incluso cuando se especifica -n. Esto es útil para llamadas a submakes, por ejemplo; y pone las asignaciones de variables de la línea de comandos en la variable MAKEFLAGS como requiere POSIX. Esto hace que dichas variables se introduzcan en todos los submakes llamados por make(1) (excepto cuando la variable MAKEFLAGS se cambia explícitamente en el entorno del submake). Esto hace que no se puedan sobreescribir en submakes excepto en la línea de órdenes de la submake. Implementadas las funciones C99 nearbyint(3) y nearbyintf(3). Implementada la cabecera tgmath.h C99. Esto proporciona macros de tipo genérico para las funciones math.h y complex.h que tienen implementaciones float, double y long double. Implementadas las extensiones GNU de mbsnrtowcs(3) y wcsnrtombs(3). newsyslog(8) permite a los usuarios establecer una opción de depuración a través del archivo newsyslog.conf. newsyslog(8) utiliza un nuevo orden al procesar los archivos que debe rotar. Primero rota todos los archivos que necesitan ser rotados, luego envía una única señal a cada proceso que necesita ser señalizado, y finalmente comprime todos los archivos que fueron rotados. Añadida función nextwctype(3) para iterar sobre todos los caracteres de una determinada clase de caracteres. Añadido soporte inicial para versiones UTF-8 de todas las configuraciones regionales del sistema soportadas. Esto es principalmente para el beneficio del puerto misc/utf8locale. Añadida la configuración regional he_IL.UTF-8 en hebreo de Israel. Añadida la utilidad logins(1) para mostrar información sobre cuentas de usuario y de sistema. mountd(8) soporta la opción -p, que permite a los usuarios especificar un puerto conocido para su uso en conjuntos de reglas de cortafuegos. netstat(1) muestra las pertenencias a grupos de multidifusión presentes en el sistema. newfs(8) y mdmfs(8) soportan una bandera -l para permitirles establecer la bandera MAC multilabel en nuevos sistemas de ficheros sin requerir el uso de tunefs(8). nologin(8) informa de los intentos de inicio de sesión a través de syslogd(8). nologin(8) se ha trasladado de /sbin/nologin a /usr/sbin/nologin. /sbin/nologin permanece como enlace simbólico por compatibilidad con versiones anteriores. od(1) tiene soporte POSIX para caracteres multibyte. patch(1) ha sido reemplazado por una versión con Licencia BSD de OpenBSD. Esta incluye una opción --posix para una conformidad POSIX estricta. Añadidos los comandos pgrep(1) y pkill(1), que provienen de NetBSD. También soportan una opción -M para extraer valores asociados a la lista de nombres del núcleo especificado en lugar del /dev/kmem por defecto, y una opción -N para extraer la lista de nombres del sistema especificado en lugar del kernel por defecto. ppp(8) soporta un comando set rad_alive N para habilitar el envío periódico de información de contabilidad RADIUS al servidor RADIUS; y soporta un comando set pppoe [standard|3Com] para configurar el modo de operación de un nodo Netgraph subyacente ng_pppoe(4). Mejorada la compatibilidad de ps(1) con POSIX/SUSv3. Los cambios incluyen -p para una lista de IDs de procesos, -t para una lista de nombres de terminales, -A que es equivalente a -ax, -G para una lista de IDs de grupos, -X que es lo opuesto a -x, y algunas mejoras menores. ps(1) soporta una opción de formato -O emul, que imprime el nombre del entorno de emulación de llamada al sistema en el que se encuentra el proceso. pw(8) soporta una opción -H, que acepta una contraseña encriptada en un descriptor de archivo. regex(3) soporta coincidencias de expresiones regulares conscientes de caracteres multibyte. Los ficheros de configuración utilizados por resolver(3) soportan las palabras clave timeout: e attempts:. El resolver(3) y las interfaces asociadas son mucho más reentrantes y seguras. Ahora se pueden ejecutar varias búsquedas de DNS al mismo tiempo, lo que supone importantes mejoras en el rendimiento de algunas aplicaciones multihilo. Algunos programas multihilo necesitan ser recompilados; ejemplos de la Colección de Ports son www/mozilla y variantes, mail/evolution, devel/gnomevfs, y devel/gnomevfs2. rmdir(1) soporta la opción -v, que lo hace más detallado. savecore(8) funciona ahora correctamente con archivos de volcado de más de 2 GB. Añadido el daemon sdpd(8) Bluetooth Service Discovery Protocol. El comando sed(1)'s y (translate) soporta ahora caracteres multibyte. Añadidas las utilidades sha1(1) y rmd160(1). Similares a md5(1), calculan un resumen de mensajes de sus entradas. Añadido smbmsg(8), una pequeña utilidad para enviar/recibir mensajes SMBus. talk(1) utiliza localhost como nombre de máquina por defecto en los paquetes de petición talkd(8) cuando el destino y el origen son locales. Esto hace que talk(1) dependa de una entrada de host válida para localhost en /etc/hosts o en el DNS. tftpd(8) soporta dos nuevas opciones: una opción -w permite crear nuevos ficheros, y una opción -U permite establecer la umask. top(1) puede mostrar la cantidad actual de E/S. Esta función puede activarse pulsando ``m o pasando la opción de línea de órdenes -m io. Scripts /etc/rc.d El script diskless se ha dividido en los scripts hostname, resolve, tmp y var. Añadido el script gbde_swap, que soporta dispositivos swap habilitados para gbde. Cuando la variable gbde_swap_enable se especifica en rc.conf(5), un dispositivo de intercambio llamado /dev/foo.bde en fstab(5) se adjunta automáticamente en el arranque con el dispositivo /dev/foo y una clave aleatoria, que se genera calculando la suma de comprobación MD5 de 512 bytes leídos de /dev/random. Tenga en cuenta que esto evita la recuperación de volcados del kernel. Añadidas las variables ip6addrctl_enable e ip6addrctl_verbose. Cuando ip6addrctl_enable está en YES, la política de selección de direcciones se instala en el núcleo. Si /etc/ip6addrctl.conf existe, se utilizará; de lo contrario, se instalará una política por defecto. La política por defecto es la descrita en RFC 3484 cuando ipv6_enable es YES. En caso contrario, se utilizará la política de prioridad para direcciones IPv4 como política por defecto. Añadido script del mezclador. Guarda la configuración actual de todos los mezcladores de audio presentes en el sistema al apagarse y restaura la configuración al arrancar. El script named actualizado para soportar BIND 9 en el sistema base. Cuando la variable named_chroot_autoupdate está en YES (por defecto), el directorio chroot se configura automáticamente en el arranque. Un enlace simbólico que apunta a /var/named/etc/namedb se crea como /etc/namedb, y un enlace simbólico que apunta a /var/named/var/run/named/pid se crea como /var/run/named/pid. Este último puede desactivarse utilizando la variable named_symlink_enable en rc.conf. Añadidos los scripts pf y pflog para pf(4). Infraestructura de Ports Collection/paquetes La mayoría de los scripts de arranque/apagado instalados por varios ports usan el framework rc(8) introducido en FreeBSD 5.X, mientras que algunos ports siguen usando los scripts al estilo antiguo. Al arrancar, los nuevos scripts de estilo rc(8) se ejecutan antes que los de estilo antiguo. Al apagarse ocurre exactamente lo contrario. El atributo SIZE para distfiles, que puede ser utilizado para comprobar el tamaño de los archivos antes de obtenerlos, añadido y activado por defecto. Añadidos dos nuevos ficheros al árbol de ports para rastrear cambios dignos de mención: ports/CHANGES lista los cambios más importantes en la Colección de Ports y su infraestructura. ports/UPDATING describe algunos problemas potenciales que pueden encontrarse al actualizar ciertos ports, de forma análoga a src/UPDATING para el sistema base. Reescrito el código de análisis del número de versión en las herramientas pkg_* del sistema, restaurando la compatibilidad con 4.x y sysutils/portupgrade. Las herramientas de paquetes pueden emparejar paquetes con operadores relacionales y opciones {...} estilo csh. Las herramientas de paquetes han mejorado la gestión de bases de datos de paquetes corruptas. pkg_create(1) soporta una opción -S para hacer que todas las rutas @cwd sean prefijadas durante la creación del paquete. pkg_info(1) soporta la opción -j para mostrar el script de requisitos de cada paquete. |
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 5.4 | • Lanzamiento: 09/05/2005 • Soporte hasta: 31/10/2006 Cambios en el núcleo La característica jail(8) soporta un nuevo sysctl security.jail.chflags_allowed, que controla el comportamiento de chflags(1) dentro de una jaula. Si se establece en 0 (por defecto), un usuario root en jaula es tratado como un usuario sin privilegios; si se establece en 1, un usuario root en jaula es tratado igual que un usuario root sin jaula. Activada por defecto la opción debug.mpsafevm del cargador. La asignación de memoria para puentes PCI heredados se ha limitado a los 32 MB superiores de RAM. Muchos puentes antiguos sólo permiten la asignación a partir de este rango. Este cambio sólo se aplica a dispositivos que no tienen su memoria asignada por la BIOS. Este cambio corrige el error bad Vcc de los puentes CardBus ( pccbb(4)). Soporte de hardware Añadido un marco para el control flexible de la velocidad del procesador. Proporciona métodos para que varios controladores controlen la utilización de la energía de la CPU ajustando la velocidad del procesador. Añadido controlador pcii para soportar tarjetas GPIB-PCIIA IEEE-488. Soporte de interfaz de red Añadido controlador cdce(4) USB Communication Device Class Ethernet. Controladores cp(4), ctau(4), cx(4) y hme(4) integrados en MPSAFE. Controladores ed(4) y re(4) soportan el framework altq(4). Controlador em(4), el soporte de hardware para el etiquetado VLAN está desactivado por defecto debido a algunas interacciones entre esta característica y el modo promiscuo. Controlador sf(4) soporta el sondeo de dispositivos y altq(4). Controlador sk(4) soporta altq(4). Este controlador también soporta ahora tramas jumbo en interfaces basadas en Yukon. Protocolos de red Implementado el Protocolo Común de Redundancia de Direcciones (CARP). CARP proviene de OpenBSD y permite a múltiples hosts compartir una dirección IP, proporcionando alta disponibilidad y balanceo de carga. Sistema ipfw(4) puede funcionar con debug.mpsafenet=1 (este sintonizable es 1 por defecto) cuando se utilizan las opciones de regla gid, jail, y/o uid. Regla ipfw(8) ipfw fwd soporta la manipulación completa del destino del paquete cuando se especifica la opción del kernel options IPFIREWALL_FORWARD_EXTENDED además de options IPFIREWALL_FORWARD. Esta opción del núcleo desactiva todas las restricciones para asegurar un comportamiento adecuado para los paquetes generados localmente y permite la redirección de paquetes destinados a direcciones IP configuradas localmente. ipnat(8) permite que las reglas de redirección funcionen para paquetes que no sean TCP/UDP. Nuevo nodo NetGraph ng_netflow(4) permite a un router que ejecute FreeBSD realizar exportaciones NetFlow versión 5. Controlador sppp(4) incluye soporte para Frame Relay. Implementación de KAME IPv4 IPsec integrada en FreeBSD soporta ahora TCP-MD5. Discos y almacenamiento Controlador amr(4) puede utilizarse en sistemas que utilicen pae(4). Añadido controlador arcmsr(4). Es compatible con las series Areca ARC-11xx y ARC-12xx de controladoras RAID SATA. Añadido controlador hptmv(4), compatible con la serie HighPoint RocketRAID 182x. Controlador ips(4) soporta los volcados de crash del kernel en algunos modelos ServeRAID modernos. Añadida la clase SHSEC GEOM. Permite compartir un secreto entre varios proveedores GEOM. Esta función se controla mediante la utilidad gshsec(8). La información sobre sistemas de archivos cd9660 recién montados (como la presencia de extensiones RockRidge) ahora sólo se imprime si el kernel se inició en modo detallado. Este cambio se realizó para reducir la cantidad de mensajes de registro del kernel (generalmente innecesarios). Sistemas de archivos El recálculo de la información de resumen para sistemas de ficheros sucios UFS y UFS2 ya no se realiza en el momento del montaje, sino que ahora se realiza mediante fsck(8) en segundo plano. Este cambio mejora la velocidad de inicio al montar sistemas de archivos grandes después de un fallo. El comportamiento anterior puede restaurarse estableciendo la variable sysctl vfs.ffs.compute_summary_at_mount en un valor distinto de cero. Software contribuido ACPI-CA actualizada de 20040527 a 20041119. La función strftime(3) soporta algunas extensiones GNU como - (sin relleno), _ (usa espacio como relleno) y 0 (relleno cero). La función syslog(3) es segura para hilos. La utilidad syslogd(8) abre un socket de dominio adicional (/var/run/logpriv por defecto), con permisos 0600 para ser utilizado por programas privilegiados. Esto evita que los programas privilegiados se bloqueen cuando los sockets de dominio se queden sin espacio en el búfer debido a un ataque local de denegación de servicio. syslogd(8) soporta la opción -S, que permite cambiar la ruta de acceso del socket privilegiado. Esto es útil cuando no se desea que el demonio reciba ningún mensaje de los sockets locales (/var/run/log y /var/run/logpriv se utilizan por defecto). La utilidad syslogd(8) permite los caracteres : y % en las especificaciones del nombre de host. Estos caracteres se utilizan en direcciones IPv6 e ID de ámbito. La visualización -netstat de systat(1) es compatible con IPv6. La opción -f de la utilidad tail(1) admite más de un archivo a la vez. Añadida la orden tcpdrop(8), que cierra una conexión TCP seleccionada. Se ha obtenido desde OpenBSD. whois(1) soporta una bandera -k para consultar whois.krnic.net (la Agencia Nacional de Desarrollo de Internet de Corea), que contiene detalles de las asignaciones de direcciones IP dentro de Corea. Scripts /etc/rc.d rc.conf(5) soporta cambios de nombres de interfaces de red en tiempo de arranque. Por ejemplo rc.conf(5) soporta las variables tmpmfs_flags y varmfs_flags. Éstas pueden usarse para pasar opciones extra a la utilidad mdmfs(8), para personalizar los detalles más finos de la creación del sistema de ficheros md(4), como activar/desactivar las actualizaciones suaves, especificar un propietario por defecto para el sistema de ficheros, etc. Infraestructura de Ports Collection/paquetes Los ficheros ports/INDEX*, que mantenían un índice de todas las entradas de la colección de ports, eliminados del repositorio CVS. Estos ficheros se generaban con poca frecuencia, por lo que solían estar desactualizados y ser imprecisos. Ingeniería de lanzamiento e integración Entorno de escritorio GNOME ha sido actualizado de 2.6.2 a 2.10. Entorno de escritorio KDE ha sido actualizada de 3.3.0 a 3.4.0. Xorg ha sido actualizada de 6.7.0 a 6.8.2. |
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 5.5 | • Lanzamiento: 25/05/2006 • Soporte hasta: 31/05/2008 Cambios en el cargador de arranque El comando autoboot evita que el usuario interrumpa el proceso de arranque en absoluto si la variable autoboot_delay se establece en -1. Soporte de hardware Añadido controlador ce(4) para soportar los adaptadores Cronyx Tau32-PCI. Los procesadores de doble núcleo (como el Intel Core Duo) tienen ambos núcleos disponibles para su uso por defecto en núcleos habilitados para SMP. Soporte multimedia Controlador uaudio(4) cuenta ahora con algunas funciones añadidas, como el control de volumen en más entradas y la capacidad de grabación en algunos dispositivos. Interfaz de red Controlador bge(4) soporta los chips BCM5714 y 5789. Controlador ixgb(4) es parte de MPSAFE. Controladores que utilizan el mecanismo de envoltura de controlador de dispositivo ndis(4) se crean y cargan de forma diferente. El controlador ndis(4) se puede precompilar como módulo o compilar estáticamente en un núcleo. Los controladores individuales pueden construirse con la utilidad ndisgen(8); el resultado es un módulo del kernel que puede cargarse en un kernel en ejecución utilizando kldload(8). Controlador xl(4) soporta polling(4). Protocolos de red Añadida la implementación de puentes de red if_bridge(4), originalmente de NetBSD. Soporta el protocolo IEEE 802.1D Spanning Tree, dispositivos de interfaz individuales para cada puente, filtrado de paquetes puenteados y puertos span (que transmiten una copia de cada trama recibida por el puente). La utilidad ifconfig(8) soporta ahora la configuración de if_bridge(4). Discos y almacenamiento Controlador twa(4) actualizado a la versión 9.3.0.1 en el sitio web de 3ware. Cambios en Userland Añadidas las utilidades bsdiff(1) y bspatch(1). Estas son herramientas para construir y aplicar parches binarios. Utilidad cmp(1) admite un indicador -h para comparar el propio enlace simbólico en lugar del archivo al que apunta el enlace. Funciones gethostbyname(3), gethostbyname2(3) y gethostbyaddr(3) son para hilos. Funciones getnetent(3), getnetbyname(3) y getnetbyaddr(3) son seguras para hilos. Funciones getprotoent(3), getprotobyname(3) y getprotobynumber(3) son seguras para hilos. Funciones getservent(3), getservbyname(3), y getservbyport(3) son seguras para hilos. Programa kdump(1) soporta la opción -s para suprimir la visualización de datos de E/S. Utilidad kldstat(8) soporta una opción -m para devolver el estado de un módulo específico del núcleo. Aumentado los tamaños de pila por defecto en libpthread, libthr y libc_r. En plataformas de 32 bits, el subproceso principal recibe un tamaño de pila de 2 MB por defecto, mientras que los demás subprocesos reciben un tamaño de pila de 1 MB por defecto. En plataformas de 64 bits, los tamaños de pila por defecto son 4MB y 2MB respectivamente. Utilidad netstat(1) soporta un indicador -h para el modo de estadísticas de interfaz, que imprime todas las estadísticas de interfaz de forma legible para el ser humano. Utilidad ping(8) soporta un ping de barrido en el que la carga útil de icmp(4) de los paquetes que se envían se incrementa con un paso dado. Esto es útil para probar canales problemáticos, problemas de MTU o funciones de control de tráfico en redes. Añadido el programa powerd(8) para gestionar el consumo de energía. El programa rfcomm_sppd(1) soporta nombres de servicio además de la opción -c con número de canal. Los nombres soportados son: DUN (Dial-Up Networking), FAX (Fax), LAN (LAN Access Using PPP), y SP (Serial Port). Utilidad rm(1) soporta una opción -I que pide confirmación (una vez) si se eliminan directorios recursivamente o si se listan más de 3 ficheros en la línea de órdenes. sed(1) admite una opción -l para que su salida tenga un búfer de línea. La utilidad sh(1) soporta el comando incorporado times. Añadida la utilidad snapinfo(8), que muestra las ubicaciones de las instantáneas en los sistemas de archivos UFS. Scripts /etc/rc.d Añadido el script bluetooth. Este script será llamado desde devd(8) en respuesta a eventos de conexión/desconexión de dispositivos y para parar/arrancar dispositivos concretos sin tener que desconectarlos a mano. Los parámetros de configuración están en /etc/defaults/bluetooth.device.conf, y pueden ser anulados usando /etc/bluetooth/$device.conf (donde $device es ubt0, btcc0, etc.) Script de inicio rc.d/jail soporta la variable jail_name_flags que permite especificar flags de jail(8). Software contribuido BIND actualizado de la versión 9.3.1 a la 9.3.2. Actualizado sendmail de la versión 8.13.3 a la versión 8.13.6. La base de datos de zonas horarias se ha actualizado de la versión tzdata2005g a la versión tzdata2006g. Infraestructura de Ports Collection/paquetes pkg_add(1) admite una bandera -P, que es igual que la bandera -p excepto que el prefijo dado también se usa recursivamente para los paquetes de dependencia si los hay. pkg_add(1) y pkg_create(1) soportan una bandera -K para guardar paquetes en el directorio actual (o PKGDIR si está definido) por defecto. pkg_create(1) soporta una bandera -x para admitir expresiones regulares básicas para el nombre del paquete, una bandera -E para expresiones regulares extendidas y una -G para coincidencias exactas. pkg_version(1) soporta una bandera -I, que hace que sólo se utilice el archivo INDEX para determinar si un paquete está desactualizado. pkg_version(1) soporta una bandera -o para mostrar el origen registrado en la generación del paquete en lugar del nombre del paquete, y una bandera -O para listar paquetes cuyo origen registrado es sólo origen. portsnap(8) (sysutils/portsnap) añadida al sistema base de FreeBSD. Se trata de una forma segura, fácil de usar, rápida, ligera y, en general, buena para que los usuarios mantengan actualizados sus árboles de ports. Eliminado el sufijo de los scripts de arranque de la FreeBSD Ports collection. Esto significa que foo.sh pasa a llamarse foo, y ahora también se invocarán los scripts cuyo nombre sea algo así como foo.ORG. Añadida nuevas variables rc.conf, ldconfig_local_dirs y ldconfig_local32_dirs. Contienen listas de directorios locales ldconfig(8). La orden @cwd en pkg-plist no permite ningún argumento de directorio. Si no se da ningún argumento de directorio, establecerá el directorio de trabajo actual al primer prefijo dado por la orden @cwd. Ingeniería e integración de versiones El entorno de escritorio GNOME (x11/gnome2) ha sido actualizado de 2.10.2 a 2.12.3. El entorno de escritorio KDE (x11/kde3) ha sido actualizado de 3.4.2 a 3.5.1. El intérprete Perl (lang/perl5.8) ha sido actualizado de 5.8.7 a 5.8.8. El sistema de ventanas Xorg (x11/xorg) ha sido actualizado de 6.8.2 a 6.9.0. |

### FreeBSD 6.x

FreeBSD 6.0 a 6.4 :
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 6.0 | • Lanzamiento: 04/11/2005 • Soporte hasta: 31/01/2007 Cambios en el núcleo Depurador del núcleo ddb(4) soporta la orden show alllocks, que muestra una lista de procesos e hilos que tienen mutexes de suspensión (y mutexes de giro para el hilo actual). Formato de volcado de fallos del núcleo se ha cambiado a ELF para soportar entornos de memoria de gran tamaño (más de 4GB). Controlador ichsmb(4) está disponible como módulo cargable del núcleo. Función jail(8) soporta un nuevo sysctl security.jail.chflags_allowed, que controla el comportamiento de chflags(1) dentro de una jaula. Si se establece en 0 (por defecto), un usuario root en jaula es tratado como un usuario sin privilegios; si se establece en 1, un ufsuario root en jaula es tratado igual que un usuario root sin jaula. sysctl security.jail.getfsstatroot_only ha cambiado de nombre a security.jail.enforce_statfs Añadido memguard(9), un asignador de memoria del kernel diseñado para ayudar a detectar escenarios "tamper-after-free". Debe habilitarse explícitamente mediante las opciones DEBUG_MEMGUARD, además de pequeñas modificaciones en el núcleo. Generalmente está pensado para ser utilizado por los desarrolladores del núcleo. Mmodificado struct ifnet y la API de interfaz de red. Debido a la incompatibilidad ABI, todos los controladores que no estén en el sistema base de FreeBSD deben actualizarse para utilizar la nueva API y recompilarse. Corregidos errores en el planificador ULE. Aañadido bloqueo de grano fino para permitir que gran parte de la pila VFS se ejecute sin el bloqueo Giant. Esto está habilitado por defecto en las arquitecturas alpha, amd64 e i386, y puede deshabilitarse configurando la variable del cargador (y sysctl) debug.mpsafevfs a 0. Los objetos IPC de System V (colas de mensajes, semáforos y memoria compartida) soportan ahora políticas de Control de Acceso Obligatorio, especialmente mac_biba(4), mac_mls(4), mac_stub(4) y mac_test(4). Asignación de memoria para puentes PCI heredados se ha limitado a los 32 MB superiores de RAM. Muchos puentes antiguos sólo permiten la asignación de este rango. Este cambio sólo se aplica a los dispositivos que no tienen su memoria asignada por la BIOS. Este cambio corrige el error "bad Vcc" de los puentes CardBus (pccbb(4)). Las MIBs sysctl(3) que empiezan por "debug" ahora requieren la opción del núcleo SYSCTL_DEBUG. Esta opción está desactivada por defecto. Añadidao la interfaz genérica de controladores tty(4) y muchos controladores de dispositivos incluyendo cx(4) ({tty,cua}x), cy(4) ({tty,cua}c), digi(4) ({tty,cua}D), rc(4) ({tty,cua}m), rp(4) ({tty,cua}R), sab(4) ({tty, cua}z), si(4) ({tty,cua}A), sio(4) ({tty,cua}d), sx ({tty,cua}G), uart(4) ({tty,cua}u), ubser(4) ({tty,cua}y), ucom(4) ({tty,cua}U), y ucycom(4) ({tty,cua}y) han sido reescritos para usarlo. Añadido el controlador vkbd(4). Este controlador proporciona un mecanismo de loopback por software que puede implementar un teclado AT virtual similar a lo que hace el controlador pty(4) para terminales. FreeBSD utiliza siempre el temporizador APIC local incluso en sistemas uniprocesador. El parámetro HZ por omisión (que controla varios temporizadores del kernel) se incrementado de 100 a 1000 en i386 e ia64. Se ha reducido de 1024 a 1000 en amd64 para reducir los efectos de sincronización con otros relojes del sistema. La longitud máxima de las órdenes del shell ha cambiado de 128 bytes a PAGE_SIZE. Por defecto, este valor es de 4KB (i386, pc98, amd64 y powerpc) o de 8KB (sparc64 y ia64). Añadido un parámetro vm.blacklist. Puede contener una lista de direcciones físicas separadas por espacios o comas. Las páginas que contengan estas direcciones físicas no se añadirán a la lista libre y por tanto serán ignoradas por el sistema FreeBSD VM. Las direcciones físicas de las páginas ignoradas se listan también en el buffer de mensajes. Cambios en el cargador de arranque Añadida una versión de boot0 apta para consola serie. Puede escribirse en un disco utilizando boot0cfg(8) y especificando /boot/boot0sio como argumento de la opción -b. cdboot soluciona un problema de la BIOS observado en algunos sistemas al arrancar desde unidades de CDROM/USB. Comando autoboot loader soporta el parámetro prompt; y evitará que el usuario interrumpa el proceso de arranque en absoluto si la variable autoboot_delay se establece en -1. Añadida opción en el menú del cargador para establecer hint.atkbd.0.flags=0x1. Este ajuste permite que los teclados USB funcionen si no hay un teclado PS/2 conectado. Desactivado por defecto el menú de arranque beastie. Soporte de hardware Controlador acpi(4) apaga los dispositivos ACPI y PCI o los pone en un estado de bajo consumo cuando se suspende, y los vuelve a encender cuando se reanuda. Este comportamiento se puede desactivar poniendo a 0 los sysctls debug.acpi.do_powerstate y hw.pci.do_powerstate. Añadido controlador acpi_ibm(4) para portátiles IBM. Proporciona soporte para varias teclas de acceso rápido y lectura del estado del ventilador y sensores térmicos. Añadido controlador acpi_fujitsu(4) para manejar botones controlados por acpi(4) en portátiles Fujitsu. Añadido controlador acpi_sony, que soporta el Sony Notebook Controller en varios portátiles Sony. Controladores atkbdc(4), atkbd(4) y psm(4) se han reescrito de forma más independiente del bus, y soportan el EBus que se encuentra en la plataforma sparc64. Añadido un marco para el control flexible de la velocidad del procesador. Proporciona métodos para que varios controladores controlen la utilización de energía de la CPU ajustando la velocidad del procesador. Añadido subsistema crypto(9) soporte para el coprocesador de seguridad PadLock en procesadores VIA C3. Añadido controlador del contador de monitorización del rendimiento del hardware hwpmc(4). Este controlador virtualiza las facilidades de monitorización del rendimiento del hardware en las CPUs modernas y proporciona soporte para utilizar estas facilidades desde procesos a nivel de usuario. Añadido controlador pcii para soportar tarjetas GPIB-PCIIA IEEE-488. Controlador atkbd(4) soporta una bandera 0x8 (bit 3) para deshabilitar la comprobación del puerto de teclado durante el sondeo del dispositivo, ya que esto puede causar cuelgues en algunas máquinas, específicamente en los portátiles amd64 de la serie Compaq R3000Z. Añadido controlador pbio(4), que permite el acceso directo al chip Intel 8255A de interfaz periférica programable (PPI) que funciona en modo 0 (E/S simple). Controlador psm(4) ha mejorado su compatibilidad con los usuarios del panel táctil Synaptics. Tiene un mejor seguimiento del movimiento a baja velocidad y soporte para varios botones y diales adicionales. Estas características pueden ajustarse con la jerarquía hw.psm.synaptics.* de variables sysctl. Controlador syscons(4) soporta los modos VESA (15, 16, 24 y 32 bits). Para habilitar esta función, se necesitan dos opciones del kernel SC_PIXEL_MODE y VESA (o el módulo del kernel correspondiente). Controlador uftdi(4) es compatible con el chip FTDI FT2232C. Controlador uplcom(4) soporta el manejo de la señal CTS. Soporte multimedia Controlador snd_csa(4) soporta la operación de suspensión y reanudación. Controlador uaudio(4) tiene algunas funcionalidades añadidas, incluyendo control de volumen en más entradas y capacidad de grabación en algunos dispositivos. Interfaz de red Controlador ath(4) se ha actualizado para dividir el algoritmo de control de velocidad de transmisión en un módulo independiente. Al utilizar el controlador ath(4), debe incluirse en la configuración del núcleo uno de los siguientes dispositivos: device ath_rate_onoe, device ath_rate_amrr o device ath_rate_sample. Controlador bge(4) soporta el framework altq(4), así como los chips BCM5714, 5721, 5750, 5751, 5751M y 5789. Añadido controlador Ethernet de clase de dispositivo de comunicación USB cdce(4). Controlador cp(4), ctau(4), de(4), ed(4), hme(4) y cx(4) están dentro de MPSAFE. Controlador dc(4) soporta el framework altq(4) y está dentro de MPSAFE. Controlador ed(4) soporta el framework altq(4). Controlador em(4), el soporte de hardware para el etiquetado VLAN está desactivado por defecto debido a algunas interacciones entre esta característica y el modo promiscuo. El control de flujo Ethernet está deshabilitado por defecto en el controlador fxp(4), para prevenir problemas en una subred cuando un sistema entra en pánico o se deja en el depurador del núcleo. Controlador gx(4) ha sido eliminado porque ya no se mantiene activamente y el controlador em(4) soporta todo el hardware soportado. Controladores ipw(4) (para Intel PRO/Wireless 2100), iwi(4) (para Intel PRO/Wireless 2200BG/2225BG/2915ABG), ral(4) (para Ralink Technology RT2500), y ural(4) Protocolos de red Desactivada la retroalimentación de MTU en IPv6 cuando el remitente escribe datos que deben fragmentarse. Añadida la implementación de puentes de red if_bridge(4), originalmente de NetBSD. Soporta el protocolo IEEE 802.1D Spanning Tree, dispositivos de interfaz individuales para cada puente y filtrado de paquetes puenteados. La utilidad ifconfig(8) soporta ahora la configuración de if_bridge(4). Opción IPDIVERT de ipfw(4) está disponible como módulo cargable en el núcleo. Si este módulo no está cargado, ipfw(4) se negará a instalar reglas de desvío y natd(8) devolverá el mensaje de error "protocolo no soportado". Sistema ipfw(4) puede funcionar con debug.mpsafenet=1 (este sintonizable es 1 por defecto) cuando se utilizan las opciones de regla gid, jail, y/o uid. Los sistemas ipfw(4) y dummynet(4) soportan IPv6. ipfw(8) soporta la clasificación y etiquetado de paquetes altq(4) a través de un socket de desvío. También es posible especificar reglas que coincidan con paquetes[ TCP con tamaños específicos de carga útil. La regla ipfw(8) ipfw fwd soporta la manipulación completa del destino del paquete cuando se especifica la opción del kernel options IPFIREWALL_FORWARD_EXTENDED además de options IPFIRWALL_FORWARD. Esta opción del kernel desactiva todas las restricciones para asegurar un comportamiento adecuado para los paquetes generados localmente y permite la redirección de paquetes destinados a direcciones IP configuradas localmente. El sistema ipfw(8) soporta reglas sólo IPv4. Biblioteca libalias ahora se puede construir como un módulo del núcleo. Las notificaciones de cambio de estado de enlace de las interfaces de red se envían a /dev/devctl. Un nuevo nodo NetGraph ng_ipfw(4) proporciona una interfaz sencilla entre las instalaciones ipfw(4) y netgraph(4). Añadido un nuevo nodo ng_nat(4) NetGraph para realizar funciones NAT. Un nuevo nodo NetGraph ng_netflow(4) permite a un router que ejecute FreeBSD realizar exportaciones NetFlow versión 5. Añadido un nuevo nodo NetGraph ng_tcpmss(4). Permite modificar las opciones MSS de los paquetes TCP. Controlador sppp(4) incluye soporte para Frame Relay. Controlador sppp(4) es MPSAFE. La tabla de encaminamiento de FreeBSD requiere ahora que las pasarelas para las rutas sean de la misma familia de direcciones que la propia ruta. La utilidad route(8) ahora rechaza una combinación de diferentes familias de direcciones. Implementado sysctl net.link.tap.user_open. Esto permite el acceso sin privilegios a los nodos de dispositivo tap(4) basándose en los permisos del sistema de archivos. Mejorado el manejo de RST de la pila TCP de FreeBSD para dificultar al máximo los ataques de reinicio manteniendo la compatibilidad con la más amplia gama de pilas TCP. El algoritmo es el siguiente: Para conexiones en el estado ESTABLISHED, sólo los reinicios con números de secuencia que coincidan exactamente con last_ack_sent causarán un reinicio; todos los demás segmentos serán descartados silenciosamente. Los sockets de dominio Unix soportan ahora las opciones LOCAL_CREDS y LOCAL_CONNWAIT. La opción LOCAL_CREDS proporciona un mecanismo para que el receptor reciba las credenciales del proceso como un mensaje de control recvmsg(2). La opción LOCAL_CONNWAIT hace que la función connect(2) se bloquee hasta que accept(2) haya sido llamada en el socket de escucha. Discos y almacenamiento Controlador amr(4) es seguro para su uso en sistemas que utilizan pae(4). Añadido controlador arcmsr(4). Soporta las series Areca ARC-11xx y ARC-12xx de controladores SATA RAID. La familia de controladores ata(4) revisada y actualizada. Se ha dividido en módulos que pueden cargarse y descargarse independientemente (los módulos atapci y ata son prerrequisitos para los subdrivers de dispositivo, que son atadisk, atapicd, atapifd, atapist y ataraid). En las controladoras SATA compatibles, los dispositivos se pueden insertar/extraer en caliente. La compatibilidad con RAID ATA se ha reescrito y admite una serie de nuevos formatos de metadatos. El controlador atapicd ya no admite cambiadores de CD. Esta actualización se ha denominado "ATA mkIII". Añadido la clase SHSEC GEOM. Permite compartir un secreto entre varios proveedores de GEOM. Todos estos proveedores deben estar presentes para revelar el secreto. Esta función está controlada por la utilidad gshsec(8). Añadido una nueva función de cifrado de disco basada en GEOM, GEOM_ELI. Utiliza el framework crypto(9) para la aceleración por hardware y soporta diferentes algoritmos criptográficos. Añadido el controlador hptmv(4), que soporta la serie HighPoint RocketRAID 182x. Controlador ips(4) soporta kernel crash dumps en algunos modelos ServeRAID modernos. El retardo de la sonda SCSI de arranque por defecto en el kernel GENERIC se ha reducido de quince a cinco segundos. Controlador twa(4) se ha actualizado a la versión 9.2 (para FreeBSD 5.2.1) distribuida desde el sitio web de 3ware. La información sobre sistemas de ficheros cd9660 recién montados (como la presencia de extensiones RockRidge) ahora sólo se imprime si el núcleo se ha arrancado en modo verbose. Este cambio se realizó para reducir la cantidad de mensajes de registro del núcleo (generalmente innecesarios). Sistemas de archivos El recálculo de la información de resumen para sistemas de archivos UFS y UFS2 "sucios" no se realiza en el momento del montaje, sino que se realiza mediante fsck(8) en segundo plano. Este cambio mejora la velocidad de inicio al montar sistemas de archivos grandes después de un fallo. Añadido soporte de sólo lectura para la versión 3 de ReiserFS. Software contribuido ACPI-CA ha sido actualizado de 20040527 a 20041119. Cambios en Userland Añadidas las herramientas bsdiff(1) y bspatch(1) para la diferenciación y parcheado de binarios. La utilidad burncd(8) permite que los comandos (como eject) tengan lugar después de fijar un disco. La utilidad chflags(1) soporta la bandera -h, que permite cambiar banderas en enlaces simbólicos. El programa env(1) admite la bandera -v para escribir la orden en el error estándar antes de ejecutarla. El programa env(1) soporta una opción de cadena -S para dividir la cadena y pasarla al comando como los argumentos de la línea de comandos. El programa env(1) admite una opción -P altpath para establecer la ruta de búsqueda del comando utilizada para buscar el comando. El programa ftpd(8) utiliza correctamente los códigos de estado 212 y 213 para el estado de directorios y ficheros (en las versiones anteriores se utilizaba el 211). Este comportamiento se describe en el RFC 959. El comando create de la utilidad gpt(8) soporta una bandera de línea de comandos -f para forzar la creación de un GPT incluso cuando hay un registro MBR en un disco. La función getaddrinfo(3) consulta los registros de recursos DNS A antes que los registros AAAA cuando se especifica AF_UNSPEC. Algunos servidores DNS rotos devuelven NXDOMAIN contra consultas AAAA inexistentes, incluso cuando deberían devolver NOERROR con registros de retorno vacíos. Esto es un problema para un nodo de pila dual IPv4/IPv6 porque el NXDOMAIN devuelto por la primera consulta de un registro AAAA hace que el servidor que realiza la consulta deje de intentar resolver el registro A si lo hubiera. Las funciones gethostbyname(3), gethostbyname2(3) y gethostbyaddr(3) son seguras para hilos. Las funciones getnetent(3), getnetbyname(3) y getnetbyaddr(3) son ahora seguras para hilos. Las funciones getprotoent(3), getprotobyname(3) y getprotobynumber(3) son ahora seguras para hilos. Las funciones getservent(3), getservbyname(3) y getservbyport(3) son seguras para hilos. La utilidad gvinum(8) soporta los subcomandos checkparity, rebuildparity y setstate. La utilidad ifconfig(8) reestructurada. Es más modular y flexible en lo que respecta al soporte de funcionalidades específicas de interfaz. El soporte 802.11 ha sido actualizado para soportar los cambios recientes en el subsistema 802.11 y los controladores. La utilidad ifconfig(8) soporta el parámetro -tunnel, que no es más que un alias de deletetunnel, pero que resulta más cómodo y fácil de escribir. El parámetro -vlandev de ifconfig(8) no requiere una interfaz de red como argumento. El argumento aún se admite por compatibilidad con versiones anteriores, pero ahora está obsoleto y se desaconseja su uso. Eliminado el soporte para formas abreviadas de algunas opciones de ipfw(8). Se imprimen advertencias en stderr indicando la forma completa correcta cuando se detecta una de estas abreviaturas. La utilidad kldstat(8) soporta una opción -m para devolver el estado de un módulo específico del núcleo. Cambiado el formato en disco de los archivos LC_CTYPE para que sean independientes de la máquina. libkvm admite volcados de memoria ELF en plataformas amd64 e i386, volcados de memoria de gran tamaño (más de 4 GB) en plataformas de 32 bits y volcados de memoria PAE en plataformas i386. La utilidad mixer(8) ahora la opción -S. Es igual que la opción -s, pero no muestra los separadores de los campos de mezcla. Biblioteca libarchive (así como el comando tar(1) que la utiliza) soporta la lectura de imágenes ISO (con extensiones RockRidge opcionales) y archivos ZIP (con compresión deflate y ninguna). La librería libarchive soporta el manejo de una entrada de archivo ZIP con más de 4GB de tamaño comprimido (extensión ZIP64) y extensión Unix. La librería libgpib añadida para dar acceso al usuario a dispositivos GPIB (usando el driver pcii) a través de la API ibfoo. Incrementados los tamaños de pila por defecto en libpthread, libthr y libc_r. En plataformas de 32 bits, el hilo principal recibe un tamaño de pila de 2MB por defecto, con otros hilos recibiendo un tamaño de pila de 1MB por defecto. En plataformas de 64 bits, los tamaños de pila por defecto son 4MB y 2MB respectivamente. [FUSIONADO] El programa lpd(8) comprueba que el fichero de datos ha sido completamente transferido antes de comenzar a imprimirlo cuando se recibe un fichero de datos de algún otro host. Algunas implementaciones de lpr(1) envían el fichero de control para un trabajo de impresión antes de enviar los ficheros de datos correspondientes, lo que puede causar problemas si el host receptor es un servidor de impresión ocupado. Se han implementado varias funciones nuevas en la biblioteca math(3). Estas incluyen ceill(3), floorl(3), ilogbl(3), fma(3) y variantes, lrint(3) y variantes, y lround(3) y variantes. Añadida la utilidad mkuzip(8), que comprime imágenes de sistemas de ficheros para su uso con el módulo GEOM_UZIP geom(4). El daemon moused(8) soporta "desplazamiento virtual", en el que los movimientos del ratón realizados mientras se mantiene pulsado el botón central del ratón se interpretan como desplazamiento. Esta característica se activa con la opción -V. Añadido un directorio separado para las zonas dinámicas named(8) que es propiedad del usuario bind (para la creación del archivo de diario de zonas). La utilidad ncal(1) soporta una bandera -m para generar un calendario para un mes especificado en el año actual. La utilidad newfs(8) soporta una bandera -n para suprimir la creación de un directorio .snap en nuevos sistemas de ficheros. Esta característica está pensada para su uso en sistemas de ficheros de memoria o vnode que no requieran soporte de snapshot. La utilidad newfs(8) emite una advertencia cuando se crea un sistema de ficheros UFS o UFS2 que no admite instantáneas. Esta situación puede darse en el caso de sistemas de archivos muy grandes con tamaños de bloque pequeños. La utilidad newsyslog(8) soporta una opción -d para especificar una raíz alternativa para los ficheros de registro similar a DESTDIR en el proceso make de BSD. Esto sólo afecta a las rutas de los ficheros de registro, no a las rutas de los ficheros de configuración (-f) o de los directorios de archivo (-a). La utilidad newsyslog(8) soporta una opción -N que hace que no rote ningún fichero. Añadido el botón de compilación NO_NIS para userland. Como su nombre indica, activar esta variable de Makefile hará que se excluya el soporte NIS de varios programas y hará que no se compilen las utilidades NIS. Durante años FreeBSD ha usado variables Makefile de la forma NOFOO y NO_FOO. Por coherencia, las variables que utilizan la antigua convención de nomenclatura se han convertido a la forma NO_FOO. El fichero /usr/share/mk/bsd.compat.mk tiene una lista completa de estas variables; también implementa cierta retrocompatibilidad temporal para los nombres antiguos. La salida de seguridad de periodic(8) soporta la visualización de información sobre recuentos de paquetes bloqueados de pf(4). El comando pgrep(1) soporta una opción -S que permite emparejar procesos del sistema (hilos del núcleo). Los comandos pgrep(1) y pkill(1) soportan una opción -F, que permite coincidir con un proceso cuyo PID está almacenado en un archivo; soportan una opción -i para ignorar mayúsculas y minúsculas en la coincidencia de procesos; soportan una opción -j que busca procesos basados en su ID jail(2); y soportan una opción -o que busca sólo el proceso más antiguo (el iniciado más recientemente). Añadida la utilidad portsnap(8) para descargar, actualizar y extraer instantáneas comprimidas del árbol de ports de FreeBSD. Añadido el programa powerd(8) para gestionar el consumo de energía. El programa ppp(8) implementa un parámetro echo, que permite habilitar LCP ECHOs independientemente de los informes LQR. Las versiones anteriores de ppp(8) volvían al modo LCP ECHO en caso de fallo en la negociación. Ahora es necesario especificar enable echo para obtener este comportamiento. Las opciones disable NAS-IP-Address y disable NAS-Identifier, que soportan servidores RADIUS pre-RFC 2865 añadidas al programa ppp(8). La utilidad ps(1) soporta una palabra clave jid en la opción -o. Muestra el ID jail(2) de cada proceso. El programa pstat(8) soporta una opción -h para imprimir tamaños de swap con prefijos SI como K, M y G, que se usan para formar múltiplos binarios. Las utilidades rescue(8) del directorio /rescue incluyen bsdtar(1) en lugar de GNU tar. La utilidad restore(8) ha recuperado la capacidad de leer cintas de volcado de la versión 1 de FreeBSD. Se ha corregido un error de la utilidad rexecd(8) que hacía que se comportara como si la opción -i estuviera siempre especificada. [FUSIONADO] La utilidad rm(1) soporta una opción -I que pide confirmación (una vez) si se eliminan directorios recursivamente o si se listan más de 3 ficheros en la línea de órdenes. La utilidad rm(1) suprime los mensajes de diagnóstico cuando intenta eliminar un directorio inexistente con las opciones -r y -f especificadas. Este comportamiento es requerido por la Versión 3 de la Especificación UNIX Única (SUSv3). Implementadas las siguientes funciones estándar ISO/IEC 9899:1999: roundl, lroundl, llroundl, truncl, y floorl. Añadida una función de biblioteca rpmatch(3) para comprobar si una cadena es una respuesta afirmativa o negativa en la configuración regional actual. El enlazador dinámico rtld(1) soporta especificar reemplazos de librerías a través de la variable de entorno LD_LIBMAP. Esta variable anulará las entradas en libmap.conf(5). sed(1) soporta una opción -l para hacer que su salida sea con búfer de línea. La función strftime(3) soporta algunas extensiones GNU como - (sin relleno), _ (usa espacio como relleno) y 0 (relleno cero). La función syslog(3) es segura para hilos. La utilidad syslogd(8) abre un socket de dominio adicional (/var/run/logpriv por defecto), con permisos 0600 para ser utilizado por programas privilegiados. Esto evita que los programas privilegiados se bloqueen cuando los sockets de dominio se queden sin espacio en el búfer debido a un ataque local de denegación de servicio. syslogd(8) soporta la opción -S, que cambia la ruta del socket privilegiado. Esto es útil para evitar que el demonio reciba mensajes de los sockets locales (/var/run/log y /var/run/logpriv se utilizan por defecto). La utilidad syslogd(8) permite los caracteres : y % en las especificaciones del nombre de host. Estos caracteres se utilizan en direcciones IPv6 e IDs de ámbito. La pantalla systat(1) -netstat ahora compatible con IPv6. La opción -f de la utilidad tail(1) soporta más de un archivo a la vez. Los programas telnet(1) y telnetd(8) soportan la opción -S para especificar un byte TOS numérico. Anteponiendo un carácter + a los números de puerto pasados al programa telnet(1) se desactivará la negociación de opciones y se permitirá la transferencia de caracteres con el bit alto activado. Esta característica está pensada para soportar el uso bastante común de telnet(1) como comprobador de protocolos. Añadido el comando tcpdrop(8), que cierra una conexión TCP seleccionada. Se ha obtenido de OpenBSD. what(1) soporta una bandera -q, que hace que imprima el texto coincidente, pero no lo formatea. whois(1) soporta una bandera -k para consultar whois.krnic.net (la Agencia Nacional de Desarrollo de Internet de Corea), que contiene detalles de las asignaciones de direcciones IP dentro de Corea. La opción -I del comando xargs(1) ha sido modificada para cumplir con el estándar IEEE 1003.1-2004. La norma exige que los argumentos construidos no puedan superar los 255 bytes. Añadido un usuario/grupo de sistema _dhcp para soportar dhclient(8) de OpenBSD. Scripts /etc/rc.d Añadido el script de inicio rc.d/bsnmpd para bsnmpd(1). El script de inicio rc.d/jail soporta la variable jail_name_flags que permite especificar flags de jail(8). rc.conf(5) ahora soporta cambios de nombres de interfaces de red en tiempo de arranque. El script rc.d/moused inicia/para/comprueba un dispositivo específico cuando el nombre del dispositivo se da como segundo argumento al script: rc.conf(5) ahora las variables tmpmfs_flags y varmfs_flags. Éstas pueden usarse para pasar opciones extra a la utilidad mdmfs(8), para personalizar los detalles más finos de la creación del sistema de ficheros md(4), como activar/desactivar las actualizaciones automáticas, especificar un propietario por defecto para el sistema de ficheros, etc. Los siguientes scripts han sido eliminados porque eran específicos de NetBSD y nunca se usaron en FreeBSD: altqd, dhcpd, dhcrelay, downinterfaces, gated, ifwatchd, kdc, lkm1, lkm2, lkm3, mixerctl, mopd, mountall, ndbootd, network, poffd, postfix, ppp, racoon, raidframe, rbootd, rtsold, screenblank, swap2, sysdb, wscons, xdm y xfs. Infraestructura de Ports Collection/paquetes La utilidad pkg_create(1) admite la opción -R. Al crear un archivo de paquete a partir del paquete instalado localmente, crea archivos de paquete para todos los paquetes de los que depende el paquete instalado localmente si se especifica esta opción. La utilidad pkg_version(1) admite la opción -q para suprimir la salida de los caracteres de comparación de la versión del puerto <, = y >. La utilidad pkg_version(1) admite una bandera -I, que hace que sólo se utilice el archivo INDEX para determinar si un paquete está desactualizado. Los ficheros ports/INDEX*, que mantenían un índice de todas las entradas de FreeBSD Ports, han sido eliminados del repositorio CVS. Ingeniería de versiones e integración GNOME actualizada de 2.6.2 a 2.10.2. KDE actualizada de 3.3.0 a 3.4.2. Xorg actualizada de 6.7.0 a 6.8.2. |
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 6.1 | • Lanzamiento: 8/05/2006 • Soporte hasta: 31/05/2008 Cambios en el núcleo El depurador ddb(4) soporta el comando show lock. Si el argumento tiene una clase de bloqueo válida, muestra diversa información sobre el bloqueo y llama a un nuevo puntero de función en lock_class (lc_ddb_show) para volcar también información específica de la clase sobre el bloqueo (como el propietario de un bloqueo mutex o xlock'ed sx). Añadido los archivos de configuración del kernel DEFAULTS para cada plataforma. Añadido el subsistema firmware(9). Esto permite cargar datos binarios en el kernel a través de un módulo especialmente diseñado. Controlador del dispositivo de entropía random(4) es MPSAFE. Añadida una variable sysctl security.mac.biba.interfaces_equal que hace que todas las interfaces de red se creen con la etiqueta biba/equal(igual-igual). Esto es útil cuando programas como dhclient(8) y ppp(8). que inicializan interfaces de red no tienen soporte de etiquetado. Esta variable está configurada como 0(disabled) por defecto. Cambios en el cargador de arranque Añadido un nuevo sintonizable del cargador comconsole_speed para cambiar la velocidad de la consola serie. Si el cargador de arranque de la etapa anterior solicitó una consola serie, entonces la velocidad predeterminada se determina a partir de la velocidad actual del puerto serie, y de lo contrario se establece en 9600 o el valor de la opción del kernel BOOT_COMCONSOLE_SPEED en tiempo de compilación. Soporte de hardware Controlador acpi_thermal(4) soporta refrigeración pasiva. Añadido controlador ce(4), compatible con los adaptadores Cronyx Tau-PCI/32. Controlador kbdmux(4) se ha integrado en syscons(4) y en el controlador de dispositivo kbd. Controlador kbdmux(4) se ha incluido por defecto en el kernel GENERIC. También se ha eliminado la opción "Arrancar FreeBSD con teclado USB" del menú del gestor de arranque, ya que esto soluciona los problemas de sondeo del teclado USB. Soporte multimedia Controlador agp(4) es compatible con los chipsets IGP de ATI. Controlador sound(4) actualizado en varios aspectos, entre ellos la corrección de errores relacionados con el bloqueo que podían provocar pánicos en el sistema en versiones anteriores y algunas mejoras de rendimiento. Además, este controlador admite una frecuencia de muestreo más amplia, la elección de múltiples precisiones y la conversión de formatos PCM de 24/32 bits. Añadido controlador snd_atiixp(4). Es compatible con los controladores de audio de las series ATI IXP 200/300/400. Controladores snd_als4000(4), snd_es137x(4), snd_ich(4), snd_solo(4), snd_via8233(4) y snd_via82c686(4) están en MPSAFE. Soporte de interfaz de red Controlador ath(4) se ha actualizado a la versión 0.9.16.16. Añadido controlador bce(4), compatible con las controladoras PCI/PCIe Gigabit Ethernet Broadcom NetXtreme II (BCM5706/BCM5708). Controlador bge(4) soporta el modo polling(4). Controlador em(4) soporta arquitecturas big-endian como sparc64. Controlador le(4), que soporta las NICs AMD Am7900 LANCE y Am79C9xx PCnet y está basado en la implementación de NetBSD. Aunque el controlador lnc(4) también soporta estas NICs, este controlador tiene varias ventajas sobre él como MPSAFE, ALTQ, VLAN_MTU, ifmedia y DMA de 32 bits para variantes PCI. Controlador lge(4) está en MPSAFE. Protocolos de red El algoritmo de retransmisión arp(8) se ha reescrito de forma que las peticiones ARP se retransmitan sin supresión, mientras exista demanda para dicha entrada ARP. arp(8) soporta una variable sysctl net.link.ether.inet.log_arp_permanent_modify para suprimir el registro de intentos de modificación de entradas ARP permanentes. Controlador de puentes if_bridge(4) soporta la creación de puertos span, que transmiten una copia de cada trama recibida por el puente. Esta función puede activarse mediante ifconfig(8). Controlador de puentes if_bridge(4) soporta RFC 3378 EtherIP. Este cambio permite añadir interfaces gif(4) a los puentes, que enviarán y recibirán paquetes de protocolo IP 97. Los paquetes son tramas Ethernet con una cabecera EtherIP añadida. Los paquetes son tramas Ethernet con una cabecera EtherIP añadida. El filtro de paquetes IP ipfw(4) soporta IPv6. El filtro de paquetes ip6fw(8) está obsoleto y se eliminará en futuras versiones. ipfw(4) soporta la sustitución del argumento action por el valor obtenido de la búsqueda en la tabla, lo que permite cierta optimización de los conjuntos de reglas. Esto es aplicable sólo a las reglas pipe, queue, divert, tee, netgraph y ngtee. Corregido error por el que NFS sobre TCP no se reconectaba cuando el servidor enviaba un FIN. Este problema se había producido con servidores NFS Solaris. El nodo Netgraph ng_iface(4) soporta altq(4). El descubrimiento de la MTU de la ruta para paquetes multicast en la pila ip6(4) de FreeBSD se ha deshabilitado por defecto porque la notificación de la MTU de la ruta por parte de muchos routers en multicast puede ser una especie de ataque distribuido de denegación de servicio a un router. Esta característica puede volver a activarse utilizando una nueva variable sysctl net.inet6.ip6.mcast_pmtu. La función de limitación del producto ancho de banda-retardo TCP se ha desactivado cuando el RTT está por debajo de un determinado umbral. Esta optimización no tiene sentido en una LAN, ya que tiene problemas para calcular el ancho de banda máximo debido a la granularidad gruesa del tick. Una nueva variable sysctl net.inet.tcp.inflight.rttthresh especifica el umbral en milisegundos por debajo del cual se desactivará esta función. Por defecto es de 10 ms. Discos y almacenamiento Mejorado el rendimiento del controlador amr(4) y soporta DMA de 64 bits. Aunque esta función está activada por defecto, se puede desactivar configurando la opción hw.amr.force_sg32 loader tunable con fines de depuración. Controlador amr(4) soporta las peticiones ioctl(2) necesarias para las herramientas LSI MegaRaid de Linux en el entorno de emulación Linux de FreeBSD. Controlador ata(4) soporta una solución para algunas controladoras cuyo DMA no funciona correctamente en modo 48bit. Para las controladoras sospechosas se utilizará el modo PIO para acceder a áreas de más de 137GB. Controlador ata(4) es compatible con el controlador IDE ITE IT8211F y los chips Promise PDC40718 y PDC40719 que se encuentran en Promise Fasttrak TX4300. Controlador ata(4) soporta DMA para volcado de fallos del núcleo y volcado de fallos al dispositivo ataraid(4). Controlador ataraid(4) admite metadatos RAID ATA JMicron. La clase GEOM_LABEL es compatible con Ext2FS, NTFS y ReiserFS. La clase GEOM_MIRROR soporta el volcado de fallos del kernel a los proveedores GEOM. Las clases GEOM_MIRROR y GEOM_RAID3 soportan las variables sysctl kern.geom.mirror.disconnect_on_failure y kern.geom.graid3.disconnect_on_failure para controlar si los componentes fallidos serán desconectados o no. El valor por defecto es 1 para preservar el comportamiento actual, y si se establece en 0 dichos componentes no se desconectan y el núcleo intentará seguir utilizándolos (sólo se registrará el primer error). Esto es útil para el caso de múltiples componentes rotos (en diferentes lugares), por lo que en realidad todos los datos están disponibles. Los componentes rotos serán visibles en la lista gmirror o en la lista graid3 con la bandera BROKEN. Las clases GEOM_MIRROR y GEOM_RAID3 utilizan peticiones de E/S paralelas para la sincronización con el fin de mejorar el rendimiento. Las nuevas variables sysctl kern.geom.mirror.sync_requests y kern.geom.raid3.sync_requests definen cuántas peticiones de E/S paralelas deben utilizarse. Además, las variables sysctl kern.geom.mirror.reqs_per_sync, kern.geom.mirror.syncs_per_sec, kern.geom.raid3.reqs_per_sync y kern.geom.raid3.syncs_per_sec están obsoletas y se han eliminado. Añadida una clase GEOM GEOM_ZERO. Crea un proveedor muy grande (41PB) /dev/gzero y principalmente para pruebas de rendimiento. En BIO_READ solicitud que cero-llena bio_data y en BIO_WRITE no hace nada. Controlador twa(4) se ha actualizado a la versión 9.3.0.1 en el sitio web de 3ware. Geli(8) soporta la carga de ficheros de claves antes de que se monte el sistema de ficheros raíz. Añadido el controlador mfi(4), compatible con la familia de controladores LSI MegaRAID SAS. Añadido el controlador rr232x(4), compatible con la serie de controladoras RAID RocketRAID 232x de HighPoint. Software aportado DRM se ha actualizado a una instantánea de DRI CVS a partir de 20051202. Cambios en la Userland La utilidad bsnmpd(1) soporta la MIB de Recursos de Host descrita en RFC 2790. La utilidad config(8) soporta la directiva nocpu, que anula el efecto de una directiva cpu anterior; y lee el archivo de configuración del kernel DEFAULTS si existe en el directorio actual antes que el archivo de configuración especificado. La utilidad csh(1) soporta el catálogo NLS. Tenga en cuenta que esto requiere la instalación del puerto shells/tcsh_nls. La utilidad devd(8) admite la opción -f para especificar un archivo de configuración. La utilidad ln(1) soporta una opción -F que permite eliminar directorios vacíos existentes al crear enlaces simbólicos. La utilidad locate(1) soporta una bandera -0 para hacer esta utilidad interoperable con la bandera -0 de xargs(1). La utilidad ls(1) soporta una bandera -I para desactivar la bandera automática -A para el superusuario. La utilidad ftpd(8) crea un archivo PID /var/run/ftpd.pid incluso cuando no se especifica la opción -p. La utilidad getfacl(1) admite un indicador -q para suprimir el comentario de cabecera por archivo que enumera el nombre del archivo, el propietario y el grupo. La utilidad gvinum(8) admite comandos para renombrar objetos y mover un subdisco de una unidad a otra. La utilidad jail(8) soporta la opción -J jid_file para escribir un JidFile, similar a un PidFile, que contiene el jailid, la ruta, el nombre de host, la IP y la orden utilizada para iniciar la jaula. La utilidad kdump(1) soporta la opción -H, que hace que kdump imprima un campo adicional con el threadid (hiloid). El programa kdump(1) admite un indicador -s para suprimir la visualización de datos de E/S. La utilidad mergemaster(8) admite una opción -A para especificar explícitamente una arquitectura que pasar a los makefiles subyacentes. El demonio moused(8) admite una opción -H para activar el desplazamiento virtual horizontal, similar a la opción -V para el desplazamiento virtual vertical. La utilidad netstat(1) soporta la impresión de estadísticas del protocolo ipsec(4) si el kernel fue compilado con FAST_IPSEC en lugar de la pila KAME IPSEC. Tenga en cuenta que la salida de netstat -s -p ipsec varía en función de la pila que se haya compilado en el kernel, ya que cada una mantiene estadísticas diferentes. El script diario periodic(8) permite mostrar el estado de los dispositivos gmirror(8), graid3(8), gstripe(8) y gconcat(8). Tenga en cuenta que están desactivados por defecto. Se ha implementado en libutil una nueva función, pidfile(3), que proporciona un manejo fiable de pidfiles. El rfcomm_sppd(1) soporta nombre de servicio además de la opción -c con número de canal. Los nombres soportados son: DUN (Dial-Up Networking), FAX (Fax), LAN (LAN Access Using PPP), y SP (Serial Port). Añadida la utilidad snapinfo(8), que muestra las ubicaciones de las instantáneas en sistemas de archivos UFS. Se ha implementado la función de biblioteca strtonum(3) basándose en la implementación de OpenBSD. Se trata de una versión mejorada de strtoll(3). Scripts /etc/rc.d: Se ha añadido el script bluetooth. Este script será llamado desde devd(8) en respuesta a eventos de conexión/desconexión del dispositivo y para parar/arrancar un dispositivo concreto sin tener que desconectarlo a mano. Los parámetros de configuración están en /etc/defaults/bluetooth.device.conf, y pueden ser anulados usando /etc/bluetooth/$device.conf (donde $device es ubt0, btcc0, etc.) Para más detalles, ver bluetooth.conf(5). Añadidos los scripts hcsecd y sdpd para los demonios hcsecd(8) y sdpd(8). Estos demonios pueden ejecutarse incluso si no hay dispositivos Bluetooth conectados al sistema, pero ambos demonios dependen de la capa de sockets Bluetooth y, por tanto, están deshabilitados por defecto. La capa de sockets Bluetooth debe cargarse como módulo o compilarse en el kernel antes de que los demonios puedan ejecutarse. Añadido el script hostapd para hostapd(8). El script jail soporta la opción jail_interface y la opción jail_jid_interface que crean un alias IP en la interfaz dada. El script netif soporta ipv4_addrs_ifn, que añade una o más direcciones IPv4 de una lista en notación CIRD. El script ppp-user renombrado a ppp. Infraestructura de Ports Collection/paquetes La orden pkg_add(1) admite la opción -P, que es igual que la opción -p excepto en que el prefijo dado también se utiliza recursivamente para los paquetes dependientes, si los hay. Las utilidades pkg_add(1) y pkg_create(1) soportan una bandera -K para guardar paquetes en el directorio actual (o PKGDIR si está definido) por defecto. El programa pkg_create(1) admite una opción -x para admitir expresiones regulares básicas para el nombre del paquete, una opción -E para expresiones regulares extendidas y una -G para coincidencias exactas. La utilidad pkg_version(1) soporta una bandera -o para mostrar el origen registrado en la generación del paquete en lugar del nombre del paquete, y una bandera -O para listar paquetes cuyo origen registrado es sólo origen. La utilidad portsnap(8) (sysutils/portsnap) ha sido añadida al sistema base de FreeBSD. Se trata de una forma segura, fácil de usar, rápida, ligera y, en general, buena para que los usuarios mantengan actualizados sus árboles de ports. Los scripts de inicio del directorio local_startup se evalúan utilizando rcorder(8) con scripts en el sistema base. Se ha eliminado el sufijo de los scripts de inicio de la Colección de Ports. Esto significa que foo.sh pasa a llamarse foo, y también se invocarán los scripts cuyo nombre sea algo así como foo.ORG. Se recomienda reinstalar los paquetes que instalan dichos scripts y eliminar los archivos adicionales en el directorio local_startup. Se han añadido nuevas variables rc.conf, ldconfig_local_dirs y ldconfig_local32_dirs. Contienen listas de directorios locales de ldconfig(8). La orden @cwd de pkg-plist no permite ningún argumento de directorio. Si no se da ningún argumento de directorio, se establecerá el directorio de trabajo actual en el primer prefijo dado por la orden @cwd. Ingeniería de lanzamiento e integración Añadido el directorio /var/audit y el grupo audit. Estos son para la distribución TrustedBSD OpenBSM, que será importada en futuras versiones. GNOME (x11/gnome2) se ha actualizado de 2.10.2 a 2.12.3. KDE (x11/kde2) se ha actualizado de 3.4.2 a 3.5.1. Intérprete Perl (lang/perl5.8) se ha actualizado de 5.8.7 a 5.8.8. Xorg (x11/xorg) ha sido actualizada de 6.8.2 a 6.9.0. |
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 6.2 | • Lanzamiento: 15/01/2007 • Soporte hasta: 31/05/2008 Cambios en el núcleo La auditoría de eventos de seguridad está soportada en el núcleo de FreeBSD, y se activa mediante la opción de configuración del kernel AUDIT. Puede encontrar más información en la página del manual audit(4). En lugar de incluir toda la memoria física en un volcado de fallos del núcleo, el núcleo volcará por defecto sólo las páginas que estén mapeadas activamente en la memoria virtual del núcleo. Esta funcionalidad requiere que la nueva variable sysctl debug.minidump se establezca en 1. Añadidas varias soluciones para errores en la capa tty(4); estos cambios evitan una variedad de pánicos del núcleo observados. Corregido un error en el código de mantenimiento de estadísticas del asignador de memoria UMA del núcleo. Esto provocaba un aumento erróneo del recuento de fallos de asignación de memoria (mostrado por netstat -m). FreeBSD funciona en Xbox, cuya arquitectura es casi idéntica a la del i386. Cambios en el cargador de arranque Corregido un error en el gestor de arranque i386, que podía provocar la corrupción del sistema de archivos si se utilizaba un archivo nextboot.conf y aterrizaba después del cilindro 1023. Soporte de hardware Aadido el controlador amdsmb(4). Proporciona soporte para el controlador AMD-8111 SMBus 2.0. Mejorada la compatibilidad con el denominado hardware "sin legado", en particular, los sistemas i386 sin controladores de teclado de tipo AT, como el MacBook Pro. Añadido ipmi(4), un controlador compatible con OpenIPMI. OpenIPMI (Intelligent Platform Management Interface) es un estándar abierto diseñado para permitir la supervisión y el control remotos de plataformas de servidores, redes y telecomunicaciones. Añadido al subsistema crypto(9) soporte para el coprocesador de seguridad PadLock en los procesadores VIA C3, Eden y C7. Encontrará más información en la página del manual de padlock(4). Añadido el controlador nfsmb(4), compatible con el controlador SMBus 2.0 nForce 2/3/4 de NVIDIA. Soporte de interfaz de red Controlador ath(4) se ha actualizado a la versión HAL 0.9.17.2. Controladores ath(4), ath_hal(4) y ath_rate_sample se han incluido por defecto en el kernel GENERIC. Introducidas algunas mejoras en el controlador bce(4) para aumentar su estabilidad. Un aspecto visible para el usuario de estos cambios es que se ha deshabilitado la descarga de sumas de comprobación del lado de transmisión que implican fragmentos IP, porque el hardware no la gestionaba correctamente. Controlador em(4) de Intel se ha actualizado a la versión 6.2.9. Entre otros cambios, añade soporte para una serie de nuevos adaptadores. La compilación del controlador con el símbolo de preprocesador EM_FAST_INTR definido habilitará el procesamiento opcional de "interrupción rápida". Se ha demostrado que el procesamiento de "interrupciones rápidas", tal y como se implementa en esta versión del controlador, produce importantes mejoras de rendimiento en algunos casos, pero en otros se ha relacionado con problemas de estabilidad. Realizdas una serie de mejoras y correcciones de errores en la funcionalidad del controlador iwi(4). Este controlador ahora requiere la imagen de firmware en el puerto/paquete net/iwi-firmware-kmod; las versiones anteriores de este controlador utilizaban el puerto/paquete net/iwi-firmware. Controlador my(4) es compatible con altq(4). Controlador nve(4) se ha actualizado a la versión 1.0-0310 (23-Nov-2005). También es compatible con altq(4). Controlador sk(4) está en MPSAFE. Añadido el controlador stge(4). Soporta el controlador Sundance/Tamarack TC9021 Gigabit Ethernet y fue portado desde NetBSD. Protocolos de red Múltiples copias de un paquete recibido a través de diferentes escuchas bpf(4) tienen ahora idénticas marcas de tiempo. Añadido el pseudodispositivo de filtrado IPsec enc(4). Permite que los paquetes de cortafuegos que utilizan el marco pfil(9) examinen (y filtren) el tráfico IPsec antes del cifrado saliente y después del descifrado entrante. Las variables sysctl net.inet.ip.portrange.reservedhigh y net.inet.ip.portrange.reservedlow pueden utilizarse ahora con IPv6. El filtro de paquetes ipfw(4) soporta las palabras clave de regla tag y untag. Cuando un paquete coincide con una regla con la palabra clave tag, la etiqueta numérica para el número dado en el rango de 0 a 65535 se adjuntará al paquete. La etiqueta actúa como un marcador interno (no se envía a través del cable) que puede ser usado para identificar estos paquetes más tarde, por ejemplo, usando la opción de regla etiquetada. Para más detalles, véase ipfw(8). El nodo Netgraph ng_ether(4) ya no sobrescribe por defecto la dirección MAC de las tramas salientes. Se ha añadido el nodo Netgraph ng_tag(4) para soportar la manipulación de etiquetas mbuf adjuntas a los datos en el núcleo. Añadido soporte para operaciones kqueue(2) al controlador tun(4). FreeBSD 6.1 contenía un error en la implementación de IPv6 que provocaba la impresión de mensajes de error espurios en interfaces punto a punto. Este problema ha sido corregido. Las direcciones IPv6 link-local están ahora habilitadas sólo si ipv6_enable está configurado en rc.conf(5). Se ha corregido un error que impedía que carp(4) funcionara correctamente en algunos entornos IPv6. Discos y almacenamiento Controlador arcmsr(4) actualizado a la versión 1.20.00.13. Controlador ata(4) soporta dispositivos de clase de almacenamiento masivo USB. Controlador ata(4) actualizado para reflejar la versión en FreeBSD CURRENT. geli(8) es ahora capaz de realizar la verificación de la integridad de los datos (autenticación de datos) de los datos cifrados almacenados en disco. Controlador isp(4) actualizado para reflejar la versión en FreeBSD CURRENT. Sistemas de archivos Corregidos varios errores relacionados con el bloqueo en devfs(5). Estas correcciones evitan varias condiciones de bloqueo observadas. Añadido el controlador del pseudo-sistema de ficheros linsysfs(5). Proporciona un subconjunto del sistema de archivos sys de Linux, y es necesario para el correcto funcionamiento de algunos binarios de Linux (como la utilidad LSI MegaRAID SAS). Corregido un bloqueo observado cuando se utilizaban tanto cuotas como instantáneas en un sistema de archivos en FreeBSD 6.1. Corregida una regresión de rendimiento con servidores NFS que ejecutan FreeBSD 6.1, causada por una fuga del bloqueo del núcleo Giant. Cambios en el Userland La utilidad asf(8) ha sido revisada y ampliada. Puede operar a través de varias interfaces, incluyendo kvm(3), que soporta no sólo sistemas en vivo, sino también volcados de crash del núcleo. Añadida las herramientas de usuario de OpenBSM, incluyendo audit(8), auditd(8), auditreduce(1) y praudit(1). Utilidad cp(1) admite la opción -l, que hace que cree enlaces duros a los archivos de origen en lugar de copiarlos. Importada la utilidad csup(1). Se trata de una implementación de un cliente compatible con CVSup escrito en lenguaje C. Programa dhclient(8) envía el nombre del host en las peticiones DHCP si no está especificado en el fichero de configuración. Programa du(1) admite la opción -n, que hace que ignore los archivos y directorios con la opción nodump activada. Programa find(1) admite -Btime y otras primarias relacionadas, que pueden utilizarse para crear expresiones basadas en la hora de creación de un archivo. Añadida la utilidad freebsd-update(8), una herramienta para gestionar las actualizaciones binarias del sistema base de FreeBSD. Utilidad fsdb(8) permite cambiar la hora de nacimiento de los archivos en sistemas de archivos UFS2 mediante el nuevo comando btime. Programa fsdb(8) admite un comando findblk, que encuentra el/los inodo(s) propietario(s) de un bloque de disco específico. Utilidad getent(1) importada de NetBSD. Recupera y muestra información de una base de datos administrativa (como hosts) usando el orden de búsqueda especificado en nsswitch.conf(5). Utilidad id(1) ahora admite un indicador -A para imprimir las propiedades de auditoría del proceso, incluido el identificador de usuario de auditoría. Utilidad iostat(8) admite un indicador -x (inspirado en Solaris) para imprimir estadísticas de disco ampliadas. Si también se especifica la nueva opción -z, no se imprimirán los discos sin actividad. Programa jail(8) admite la opción -s para especificar el nivel de seguridad de una jaula. Utilidad jexec(8) admite los indicadores -u y -U para especificar las credenciales de nombre de usuario con las que debe ejecutarse una orden. Utilidad logger(1) admite -P, que especifica el puerto al que deben enviarse los mensajes syslog. Utilidad ls(1) admite un indicador -U para utilizar la hora de creación del archivo para la ordenación. Utilidad mount(8) admite una palabra clave late en fstab(5), junto con la correspondiente opción de línea de comandos -l para especificar que estos sistemas de archivos "late" deben montarse. Orden ping(8) admite ahora la opción -W para especificar el tiempo máximo de espera de una respuesta de eco. Utilidad pkill(1) (también conocida como pgrep(1)) se ha trasladado de /usr/bin a /bin para que pueda ser utilizada por los scripts de inicio. Se han creado enlaces simbólicos desde su ubicación anterior por compatibilidad con versiones anteriores. Añadida a libc una implementación extensible de printf(3), compatible con GLIBC. Sólo se utiliza si la variable de entorno USE_XPRINTF está definida, si se llama a una de las funciones de extensión, o si la variable global __use_xprintf tiene un valor mayor que 0. Actualmente se soportan cinco extensiones: %H (volcado hexadecimal), %T (time_t y estructuras relacionadas con el tiempo), %M (mensaje errno), %Q (cadena entre comillas dobles, escapada), %V (cadena con formato strvis(3)-). La librería DNS resolver de la libc de FreeBSD actualizada a la de BIND 9.3.3. Utilidad tail(1) admite un indicador -q para suprimir las líneas de cabecera cuando se especifican varios archivos. El programa traceroute(8) soporta una bandera -D, que hace que muestre las diferencias entre los paquetes enviados y recibidos. Utilidad traceroute(8) admite ahora la opción -e, que establece un puerto de destino fijo para los paquetes de sondeo. Esto puede ser útil para rastrear detrás de cortafuegos con filtrado de paquetes. traceroute(8) decodifica el conjunto completo de mensajes ICMP unreachable en su salida. La cadena de herramientas del compilador es capaz de generar ejecutables para sistemas que utilicen el procesador ARM. Scripts /etc/rc.d Añadido el script auditd para OpenBSM auditd(8). Corregido un error en el script de arranque rc.d/jail, que causaba una serie de problemas a los usuarios que intentaban utilizar jaulas en FreeBSD 6.1-RELEASE. Infraestructura de Ports Collection/paquetes pkg_add(1) admite una bandera -F para desactivar la comprobación de si el mismo paquete ya está instalado o no. Ingeniería de lanzamiento e integración La utilidad sysinstall(8) muestra la versión de FreeBSD en ejecución en los títulos de los menús. Corregido error en el programa sysinstall(8) que podía impedir la instalación de un núcleo si no se seleccionaba explícitamente ninguna distribución en el momento de la instalación. Corregido error de sysinstall(8) que a veces impedía la instalación de paquetes desde varios volúmenes de CDROM. Se ha añadido un directorio /media para contener puntos de montaje de medios extraíbles como CDROM, disquetes, unidades USB, etc. GNOME (x11/gnome2) ha sido actualizada de 2.12.3 a 2.16.1. KDE (x11/kde3) se ha actualizado de 3.5.1 a 3.5.4. La emulación de Linux compatible utiliza ahora las bibliotecas del paquete emulators/linux_base-fc4. |
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 6.3 | • Lanzamiento: 18/01/2008 • Soporte hasta: 31/01/2010 Cambios en el núcleo acpi(4) soporta el contador de tiempo HPET. Añadido soporte para interrupciones señaladas por mensaje (MSI) e interrupciones señaladas por mensaje extendidas (MSI-X) al código de soporte PCI del kernel. Soporte de hardware Añadido el controlador acpi_dock(4) para controlar las funciones de la estación de acoplamiento del portátil a través de ACPI. Añadido el controlador coretemp(4) para proporcionar lecturas de temperatura en procesadores Intel Core. Soporte multimedia Añadido el controlador snd_envy24(4) para dar soporte a la serie Envy24 de chips de audio. Añadido el controlador snd_envy24ht(4) para dar soporte a la serie de chips de audio VIA Envy24HT. Añadido el controlador snd_hda(4). Admite dispositivos que cumplen la revisión 1.0 de la especificación Intel High Definition Audio. Añadido el controlador snd_spicds(4) para dar soporte a los chips de códec de audio I2S SPI. Soporte de interfaz de red Controlador ath(4) actualizado a la versión HAL 0.9.20.3. Controlador axe(4) es compatible con altq(4). Añadido el controlador cxgb(4). Ofrece compatibilidad con adaptadores Ethernet de 10 Gigabits basados en los chipsets Chelsio T3 y T3B. Añadido el controlador edsc(4), que proporciona interfaces de red Ethernet de descarte. Controlador em(4) ha sido actualizado a la versión 6.7.2 de Intel. Añadido el controlador msk(4). Admite interfaces de red que utilicen el controlador Marvell/SysKonnect Yukon II Gigabit Ethernet. Añadido el controlador mxge(4), compatible con los adaptadores Myricom Myri10GE 10 Gigabit Ethernet. Controlador vge(4) es compatible con altq(4). La pila de protocolos 802.11 admite tarjetas de 900 MHz, así como soporte de cuarto y medio canal para 802.11a. Protocolos de red Controlador if_bridge(4) es compatible con RSTP, el protocolo de árbol de expansión rápida (802.1w). Controlador lagg(4), portado desde OpenBSD y NetBSD, se ha añadido para soportar una variedad de protocolos y algoritmos para la agregación de enlaces, conmutación por error y tolerancia a fallos. Añadido un nuevo tipo de nodo NetGraph ng_deflate(4). Implementa la compresión PPP Deflate. Nodo Netgraph ng_ppp(4) está MPSAFE. Añadido un nuevo tipo de nodo NetGraph ng_pred1(4) para implementar la compresión PPP Predictor-1. Añadido la variable sysctl net.link.tap.up_on_open al controlador tap(4). Si se activa, los nuevos dispositivos tap se marcarán al crearse. Discos y almacenamiento Controlador mpt(4) ha sido actualizado para soportar varias funciones nuevas, como informes de estado/configuración de volúmenes RAID y miembros RAID, informes periódicos de estado de resincronización de volúmenes y variables sysctl para la tasa de resincronización de volúmenes, estado de caché de escritura de miembros de volúmenes y profundidad de cola de transacciones de volúmenes. Controlador mpt(4) admite SAS HBA (parcialmente), PCI de 64 bits y transferencia de datos de gran tamaño. Añadido el controlador scsi_sg, que emula un subconjunto significativo de la API de dispositivos SCSI SG passthrough de Linux. Su objetivo es permitir a los programas que se ejecutan bajo emulación Linux (así como a las aplicaciones nativas de FreeBSD) acceder a los dispositivos /dev/sg* soportados por Linux. Controlador twa(4) ha sido actualizado a la versión 3.60.03.006 en el sitio web de 3ware. Es compatible con la serie 3ware 9650 de controladores SATA de AMCC. Sistemas de archivos Reimplementado el sistema de archivos unionfs. Esta versión resuelve muchos problemas de bloqueo y bloqueo en comparación con la implementación anterior. También añade nuevos modos "transparente" y "enmascarado" para crear automáticamente archivos en la capa superior del sistema de archivos de las uniones. Puede encontrar más información en la página del manual de mount_unionfs(8). Cambios en la Userland La utilidad camcontrol(8) soporta un comando readcap para mostrar el tamaño de los dispositivos. El programa fdisk(8) admite un indicador -p para imprimir la tabla de cortes en formato de configuración de fdisk. La utilidad freebsd-update(8) soporta ahora una orden upgrade para realizar actualizaciones binarias entre distintas versiones de FreeBSD. La utilidad ftpd(8) tiene soporte para RFC2389 (FEAT) y soporte rudimentario para RFC2640 (UTF8). La compatibilidad con RFC2640 es opcional y puede activarse mediante el nuevo indicador -8. Encontrará más información en la página del manual de ftpd(8). Añadida la utilidad ipfwpcap(8), que captura paquetes en un socket divert(4) y los escribe como datos en formato pcap(3) (también conocido como tcpdump(1)) en un archivo o tubería. Los programas rpc.lockd(8) y rpc.statd(8) aceptan las opciones -p para indicar a qué puerto deben enlazarse. El programa pw(8) admite la opción -M para establecer los permisos del directorio personal recién creado de un usuario. El programa top(1) soporta una bandera -j para mostrar el ID de jail(8) para cada proceso. La utilidad touch(1) admite un indicador -A que permite ajustar los tiempos de acceso y modificación de un archivo a un valor especificado. Añadido la utilidad wpa_passphrase(8). Genera una clave WPA precompartida de 256 bits a partir de una frase de contraseña ASCII. Scripts /etc/rc.d Se puede indicar al script de sendmail que no reconstruya la base de datos de alias si falta o es más antigua que el archivo de alias. Si lo desea, establezca la nueva opción de rc.conf sendmail_rebuild_aliases en "NO" para desactivar esa funcionalidad. El script /etc/rc.d/nfslocking ha quedado obsoleto y será eliminado en una futura versión. Ha sido sustituido por los scripts /etc/rc.d/lockd y /etc/rc.d/statd. Ingeniería de lanzamiento e integración GNOME (x11/gnome2) se ha actualizado de 2.16.1 a 2.20.1. KDE (x11/kde3) se ha actualizado de 3.5.4 a 3.5.7. Xorg (x11/xorg) ha sido actualizada de 6.9.0 a 7.3.0. El valor por defecto de X11BASE se ha cambiado de /usr/X11R6 a /usr/local, el valor por defecto de LOCALBASE. |
| Versión | Cambios significativos |
| Versión antigua, sin servicio técnico: 6.4 | • Lanzamiento: 28/11/2008 • Soporte hasta: 30/11/2010 Cambios en el núcleo El framework opencrypto ( crypto(9)) y el subsistema ipsec(4) soportan el cifrado por bloques Camellia. El kernel de FreeBSD malloc(9) soporta protección contra corrupción de buffer (RedZone). Esto detecta errores de desbordamiento y subdesbordamiento de búfer en tiempo de ejecución en free(9) y realloc(9) e imprime trazas desde donde se asignó la memoria y desde donde se liberó. Para más detalles, consulte la opción del núcleo DEBUG_REDZONE. La funcionalidad del lado del cliente de rpc.lockd(8) implementada en el kernel de FreeBSD. Cambios en el cargador de arranque FreeBSD soporta el arranque desde discos etiquetados como GPT desde la BIOS. El kernel BTX utilizado por el gestor de arranque ha sido modificado para invocar rutinas de la BIOS desde el modo real. Este cambio hace posible arrancar FreeBSD desde dispositivos USB. Soporte de hardware El controlador acpi_asus(4) soporta el control de retroiluminación de Asus EeePC. Soporte multimedia El controlador DRM es compatible con el dispositivo i915 GME. oporte de interfaz de red El controlador bge(4) admite adaptadores basados en BCM5906. Protocolos de red El subsistema dummynet(4) soporta el funcionamiento en modo rápido, que permite a ciertos paquetes eludir el planificador de dummynet. Esto puede conseguir una latencia más baja y una menor sobrecarga cuando el flujo de paquetes está por debajo del ancho de banda de la tubería, y eliminar la recursividad en el subsistema. El resolver(3) permite el guion bajo en los nombres de dominio. Aunque esto es una violación del RFC 1034 STD 13, es aceptado por ciertos servidores de nombres así como por la librería resolver de otros sistemas operativos populares. Discos y almacenamiento El controlador aac(4) ahora admite matrices de 64 bits para RAID de más de 2 TB y abre simultáneamente el dispositivo para emitir comandos al controlador. Corregido un problema de corrupción de datos del controlador ata(4) en los chipsets ServerWorks HT1000. Mejoras en la estabilidad del controlador iir(4). El controlador mpt(4) soporta la personalidad mpt_user. Cambios en Userland La utilidad bsdtar(1) soporta las siguientes opciones: --numeric-owner, -S y -s. Corregido un error de la utilidad cp(1) que impedía copiar correctamente las ACL de POSIX.1e. La utilidad cron(8) admite el indicador -m, que anula el destinatario de correo predeterminado para los mensajes de cron a menos que se indique explícitamente mediante la línea MAILTO= en el archivo crontab. El cvs(1) soporta la bandera -n que es la opuesta a la bandera -N. Las utilidades dump(8) y restore(8) soportan atributos extendidos. El programa fortune(6) soporta la variable de entorno FORTUNE_PATH para especificar la ruta de búsqueda de los archivos fortune. Corregido un error del programa fortune(6) que impedía el funcionamiento de la opción -e con varios archivos. El freebsd-update.conf(5) soporta la sentencia IDSIgnorePaths. La utilidad fwcontrol(8) soporta la opción -f nodo que especifica el nodo como nodo raíz en el siguiente reinicio del bus. La utilidad make(1) soporta el modificador de variables :u que elimina palabras duplicadas adyacentes. Corregida la gramática incorrecta de salida del programa morse(6). La utilidad mountd(8) soporta la opción -h bindip que especifica las direcciones IP a las que enlazar las peticiones TCP y UDP. Esta opción puede especificarse varias veces. Si no se especifica la opción -h, se utilizará INADDR_ANY. La utilidad moused(8) admite la opción -L, que modifica la velocidad de desplazamiento, y cambia el comportamiento de la opción -U para que sólo afecte al umbral de desplazamiento. El mv(1) soporta la especificación POSIX cuando se mueve un directorio a un directorio existente a través de dispositivos. periodic(8) soporta la variable de configuración daily_status_mail_rejects_shorten en periodic.conf(5). ping6(8) utiliza los estados de salida 0 y 2 del mismo modo que ping(8). Corregido un error de telnetd(8) que intentaba la autenticación incluso cuando se especificaba la opción -a all. top(1) y vmstat(8) soportan la bandera -P que muestra estadísticas por CPU. La utilidad watch(8) admite más de 10 dispositivos snp(4) a la vez. Scripts /etc/rc.d Eliminado el script ike rc(8). El rc.conf(5) soporta la variable dummynet_enable que permite cargar el módulo del kernel dummynet(4) cuando firewall_enable es YES. El script ppp rc(8) soporta múltiples instancias. Añadido el script rc(8) rfcomm_pppd_server que permite iniciar rfcomm_pppd(8) en modo servidor en el momento del arranque. Se pueden iniciar varios perfiles al mismo tiempo. El script sysctl rc(8) soporta la carga de /etc/sysctl.conf.local además de /etc/sysctl.conf. rc.conf(5) ahora la configuración de interfaces y redes adjuntas para la regla de cortafuegos establecida por rc.firewall cuando firewall_type es simple o cliente. Infraestructura de Ports Collection/paquetes Las utilidades pkg_install actualizadas a snapshot en 8.0-CURRENT a partir del 30 de mayo de 2008. Eliminadas las utilidades pkg_sign(1) y pkg_check(1). Ingeniería de lanzamiento e integración GNOME (x11/gnome2) se ha actualizado de 2.20.1 a 2.22.3. KDE (x11/kde3) se ha actualizado de 3.5.8 a 3.5.10. |

### FreeBSD 7x

FreeBSD 7.0 a 7.4 :
| Versión | Lanzamiento | Soporte hasta | Cambios significativos |
| Versión antigua, sin servicio técnico: 7.0 | 27/02/2008 | 30/04/2009 | Esta versión de FreeBSD soporta 6 tipos de arquitectura de computadoras/ordenadores (amd64, i386, ia64, pc98, powerpc, y sparc64) - (se agregó el soporte para ia64 y eliminó el soporte para alpha). Cambios en el núcleo acpi(4) tiene soporte para el contador de tiempo HPET, El controlador acpi_ibm(4) soporta la configuración del modo de control del ventilador a manual o automático, y el ajuste de la velocidad del ventilador si el modo de control del ventilador es manual. Mejorado el soporte de suspensión/reanudación de apm(4). El framework de control de frecuencia de CPU cpufreq(4) está habilitado en el kernel GENERIC. Añadido soporte para el cifrado por bloques Camellia al kernel FreeBSD. Controlador de consola tonta ( dcons(4)) está habilitado en el kernel GENERIC. El depurador ddb(4) proporciona el comando show sleepq. Este comando toma un canal de espera como argumento y busca una cola de espera asociada con ese canal de espera. La interfaz de depuración remota gdb(1) soporta la copia de mensajes de consola a una instancia de depuración remota. hwpmc(4) y pmcstat(8) soportan el perfilado de módulos del kernel cargados dinámicamente y objetos compartidos cargados con dlopen(3). Añadida una nueva variable sysctl kern.hostuuid para contener el Identificador Único Universal (UUID) de un host. Mejorada la opción de configuración del núcleo INCLUDE_CONFIG_FILE. Se puede obtener la configuración completa de un núcleo en ejecución mediante sysctl -b kern.conftxt. El soporte para Kernel Scheduled Entities (KSE) es una opción del kernel (anteriormente era una característica obligatoria en el kernel). Mejorado el soporte de Linux ABI para soportar la emulación de Linux 2.6.16. Añadido soporte para Interrupciones Señalizadas por Mensaje (MSI) e Interrupciones Señalizadas por Mensaje Extendidas (MSI-X) al código de soporte PCI del kernel. [FUSIONADO] Añadida la interfaz de kernel priv(9). Su propósito es comprobar la disponibilidad de privilegios para hilos y credenciales. FreeBSD soporta el acceso concurrente read(2)/ readv(2) a un fichero. Los bloqueos sx(9) del kernel optimizados para utilizar operaciones atómicas simples para los casos comunes de obtención y liberación de bloqueos compartidos y exclusivos. Aunque este cambio no es visible para el usuario, es la base de algunas mejoras sustanciales en el rendimiento. El programador de procesos de la ULE revisado para mejorar su comportamiento, en particular la interactividad bajo carga, tanto para máquinas uniprocesadoras como multiprocesadoras. Esta implementación se conoce como "ULE 3.0". (ULE 3.0 se conocía anteriormente como SCHED_SMP, que a su vez se basaba en la versión 2.0 del planificador ULE. ULE 2.0 nunca formó parte de ninguna versión de FreeBSD, sin embargo fue objeto de muchos esfuerzos de desarrollo, pruebas y benchmarking). Añadida la cola de señales SIGCHLD. Por cada proceso hijo cuyo estado haya cambiado se pone en cola una instancia SIGCHLD. Añadida una nueva variable sysctl kern.malloc_stats. Permite exportar las estadísticas de malloc del núcleo a través de un flujo de estructura binaria. Añadida una nueva variable sysctl kern.forcesigexit. Esto fuerza a un proceso a sigexit si una señal trap está siendo retenida por el hilo actual o ignorada por el proceso actual. Está activada por defecto. Implementado RedZone, una protección contra la corrupción de búferes para la función malloc(9) del núcleo. Detecta tanto los desbordamientos como los subdesbordamientos de búfer en tiempo de ejecución en free(9) y realloc(9), e imprime trazas desde donde se asignó la memoria y desde donde se liberó. Añadida nueva variable del cargador vm.kmem_size_min. Permite especificar un tamaño mínimo para vm.kmem_size. Añadido una nueva variable sysctl vm.zone_stats. Permite exportar estadísticas del asignador uma(9) a través de un flujo de estructura binaria. Variable sysctl hw.pci.do_powerstate se ha dividido en dos variables sysctl hw.pci.do_powerstate_nodriver y hw.pci.do_powerstate_resume. Además, estas variables se han cambiado de un booleano a un rango. 0 significa que no hay gestión de energía, 1 significa una gestión de energía conservadora en la que cualquier clase de dispositivo que haya causado problemas se añade a la lista de vigilancia, 2 significa una gestión de energía agresiva en la que cualquier clase de dispositivo que no sea fundamental para el sistema se añade a la lista, y 3 significa apagarlos todos incondicionalmente. Los valores por defecto son 0 para hw.pci.do_powerstate_nodriver y 1 para hw.pci.do_powerstate_resume. Para ia64: El kernel GENERIC habilita el soporte SMP por defecto. Se han añadido archivos de configuración del núcleo src/sys/arch/conf/MAC de ejemplo para el marco de Control de Acceso Obligatorio. Actualizado el soporte de POSIX_TIMERS a 200112L. Implementado un soporte experimental para la cola de mensajes POSIX. Estrategia de bloqueo para sockets de dominio UNIX revisada para mejorar la concurrencia; este cambio ha producido mejoras sustanciales de rendimiento en varias cargas de trabajo SMP (en particular, MySQL en sistemas Para amd64 de 8 vías) con poca o ninguna sobrecarga medida en sistemas UP. Varios cambios menores pero generalizados en la API Newbus con el fin de apoyar algunos trabajos en curso con el filtrado de interrupciones. Debido a que este cambio también rompe la ABI del núcleo, todos los controladores de dispositivos de terceros tendrán que ser modificados y recompilados. Cambios en el cargador de arranque Añadida nueva opción -S, que permite establecer la velocidad de la consola serie boot2 en el archivo /boot.config o en la línea de comandos boot:. Para amd64 y i386: Añadido soporte para firewire(4) y dcons(4) al cargador de arranque. Para habilitarlo, se debe añadir LOADER_FIREWIRE_SUPPORT=yes a /etc/make.conf y reconstruir el cargador. Para pc98: El soporte de IPLware en boot0.5 ha sido mejorado para soportar la versión 3.33. Soporte de Hardware Controladores cardbus(4), pccard(4), pccbb(4), y ex(4) son compilables como módulos del kernel. Añadido un controlador acpi_dock(4) para controlar las funciones de la estación de acoplamiento del portátil a través de ACPI. Controlador acpi_thermal(4) soporta la sobreescritura de los valores de temperatura _PSV, _HOT y _CRT. Eliminado el soporte para la arquitectura alpha. El soporte alpha permanecerá en las líneas de código RELENG_5 y RELENG_6. Controlador cardbus(4) soporta /dev/cardbus%d.cis. Para i386 y amd64: Añadido el controlador coretemp(4) para proporcionar lecturas de temperatura en procesadores Intel Core. Controlador est cpufreq(4) soporta el control de frecuencia para la familia de procesadores VIA C7-M. El código firewire(4) es MPSAFE. Se ha añadido icee(4), un controlador genérico I2C EEPROM. Se ha corregido un error que impedía la descarga del módulo del kernel ichsmb(4). Para amd64 y i386: Los procesadores de doble núcleo (como el Intel Core Duo) tienen ambos núcleos disponibles para su uso por defecto en los núcleos habilitados para SMP. Para ia64 y powerpc: El ajuste del cargador debug.mpsafevfs está establecido a 1 por defecto. Añadido el controlador scc(4). Este proporciona soporte genérico para controladores de comunicaciones serie y delega el control sobre cada canal y modo a un controlador subordinado como uart(4). Para amd64: Añadido el soporte del controlador smbios(4) para amd64. Para sun4v: FreeBSD tiene soporte preliminar para la arquitectura UltraSPARC-T1 de Sun Microsystems. Se ha demostrado que FreeBSD/sun4v funciona en los servidores Sun Fire T1000 y Sun Fire T2000. Añadido el controlador tnt4882(4), compatible con la tarjeta PCI-GPIB de National Instruments. Para amd64, i386, ia64 y [sparc64]]: Se ha incluido por defecto el controlador uart(4) en el núcleo GENERIC. Cuando tanto sio(4) como uart(4) pueden manejar un puerto serie dado, sio(4) lo reclamará. Añadido controlador uark(4), compatible con el adaptador serie USB ARK3116 de Arkmicro Technologies. Controlador uart(4) soporta dispositivos LOM (Lights Out Management) y RSC (Remote System Control) como consolas. Para i386: Añadida una nueva variable de carga hw.apic.enable_extint. Este sintonizable puede usarse para deshabilitar el enmascaramiento del pin ExtINT en el primer APIC de E/S. Al menos un chipset para el Intel Pentium III parece necesitar esto, aunque todos los pines en el 8259As están enmascarados. El valor por defecto sigue siendo enmascarar el pin ExtINT. Soporte Multimedia Añadido el nuevo driver midi(4) que está basado en el de NetBSD. Este soporta los controladores snd_cmi(4) y snd_emu10k1(4). Controlador snd_cmi(4) es MPSAFE. Añadido controlador snd_emu10kx(4). Es compatible con las tarjetas de sonido Creative SoundBlaster Live! y de la serie Audigy con reproducción pseudomulticanal opcional. Añadido controlador snd_envy24(4) para soportar la serie Envy24 de chips de audio. Añadido controlador snd_envy24ht(4) para soportar la serie de chips de audio VIA Envy24HT. Añadido controlador snd_hda(4). Soporta dispositivos que cumplen con la revisión 1.0 de la especificación Intel High Definition Audio. Controlador snd_solo(4) es MPSAFE. Añadido controlador snd_spicds(4) para soportar chips de códec de audio I2S SPI. Controlador uaudio(4) soporta formatos de audio de 24/32 bits y conversión. Soporte para interfaces de red Controlador ath(4) ha sido actualizado a la versión HAL 0.9.20.3. Controlador axe(4) soporta altq(4). Controlador bge(4) soporta tramas Jumbo MPSAFE. Controlador bge(4) soporta arquitecturas big-endian como sparc64. Controlador cm(4) es MPSAFE. Añadido controlador cxgb(4). Proporciona soporte para adaptadores 10 Gigabit Ethernet basados en los chipsets Chelsio T3 y T3B. Añadido controlador edsc(4), que proporciona interfaces de red Ethernet de descarte. Controlador em(4) ha sido actualizado a la versión 6.7.3 de Intel. Entre otros cambios, soporta adaptadores basados en 80003, 82571, 82571EB, 82572 y 82575, así como onboard-NICs en placas base basadas en ICH8. Controlador em(4) incluye soporte inicial para las funciones de suspensión y reanudación. Controlador IP sobre FireWire ( fwip(4)) está habilitado en el kernel GENERIC. Controlador gem(4) soporta altq(4). Imágenes de firmware que necesita el controlador ipw(4) forman parte del sistema base de FreeBSD. Controlador iwi(4) soporta arquitecturas big-endian como sparc64. Imágenes de firmware que necesita el controlador iwi(4) forman parte del sistema base de FreeBSD. Aañadido controlador ixgbe, compatible con el adaptador Intel 10G PCI-Express (82598). Añadido controlador msk(4). Soporta interfaces de red que utilizan el controlador Marvell/SysKonnect Yukon II Gigabit Ethernet. Para amd64 y i386: Añadido controlador mxge(4), compatible con los adaptadores Myricom Myri10GE 10 Gigabit Ethernet. Para amd64 y i386: Añadido controlador nfe(4), un controlador de código abierto para dispositivos Ethernet nForce, originario de OpenBSD. Este controlador ha sustituido al controlador nve(4) en el kernel GENERIC. Para arm: Añadido controlador npe(4), compatible con el motor de procesamiento de red Intel XScale. Añadido controlador nxge(4), que soporta el adaptador Neterion Xframe 10 Gigabit Ethernet. Controlador re(4) es compatible con la tarjeta Gigabit Ethernet D-Link DGE-528(T). Añadido el controlador rum(4). Soporta adaptadores WLAN basados en los chipsets Ralink RT2501USB y RT2601USB. Controlador ti(4) es compatible con arquitecturas big-endian como sparc64. Añadido controlador ufoma(4) para FOMA (sistema de telefonía móvil de tercera generación de NTT DoCoMo, Inc. en Japón). Añadido controlador vgapci(4). Se trata de un controlador stub para dispositivos VGA PCI y sirve como bus para que otros controladores como drm(4), acpi_video(4) y agp(4) puedan conectarse a él, permitiendo así múltiples controladores para el mismo dispositivo. Controlador vge(4) soporta altq(4). Controlador wi(4) se puede compilar como módulo del núcleo. Para amd64, i386 y pc98: Controladores wlan_wep(4), wlan_ccmp(4), y wlan_tkip(4) han sido incluidos en el kernel GENERIC por defecto. Para amd64 y i386: Añadido controlador wpi(4) para soportar el controlador LAN inalámbrico Intel 3945. Para amd64 y i386: Añadido el controlador zyd(4). Proporciona soporte para los dispositivos de red inalámbricos ZyDAS ZD1211/ZD1211B USB IEEE 802.11 b/g. La característica de grupos de interfaz de red ha sido importada de OpenBSD. Esta característica permite a un administrador, por ejemplo, aplicar reglas de cortafuegos a todo un grupo de interfaces. La pila de protocolos 802.11 se ha rediseñado significativamente. Entre las nuevas funciones se encuentran la compatibilidad con la exploración en segundo plano y la itinerancia entre puntos de acceso, así como la compatibilidad que requerirán los dispositivos compatibles con 802.11n. La pila de protocolos 802.11 es compatible con tarjetas de 900 MHz, así como con un cuarto de canal y medio canal para 802.11a. La pila de red de FreeBSD se ejecuta completamente libre del bloqueo del kernel Giant, y depende únicamente de las primitivas de bloqueo de grano fino del kernel para gestionar el paralelismo. Esto mejora significativamente el rendimiento de la pila de red en sistemas multiprocesador; los sistemas uniprocesador también podrían mejorar su rendimiento. ISDN4BSD y netatm se han desconectado temporalmente de la compilación. Todos estos módulos necesitan el bloqueo del kernel Giant para funcionar; desconectarlos permite eliminar el shim de compatibilidad NET_NEEDS_GIANT. Está previsto convertir estos módulos al bloqueo de grano fino del kernel y volver a conectarlos para FreeBSD 7.1-RELEASE. Protocolos de red Para amd64, i386 y pc98: Implementado un compilador experimental BPF Just-In-Time tanto para bpf(4) como para ng_bpf(4). Para habilitarlo, se necesita la opción de kernel options BPF_JITTER. La opción net.bpf_jitter.enable se puede utilizar para desactivar esta función. Dispositivo bpf(4) soporta varias llamadas ioctl(2) nuevas que permiten examinar los paquetes entrantes frente a los salientes, así como los paquetes que han sido inyectados en la red. Controlador bridge(4) ha sido eliminado del árbol. Su funcionalidad ha sido completamente reemplazada por if_bridge(4). Controlador gre(4), que es para la encapsulación GRE encontrada en RFC 1701 y RFC 1702, soporta IPv6 sobre GRE. Controlador if_bridge(4) soporta RSTP, el protocolo de árbol de expansión rápida (802.1w). Controlador if_bridge(4) admite una bandera privada en los puertos de puente; ningún puerto privado de un puente puede comunicarse con ningún otro puerto privado. Esta funcionalidad es útil en situaciones en las que hay varias VLAN de clientes conectadas a una red de servidores; puede ser conveniente evitar que las VLAN de clientes se comuniquen entre sí, pero permitir que todas ellas accedan a la red de servidores. La bandera privada en un puerto puente puede activarse o desactivarse mediante ifconfig(8). El reenvío de multidifusión IPv6 es cargable dinámicamente, a través del módulo ip_mroute.ko. El filtro de paquetes ipfw(4) admite el filtrado de cabeceras de enrutamiento de tipo 0 e IPv6 móvil de tipo 2, además del filtrado de la presencia no diferenciada de cualquier cabecera de enrutamiento. Controlador lagg(4), portado desde OpenBSD y NetBSD, ha sido añadido para soportar una variedad de protocolos y algoritmos para la agregación de enlaces, conmutación por error y tolerancia a fallos. La capa de protocolo natm(4), Native Mode ATM, es MPSAFE. Añadido el nodo Netgraph ng_car(4). Implementa varios algoritmos de conformación de tráfico y limitación de velocidad. Añadido un nuevo tipo de nodo Netgraph ng_deflate(4). Implementa la compresión PPP Deflate. El nodo Netgraph ng_h4(4) es MPSAFE. El nodo Netgraph ng_ppp(4) es MPSAFE. Añadido un nuevo tipo de nodo Netgraph ng_pred1(4) para implementar la compresión PPP Predictor-1. El temporizador de retransmisión por defecto para NFS sobre TCP es de 60 segundos. Este cambio evita la retransmisión innecesaria de peticiones NFS no idempotentes. La variable nfs_access_cache en rc.conf(5) también se ha cambiado a 60. El número mínimo por defecto de hilos del núcleo nfsiod ( variable sysctl(8) vfs.nfs.iodmin) se ha cambiado de 4 a 0. Añadida una variable sysctl net.inet.icmp.reply_from_interface. Esto permite que la respuesta icmp(4) a paquetes no locales se genere con la dirección IP por la que entró el paquete. Esto es útil para que los routers muestren en traceroute(8) la ruta real que ha tomado un paquete en lugar de la ruta de retorno, posiblemente diferente. Añadida una nueva variable sysctl net.inet.icmp.quotelen. Permite cambiar la longitud de la cita del paquete original en una respuesta ICMP. El mínimo de 8 bytes se aplica internamente. La cita máxima es el espacio restante en el mbuf de respuesta. Esta opción se añade en respuesta a las cuestiones planteadas en I-D draft-gont-icmp-payload-00.txt. icmp(4) siempre cita la cabecera TCP completa cuando responde y asigna un grupo mbuf si es necesario. Este cambio soluciona los problemas de TCP planteados en I-D draft-gont-icmp-payload-00.txt. Añadida una opción de socket IP_MINTTL. Se puede utilizar para establecer el TTL mínimo aceptable que debe tener un paquete cuando se recibe en un socket. Todos los paquetes con un TTL inferior se descartan silenciosamente. Controlador ppp(4) del núcleo soporta IPv6. El reenvío oculto soporta IPv6 así como IPv4. Añadido soporte para la API de socket RFC 3678 Source-Specific Multicast (SSM). Añadido soporte para el Protocolo de Transmisión de Control de Flujo (SCTP). SCTP implementa un protocolo de transporte fiable y orientado a mensajes, y está definido en el RFC 4960. Está habilitado en FreeBSD con la opción del kernel SCTP y forma parte del kernel GENERIC. Puede encontrar más información en la página de manual de sctp(4). La opción de socket IPV6_V6ONLY funciona para UDP. La opción de kernel TCP_DROP_SYNFIN está incluida en el kernel por defecto. La variable sysctl net.inet.tcp.drop_synfin sigue siendo 0 por defecto. La pila de red de FreeBSD soporta TCP Segmentation Offload (TSO). TSO reduce la sobrecarga del envío masivo de datos TCP permitiendo a una interfaz de red convertir una transferencia de datos de gran tamaño en múltiples segmentos TCP para ser enviados por la red. FreeBSD soporta el autodimensionamiento de los buffers de los sockets TCP. Esto permite que los tamaños de los búferes de los sockets se adapten dinámicamente a las condiciones de la red, en lugar de establecerse estáticamente. Añadido la variable sysctl net.link.tap.up_on_open al controlador tap(4). Si se activa, los nuevos dispositivos tap se marcarán al crearse. Discos y almacenamiento Controlador aac(4) soporta el controlador Adaptec 2610SA SATA-RAID en algunas máquinas Hewlett-Packard. Controlador ahc(4) es MPSAFE. Controlador ahd(4) es MPSAFE. El subsistema CAM es MPSAFE. Controlador ciss(4) es MPSAFE. Añadido una nueva clase GEOM_JOURNAL al sistema de transformación de almacenamiento GEOM. Admite operaciones de registro en el diario a nivel de bloque, que pueden ser utilizadas por módulos de sistemas de archivos para realizar el registro en el diario del sistema de archivos y mantener los sistemas de archivos en un estado coherente. Añadido una nueva clase GEOM_MULTIPATH para soportar múltiples rutas de acceso a dispositivos de disco. Se ha añadido la utilidad gmultipath(8) para controlar el comportamiento de los dispositivos de disco que utilizan esta característica. Añadida una nueva clase GEOM_VIRSTOR para proporcionar dispositivos de almacenamiento virtual de tamaño arbitrario con dispositivos físicos como almacén de respaldo. El módulo del núcleo de la clase GEOM g_md.ko ha sido renombrado a geom_md.ko por coherencia. Para amd64 y i386: Añadido controlador hptiop(4). Soporta las series Highpoint RocketRAID 3xxx y 4xxx de controladores RAID SAS y SATA. Para amd64 y i386: Añadido controlador hptrr(4), compatible con varias controladoras HighPoint RocketRAID. Para amd64 y i386: Controlador hptmv(4) ha sido actualizado y soporta amd64 así como PAE. Controlador isp(4) es MPSAFE. Controlador mpt(4) ha sido actualizado para soportar varias características nuevas tales como informes de estado/configuración de volúmenes RAID y miembros RAID, informes periódicos de estado de resincronización de volúmenes y variables sysctl para la tasa de resincronización de volúmenes, estado de caché de escritura de miembros de volúmenes y profundidad de cola de transacciones de volúmenes. Controlador mpt(4) es compatible con SAS HBA (parcialmente), PCI de 64 bits y transferencia de datos de gran tamaño. Controlador mpt(4) es MPSAFE. Controlador rr232x(4), que aparecía en algunas versiones antiguas de FreeBSD, ya no está soportado y ha sido sustituido por el controlador hptrr(4). A petición de Highpoint, el controlador rr232x(4) ha sido eliminado. Controlador twa(4) ha sido actualizado a la versión 3.70.03.007 en el sitio web de 3ware. Soporta la serie 3ware 9650 de controladores SATA de AMCC. Añadido el controlador iscsi_initiator(4), un controlador de kernel para el protocolo Internet SCSI (iSCSI). Este controlador permite el acceso a dispositivos SCSI remotos a través de redes TCP/IP. La utilidad de usuario iscontrol(8) se utiliza para controlar el funcionamiento del controlador. Añadido el controlador scsi_sg, que emula un subconjunto significativo de la API de dispositivos SCSI SG passthrough de Linux. Su objetivo es permitir a los programas que se ejecutan bajo emulación Linux (así como a las aplicaciones nativas de FreeBSD) acceder a los dispositivos /dev/sg* soportados por Linux. Controlador umass(4) soporta los comandos PLAY_MSF, PLAY_TRACK, PLAY_TRACK_REL, PAUSE, PLAY_12 para que la utilidad cdcontrol(1) pueda manejar una unidad de CD USB. Sistemas de ficheros Una parte del subsistema NFS de FreeBSD (la interfaz con la pila de protocolos y las llamadas, el lado del cliente NFS) es MPSAFE. El kit de construcción del pseudo sistema de ficheros pseudofs(9) y todos sus consumidores (procfs(5), linprocfs(5) y linsysfs(5)), son MPSAFE. Para amd64 y i386: Añadido soporte experimental para el sistema de archivos TMPFS. TMPFS es un sistema de archivos de memoria eficiente desarrollado originalmente para el proyecto NetBSD durante el Google Summer of Code. Reimplementado el sistema de archivos unionfs. Esta versión resuelve muchos problemas de bloqueos y cuelgues en comparación con la implementación anterior. También añade nuevos modos "transparente" y "enmascarado" para crear automáticamente archivos en la capa superior del sistema de archivos de las uniones. Para amd64, i386 y pc98: Añadido soporte para ZFS de Sun. Puede encontrar más información sobre este sistema de archivos en la página del manual zfs(8) o en la página ZFS de OpenSolaris. Añadido soporte inicial (sólo lectura) para el sistema de ficheros XFS de SGI. |
| Versión antigua, sin servicio técnico: 7.1 | 4/01/2009 | 28/02/2011 | Cambios en el núcleo clock_gettime(2) y las llamadas al sistema relacionadas soportan un ID de reloj CLOCK_THREAD_CPUTIME_ID, definido en POSIX. Añadida la llamada al sistema cpuset(2). Se trata de una API para la vinculación de subprocesos a CPU y la agrupación y asignación de recursos de CPU. DTrace, un completo marco de trazado dinámico y la utilidad userland dtrace(1) importados desde OpenSolaris. DTrace proporciona una potente infraestructura que permite a los administradores, desarrolladores y personal de servicio responder de forma concisa a preguntas arbitrarias sobre el comportamiento del sistema operativo y los programas de usuario. El depurador del kernel ddb(4) dispone de una función de captura de salida. Las entradas y salidas de ddb(4) pueden capturarse en un búfer de memoria para su posterior inspección mediante sysctl(8) o un volcado de texto. El nuevo comando capture controla esta función. El depurador ddb(4) soporta una sencilla facilidad de scripting, que soporta un conjunto de scripts con nombre consistentes en un conjunto de comandos ddb(4). Estos comandos pueden ser manejados desde ddb(4) o con el uso de la nueva utilidad ddb(8). El comando ex de ddb(4) soporta un modo /S que interpreta e imprime el valor en la dirección solicitada como un símbolo. Añadida la orden ddb(4) show conifhk. Enumera los ganchos que están a la espera de completarse en run_interrupt_driven_config_hooks. La llamada al sistema fcntl(2) admite el comando F_DUP2FD. Es equivalente a dup(2) y compatible con Sun Solaris e IBM AIX. El soporte linux(4) ABI de FreeBSD implementa sched_setaffinity y get_setaffinity usando primitivas reales de ajuste de afinidad de CPU. La funcionalidad del lado del cliente de rpc.lockd(8) implementada en el kernel de FreeBSD. Esta implementación proporciona la semántica correcta para bloqueos estilo flock(2) que son utilizados por la herramienta de línea de órdenes lockf(1) y la biblioteca pidfile(3). También implementa la recuperación de reinicios del servidor y asegura que los bloques sucios de la caché se escriben en el servidor antes de obtener bloqueos (permitiendo que múltiples clientes utilicen el bloqueo de archivos para compartir datos de forma segura). Además, se ha añadido una nueva opción del kernel, NFSLOCKD, que está activada por defecto. Si el soporte del kernel está habilitado, rpc.lockd(8) detecta y utiliza automáticamente la funcionalidad. El kernel de FreeBSD soporta un nuevo formato textdump de volcado del kernel. Un textdump proporciona información de alto nivel a través de una salida de depuración generada/extraída mecánicamente, en lugar de un simple volcado de memoria. Esta función puede utilizarse para generar breves informes de errores del núcleo ricos en información de depuración, pero que no dependen de tablas de símbolos del núcleo ni de código fuente sincronizado con precisión. La llamada al sistema wait4(2) admite la bandera WNOWAIT para mantener el proceso cuyo estado se devuelve en estado de espera y WSTOPPED que equivale a WUNTRACED. Para amd64, i386 y sparc43: El kernel de FreeBSD soporta soporte inicial para enlazar interrupciones a CPUs. Para amd64 y i386: El planificador sched_ule(4) es el planificador de procesos por defecto en los núcleos GENERIC. Añadidas las variables sysctl kern.features.compat_freebsd[456]. Corresponden a las opciones del kernel COMPAT_FREEBSD[456]. Cambios en el cargador de arranque Para amd64 y i386:El kernel BTX utilizado por el gestor de arranque ha sido modificado para invocar rutinas de la BIOS desde el modo real. Este cambio hace posible arrancar FreeBSD desde dispositivos USB. Para amd64 y i386: Se ha añadido un nuevo gestor de arranque gptboot para soportar el arranque desde un disco etiquetado GPT. Se ha añadido una nueva orden de arranque a gpt(8), que hace que un disco GPT sea arrancable escribiendo los bits necesarios del cargador de arranque, creando una nueva partición de arranque si es necesario. Soporte de hardware Añadido controlador cmx(4), un controlador para los lectores de tarjetas inteligentes Omnikey CardMan 4040 PCMCIA. Para spar64: Se ha añadido el controlador kbdmux(4). El sunkbd(4) soporta emulación atkbd(4) como ukbd(4). Controlador nvram(4) es MPSAFE. Una opción del controlador puc(4) PUC_FASTINTR ha dejado de ser soportada. Ccontrolador psm(4) intenta detectar el touchpad Synaptics antes que el IntelliMouse. Algunos touchpads pretenderán ser IntelliMouse causando que la sonda IntelliMouse funcione y la detección Synaptics nunca se haga. Controlador uslcom(4), un controlador para adaptadores serie USB basados en CP2101/CP2102 de Silicon Laboratories, importado desde OpenBSD. Soporte multimedia Controlador agp(4) es compatible con Intel G33 y G45. Para i386: Añadido el controlador dpms(4) para utilizar la BIOS VESA para DPMS durante la suspensión y reanudación. Controlador del núcleo DRM es compatible con los dispositivos i915 GME. Soporte de interfaz de red; Añadido el controlador ale(4) para dar soporte a los controladores Gigabit/Fast Ethernet Atheros AR8121/AR8113/AR8114. Este controlador no está habilitado en los kernels GENERIC de esta versión. Controlador em(4) se ha dividido en dos controladores con algunas partes comunes. El controlador em(4) seguirá siendo compatible con los adaptadores hasta el 82575, así como con los nuevos adaptadores cliente/sobremesa. Un nuevo controlador igb(4) soportará los nuevos adaptadores de servidor. Añadida una solución para un error en la descarga de suma de comprobación de hardware TCP/UDP del controlador msk(4) para tramas cortas. Mejorada la envoltura del controlador de minipuerto NDIS ndis(4). Controlador sf(4) mejorado y soporta la descarga de sumas de comprobación. Controlador stge(4) soporta WOL (Wake on LAN). Para amd64 y i386: Se ha actualizado el controlador wpi(4) para incluir una serie de correcciones de estabilidad. Protocolos de red L*a utilidad arp(8) soporta las palabras clave reject y blackhole. En la entrada marcada como reject, el tráfico al host será descartado y el remitente será notificado de que el host es inalcanzable. En la entrada marcada como blackhole, el tráfico se descarta pero no se notifica al remitente. El bpf(4) soporta un ioctl BIOCSETFNR. Es como BIOCSETF pero no elimina todos los paquetes almacenados en el descriptor y reinicia las estadísticas. if_bridge(4) permite limitar el número de MAC de origen que pueden estar detrás de una interfaz puente mediante el parámetro ifmaxaddr de ifconfig(8). Corregido un error en la configuración de la interfaz carp(4) que provocaba un pánico en el sistema. El subsistema dummynet(4) soporta el funcionamiento en modo rápido, que permite a ciertos paquetes eludir el planificador de dummynet. Enc(4) soporta variables sysctl para controlar si los cortafuegos o bpf(4) verán las cabeceras internas y externas o sólo las internas o externas para los paquetes IPsec entrantes y salientes. gre(4) soporta las ioctls GRESKEY y GREGKEY que permiten establecer u obtener la clave GRE utilizada para los paquetes salientes. ng_nat(4) soporta la funcionalidad de redirección en libalias. ng_pptpgre(4) soporta múltiples hooks como ng_l2tp(4), para usar un par de nodos pptpgre y ksocket para todas las llamadas entre dos peers. El resolver(3) permite el guion bajo en los nombres de dominio. Añadida una opción de socket TCP_CONGESTION para el socket TCP. Sirve para establecer y recuperar el algoritmo de control de congestión. El nombre utilizado es para permitir la compatibilidad con Linux. rwlock(9) se ha utilizado en toda la infraestructura de inpcbinfo e inpcb, y en los protocolos que dependen de dicha infraestructura, incluidos los sockets UDP, TCP e IP raw para reducir las contenciones de bloqueo. Discos y almacenamiento Controlador aac(4) admite matrices de 64 bits para RAID de más de 2 TB y abre simultáneamente el dispositivo para emitir comandos al controlador. Controlador ata(4) soporta una variable de cargador hw.ata.ata_dma_check_80pin. Corregido un problema de corrupción de datos del controlador ata(4) en los chipsets ServerWorks HT1000. Controlador ciss(4) soporta un cargador sintonizable hw.ciss.nop_message_heartbeat para el sondeo de mensajes NOP en ciss_periodic. Esto puede usarse como una solución para el problema ADAPTER HEARTBEAT FAILED. El valor por defecto es 0 (desactivado). Clase geom_part GEOM puede construirse como un módulo del núcleo. Clase geom_linux_lvm GEOM puede construirse como un módulo del kernel. Controlador hptrr(4) actualizado a la versión 1.2 de Highpoint. Corregido un desbordamiento de búfer en el controlador iir(4). Controlador mpt(4) soporta la personalidad mpt_user. Controlador rr232x(4) sustituido por el controlador hptrr(4). Mjorada la estabilidad del controlador twa(4) en máquinas con mucha memoria y alta carga de CPU. Sistemas de archivos El fdescfs(5) es MPSAFE. gpart(8) admite etiquetas de disco BSD (opción GEOM_PART_BSD) y etiquetas de disco VTOC8 (opción GEOM_PART_VTOC8). gvinum(8) acepta el parámetro de volumen al crear un plex. Cambios en Userland adduser(8) admite una opción -M para establecer el modo del directorio raíz de un nuevo usuario. atacontrol(8) admite un comando spindown para establecer o informar del tiempo de espera tras el cual se desconectará el dispositivo. chflags(1) admite la opción -v para una salida detallada, la opción -f para ignorar errores y la opción -h para permitir el establecimiento de opciones en enlaces simbólicos con la misma semántica que (por ejemplo) chmod(1). cp(1) soporta una bandera -a, que es equivalente a las banderas -RpP. cron(8) admite el indicador -m, que anula el destinatario de correo predeterminado para los mensajes de cron a menos que se indique explícitamente mediante la línea MAILTO= en el archivo crontab. dhclient(8) soporta más opciones descritas en dhcp-options(5); y soporta la función is_default_interface que determina si esta interfaz es una con la ruta por defecto. Environ(7), la matriz de cadenas de entorno, permite desestablecer una variable estableciendo el primer carácter como NULL. Esto es necesario para software de terceros como Dovecot y Postfix. fdisk(8) admite un indicador -q para no mostrar advertencias. El programa fetch(1) y la biblioteca libfetch soportan una variable de entorno NO_PROXY. Especifica una lista separada por comas o espacios en blanco de nombres de host para los que no se deben utilizar proxies. Si se especifica un único asterisco, se desactiva el uso de proxies. Añadidas las funciones ffsll(3) y flsll(3). Estas funciones son iguales que ffs(3) y fls(3), salvo que aceptan long long como argumentos. fortune(6) soporta la variable de entorno FORTUNE_PATH para especificar la ruta de búsqueda de los archivos fortune. freebsd-update.conf(5) soporta la sentencia IDSIgnorePaths. fwcontrol(8) soporta a opción -f nodo que especifica el nodo como nodo raíz en el siguiente reinicio del bus. Para sparc64: gcc(1) acepta la opción -mcpu correctamente; estaba codificada como -mcpu=ultrasparc. gpt(8) soporta ZFS. ifconfig(8) soporta la visualización de WPS IE (Wireless Provisioning Services Information Element). kgdb(1) soporta la orden add-kld kld para localizar un kld(4) y cargar sus símbolos; dispone de un backend de bibliotecas compartidas para los archivos del kernel que trata kld(4) como bibliotecas compartidas y autocarga símbolos para kld(4) al arrancar; y soporta un comando tid y otros comandos relacionados con módulos del kernel incluso para un objetivo remoto. Añadida la función kvm_getcptime(3) para obtener las estadísticas globales de tiempo de CPU del núcleo. La biblioteca libalias soporta los comandos PORT y EPRT FTP en minúsculas. man(1) incluye un soporte limitado de páginas de manual comprimidas con bzip2(1). mdconfig(8) soporta la opción -v (verbose) para la orden -l. Muestra el tamaño y el almacén de respaldo de todos los dispositivos md(4) a la vez. Añadida la función memrchr(3). Se comporta como memchr(3) excepto en que localiza la última aparición del carácter especificado en la cadena. mountd(8) soporta la opción -h bindip que especifica las direcciones IP a las que enlazar las peticiones TCP y UDP. Esta opción puede especificarse varias veces. Si no se especifica la opción -h, se utilizará INADDR_ANY. moused(8) admite la opción -L, que modifica la velocidad de desplazamiento, y cambia el comportamiento de la opción -U para que sólo afecte al umbral de desplazamiento. mv(1) soporta la especificación POSIX cuando se mueve un directorio a un directorio existente a través de dispositivos. periodic(8) soporta la variable de configuración daily_status_mail_rejects_shorten en periodic.conf(5). Esto permite que los informes de correo rechazado cuenten los rechazos por lista negra sin proporcionar detalles sobre los remitentes individuales. La configuración por defecto mantiene los informes en su forma original. ping6(8) utiliza los estados de salida 0 y 2 del mismo modo que ping(8); soporta una bandera -o, que hace que ping6(8) salga con éxito después de recibir un paquete de respuesta; y admite los indicadores -r y -R, que son equivalentes a los indicadores -a y -A de ping(8), respectivamente. El intervalo mínimo permitido de ping6(8) se ha reducido de 0,01 a 0,000001. realpath(1) admite la opción -q para suprimir advertencias; también acepta múltiples rutas en su línea de órdenes. El rfcomm_pppd(8) soporta una bandera -D para registrar el servicio DUN (Dial-Up Networking) además del servicio LAN (LAN Access Using PPP). sdpd(8) admite los perfiles NAP, GN y PANU. setkey(8) acepta esp como nombre de protocolo para el comando spdadd. top(1) y vmstat(8) soportan el indicador -P que muestra estadísticas por CPU. El traceroute(8) soporta una bandera -a para mostrar el número AS correspondiente a la dirección IP de búsqueda en cada salto. Consultará el número al servidor WHOIS especificado en la opción -A. Si no se especifica -A, se utilizará whois.radb.net como valor por defecto. Añadidas las funciones uuid_enc_le(3), uuid_dec_le(3), uuid_enc_be(3) y uuid_dec_be(3). Estas funciones codifican/decodifican una representación binaria de un UUID. watch(8) admite más de 10 dispositivos snp(4) a la vez. El ypserv(8) soporta una opción -P para especificar el número de puerto en el que debe escuchar. Scripts /etc/rc.d rc.conf(5) soporta la variable dummynet_enable que permite cargar el módulo del kernel dummynet(4) cuando firewall_enable es YES. ntpd rc(8) puede funcionar sin el archivo de configuración /etc/ntp.conf. ppp rc(8) soporta múltiples instancias. sysctl rc(8) soporta la carga de /etc/sysctl.conf.local además de /etc/sysctl.conf. rc.conf(5) soporta la configuración de interfaces y redes adjuntas para la regla de cortafuegos establecida por rc.firewall cuando firewall_type es simple o cliente. Consulte firewall_client_net, firewall_simple_iif, firewall_simple_inet, firewall_simple_oif y firewall_simple_onet. Ingeniería de lanzamiento e integración GNOME (x11/gnome2) actualizado 2.22. KDE (x11/kde3) actualizado 3.5.10. |
| Versión antigua, sin servicio técnico: 7.2 | 4/05/2009 | 30/06/2010 | Cambios en el núcleo El depurador del kernel ddb(8) soporta un subcomando show mount. El subsistema DTrace de FreeBSD soporta una sonda para la ejecución de procesos. Para amd64: El espacio de direcciones virtual del kernel de FreeBSD se ha incrementado a 6GB. Esto permite a los subsistemas utilizar un espacio de memoria virtual mayor que antes. Actualizado el subsistema jail(8) kld(4) soporta la instalación de llamadas al sistema de 32 bits a la capa de traducción de llamadas al sistema de FreeBSD desde módulos del kernel; y un nuevo KTR tracepoint en la clase KTR_CALLOUT para anotar cuando una rutina callout termina de ejecutarse. Los tipos de variables utilizados para realizar un seguimiento de la cantidad de memoria compartida del System V asignados han cambiado de int a size_t. Esto permite utilizar más de 2 GB de memoria para segmentos de memoria compartida en arquitecturas de 64 bits. T Los nodos hoja de sysctl(3) tienen una bandera para etiquetarse como MPSAFE. La capa de traducción de llamadas al sistema de 32 bits de FreeBSD soporta la instalación de llamadas al sistema de 32 bits para VFS_AIO. Para amd64 y i386: El subsistema de memoria virtual de FreeBSD soporta el uso totalmente transparente de superpáginas para la memoria de aplicaciones; las páginas de memoria de aplicaciones son promovidas o degradadas dinámicamente de superpáginas sin ninguna modificación en el código de la aplicación. Este cambio ofrece las ventajas de las páginas de gran tamaño, como la mejora de la eficiencia de la memoria virtual y la reducción de fallos en el TLB (translation lookaside buffer), sin inconvenientes como los cambios en la aplicación y la inflexibilidad de la memoria virtual. Cambios en el cargador de arranque boot(8) soporta el ID de volumen de 4 bytes que ciertas versiones de Windows® ponen en el MBR y la invocación de PXE pulsando la tecla F6 en algunas BIOS soportadas. Para i386: Mejorado el cargador boot(8) BTX. Esto soluciona varios problemas de arranque en máquinas recientes reportados para 7.1-RELEASE y anteriores. loader(8) es capaz de obtener opciones DHCP del arranque en red a través de variables kenv(2). Soporte de hardware Para sparc64: FreeBSD soporta la familia de procesadores Ultra SPARC III (Cheetah). El subsistema acpi(4) soporta una variable sysctl(8) debug.batt.batt_sleep_ms. En algunos portátiles con baterías inteligentes, la activación del software de monitorización de la batería hace que se pierdan las pulsaciones de atkbd(4). Esta variable sysctl añade un retardo en milisegundos al código de comprobación de estado como solución. Controlador acpi_asus(4) es compatible con los portátiles Asus A8Sr. Para Powerpc: Añadido soporte para AltiVec, un conjunto de instrucciones SIMD de coma flotante y enteros. Añadido el controlador cpuctl(4), que proporciona un dispositivo especial /dev/cpuctl como interfaz a la CPU del sistema. La funcionalidad de cpuctl(4) incluye la capacidad de recuperar información de CPUID, leer/escribir registros específicos de máquina (MSR) y realizar actualizaciones del firmware de la CPU. Controlador cpufreq(4) admite una variable de carga hw.est.msr_info. Cuando se establece a 1, intenta construir una lista simple que contenga sólo las frecuencias altas y bajas si no puede obtener una lista de frecuencias de ACPI o de las tablas estáticas. Para amd64 y i386: Los notificadores de cambio de frecuencia de la CPU están deshabilitados cuando el TSC es invariante del estado P. Además, se ha añadido un nuevo sintonizable del cargador kern.timecounter.invariant_tsc para forzar este comportamiento estableciéndolo a un valor distinto de cero. Controlador atkbd(4) desactiva el manejador de interrupciones que es llamado desde la función de llamada de retorno del teclado cuando el modo de sondeo está activado. Esto soluciona el problema de caracteres duplicados/faltantes en el prompt mountroot en sistemas multi CPU mientras kbdmux(4) está habilitado. En el subsistema pci(4), INTx está desactivado cuando MSI/MSIX está activado. Este cambio soluciona problemas relacionados con tormentas de interrupciones. Para sparc64: Añadido el controlador schizo(4) para los puentes Schizo Fireplane/Safari a PCI 2.1 y Tomatillo JBus a PCI 2.2. Añadido controlador u3g(4) para tarjetas y dongles 3G basados en USB, incluyendo Vodafone Mobile Connect Card 3G, Qualcomm CDMA MSM, Huawei E220, Novatel U740, Sierra MC875U, y otros. Esto proporciona soporte para las múltiples interfaces USB-a-serie expuestas por muchos módems 3G USB/PC Card, y se accede al dispositivo a través del controlador ucom(4) que hace que se comporte como un tty(4). El planificador sched_ule(4) soporta un sintonizable del cargador machdep.hyperthreading_enabled como lo hace sched_4bsd(4). Soporte multimedia Controlador agp(4) es compatible con los chipsets gráficos de la serie Intel G4X. Actualizado el DRM, un módulo del kernel llamado Direct Rendering Manager que da acceso directo por hardware a los clientes DRI. Se ha mejorado la compatibilidad con los chips basados en AMD/ATI r500, r600, r700 e IGP, XGI V3XE/V5/V8 y los chipsets Intel i915. Añadida una nueva variable de carga hw.drm.msi para controlar si DRM utiliza MSI o no. Por defecto, está establecido en 1 (activado). Controlador snd_au88x0(4) para Aureal Vortex 1/2/Advantage PCI se ha eliminado porque estuvo roto durante mucho tiempo. Se ha actualizado el controlador snd_hda(4). Estos cambios incluyen soporte para múltiples códecs por bus HDA, múltiples grupos funcionales por códec, múltiples dispositivos de audio por grupo funcional, entrada/salida de audio digital (SPDIF/HDMI), suspensión/reanudación y parte de audio multicanal. Soporte de interfaz de red Controlador ae(4) soporta WoL (Wake on LAN). Para amd64 y i386: El controlador ale(4) se incluye en el núcleo GENERIC. ath_hal(4), Atheros Hardware Access Layer, ha sido actualizado a la versión de código abierto. Mjeorado el rendimiento del controlador axe(4) eliminando conmutaciones de contexto adicionales y es compatible con el adaptador Ethernet USB de Apple. Firmware del controlador bce(4) actualizado a la última versión (4.6.X). Ccontrolador ciphy(4) es compatible con Vitesse VSC8211 PHY. Controlador cxgb(4) se ha actualizado a la revisión de firmware 4.7 y admite estadísticas MAC por hardware. Mejorado el controlador fxp(4). Controlador ixgbe(4) actualizado a la versión 1.7.4. Controlador jme(4) es compatible con las nuevas revisiones de JMicron JMC250/JMC260. Mejorado el controlador msk(4). Se ha corregido un problema que hacía que se colgara en determinadas condiciones. Se ha añadido soporte para estadísticas MAC de hardware y los usuarios pueden obtener la información a través de variables sysctl denominadas dev.msk.N.stats. Controlador mxge(4) admite algunas revisiones más recientes y los tipos de medios 10GBASE-LRM y 10GBASE-Twinax. Controlador nfe(4) soporta estadísticas MAC por hardware. Mejorado el controlador re(4). Detecta el estado del enlace. Añadida una nueva variable de carga hw.re.prefer_iomap, para desactivar el mapeo de registros de memoria. Este sintonizable es 0 para todos los controladores excepto la familia RTL8169SC. Mejorado el controlador rl(4). Detecta el estado del enlace y se ha corregido un error que impedía su funcionamiento en sistemas con más de 4 GB de memoria. Controlador txp(4) funciona en todas las arquitecturas soportadas. Añadido soporte para altq(4), WoL, checksum offload cuando VLAN está habilitada, y se ha mejorado el manejo de cambios de estado de enlace, y se han añadido nuevas variables sysctl dev.txp.N.stats para estadísticas MAC. Protocolos de red La opción de firma MD5 de TCP (RFC 2385) para IPv6 se ha implementado de la misma forma que para IPv4. El nodo Netgraph ng_netflow(4) incluye soporte para generar netflow de salida en lugar o además de los de entrada. Se ha añadido un mensaje de control NGM_NETFLOW_SETCONFIG para controlar la nueva funcionalidad. La interfaz de red de software de túnel Ethernet tap(4) soporta un nuevo ioctl de dispositivo de caracteres TAPGIFNAME. Este es un atajo conveniente para obtener el nombre de la interfaz de red usando un descriptor de archivo a un dispositivo de caracteres. El tap(4) soporta el ioctl SIOCSIFMTU para establecer una MTU superior a 1500 (ETHERMTU). Esto permite añadir dispositivos tap(4) al mismo puente (que requiere que todos los miembros de la interfaz tengan la misma MTU) con una interfaz configurada para tramas jumbo. La lista de dominios para manejar la lista de dominios soportados en el subsistema unix(4) (familia de protocolos de dominio UNIX) es MPSAFE. Discos y almacenamiento Controlador ata(4) soporta Marvell PATA M88SX6121. Controlador ata(4) reconoce las controladoras SATA nForce MCP67 y MCP73 como AHCI. Controlador ataraid(4) incluye soporte preliminar para metadatos DDF encontrados en controladores Adaptec HostRAID. subsistema SCSI cam(4) soporta una nueva variable sysctl kern.cam.cd.retry_count. Esto controla el número de reintentos para el soporte CD. Cuando se intentan leer CDs y DVDs rayados o dañados, el mecanismo por defecto no es óptimo, y programas como ddrescue lo hacen mucho mejor si se desactivan completamente los reintentos ya que sus algoritmos lo hacen por sí mismos. Este valor está establecido en 4 (para un total de 5 intentos) por defecto. Establecerlo a 0 desactiva todos los reintentos. La clase glabel(8) GEOM soporta una nueva etiqueta basada en UFS llamada ufsid que puede ser usada para referenciar dispositivos portadores de UFS por el ID único del sistema de archivos. Este ID del sistema de archivos se genera y detecta automáticamente cuando se activa la clase glabel(8) GEOM. La clase GEOM de gjournal(8) soporta el sistema de ficheros raíz. Anteriormente, un apagado no limpio hacía imposible montar el sistema de archivos raíz en el arranque. Actualizada la utilidad gpart(8). El esquema APM soporta particiones Tivo Serie 1 (sólo lectura), se ha añadido un nuevo esquema EBR para soportar Extended Boot Record, el esquema BSD soporta bootcode, y se han corregido errores en los esquemas PC98 y VTOC8. Solucionado un problema en gvinum(8) con los permisos de acceso a los discos subyacentes utilizados por un plex gvinum. Si el plex es un plex raid5 y se está escribiendo en él, es posible que haya que leer datos de paridad de los discos subyacentes, lo que requería abrirlos tanto para lectura como para escritura. Controladores mmc(4) y mmcsd(4) soportan tarjetas MMC y SDHC, temporización de alta velocidad, bus ancho y transferencias multibloque. Par sparc64: Controlador mpt(4) está en el núcleo GENERIC. Añadido el controlador sdhci(4). Admite dispositivos PCI de clase 8 y subclase 5 según la especificación SD Host Controller. Controlador sdhci(4) soporta el volcado del núcleo y una variable sysctl hw.sdhci.debug para el nivel de depuración. Controlador twa(4) soporta DMA de 64 bits. Controladores mmc(4) mmcsd(4) y sdhci(4) se incluyen como módulos del núcleo. Sistemas de archivos La semántica de las listas de control de acceso ampliadas acl(3) se ha modificado como sigue: El tiempo de modificación del inodo (mtime) no se actualiza cuando se añaden, modifican o eliminan atributos extendidos. El tiempo de acceso al inodo (atime) no se actualiza cuando se consultan atributos extendidos. El sistema de ficheros NFS de FreeBSD soporta una variable sysctl vfs.nfs.prime_access_cache para determinar si nfs_getattr utilizará o no una RPC ACCESS para cebar la caché de acceso en lugar de una simple RPC GETATTR. El sistema de archivoss UDF de FreeBSD soporta fifo. Mejorado el bloqueo compartido de nodos virtuales para búsquedas de rutas en el subsistema VFS(9). Está desactivado por defecto. Establecer la variable sysctl vfs.lookup_shared a 1 lo habilita para un mejor rendimiento. Tenga en cuenta que se ha eliminado la opción del kernel LOOKUP_SHARED equivalente a la variable sysctl. Cambios en Userland Añadido el demonio btpand(8) desde NetBSD. Este demonio proporciona soporte para los perfiles Bluetooth Network Access Point (NAP), Group Ad-hoc Network (GN) y Personal Area Network User (PANU). ncal(1) admite caracteres multibyte. config(8) soporta múltiples líneas makeoption. csup(1) soporta CVSMode para obtener un repositorio CVS completo. dirname(1) acepta múltiples argumentos del mismo modo que basename(1). du(1) soporta la opción -l. Cuando se especifica, la utilidad du(1) cuenta un archivo con múltiples enlaces duros como múltiples archivos diferentes. du(1) admite un indicador -A para mostrar el tamaño aparente en lugar del uso del disco. Esto puede ser útil cuando se trabaja con volúmenes comprimidos o archivos dispersos. du(1) soporta la opción -B tamaño de bloque para calcular el recuento de bloques en bloques de bytes de tamaño de bloque. Esta opción es diferente de las opciones -k o -m o de la configuración de BLOCKSIZE y proporciona una estimación de cuánto espacio requeriría la jerarquía de ficheros examinada en un sistema de ficheros con el tamaño de bloque dado. Salvo en el modo -A, el tamaño de bloque se redondea al siguiente múltiplo de 512. dumpfs(8) soporta la opción -f, que hace que liste todos los fragmentos libres del sistema de ficheros por número de fragmento (bloque). Este nuevo modo realiza la aritmética necesaria para generar números de fragmento absolutos en lugar de los números cg-relativos impresos en el modo por defecto. fetch(1) soporta una bandera -i que soporta la petición If-Modified-Since HTTP 1.1. Si se especifica, hará que el archivo se descargue sólo si es más reciente que el mtime del archivo local. Si se especifica, hará que el archivo se descargue sólo si es más reciente que el mtime del archivo local. Además, libfetch acepta el mtime en la estructura url y una bandera para indicar cuando se desea este comportamiento. fsck(8) soporta la opción -C para comprobar el modo limpio. Esta opción comprueba si el sistema de ficheros se ha desmontado limpiamente y, en caso afirmativo, omite las comprobaciones del sistema de ficheros. En caso contrario, realiza comprobaciones completas. fsck(8) soporta una bandera -D para el modo de recuperación de datos dañados, que habilitará ciertas operaciones agresivas que pueden hacer que fsck(8) sobreviva con sistemas de ficheros que tengan daños muy serios en los datos. Este es un último recurso útil cuando los daños en los datos del disco son muy graves y hacen que fsck(8) se bloquee. Función getaddrinfo(3) soporta SCTP. ln(1) admite la opción -w para comprobar si el archivo de origen existe realmente. Si se especifica esta opción y el fichero no existe, ln(1) mostrará un mensaje de advertencia. make(1) soporta una bandera -p para imprimir sólo el gráfico de entrada, sin ejecutar ningún comando. La salida es la misma que -d g1. Cuando se combina con -f /dev/null, sólo se muestran las reglas incorporadas de make. make(1) admite una bandera -Q para hacer que no se generen banderas de archivo, además del mismo efecto de una bandera -q cuando se especifica una opción -j. make(1) soporta la variable .MAKE.JOB.PREFIX. Si se especifican -j y -v, su salida para cada objetivo lleva como prefijo un token --- target --- cuya primera parte puede controlarse mediante la variable. make(1) soporta las variables .MAKE.PID y .MAKE.PPID. Éstas se establecen como ID de proceso del proceso make(1) y su proceso padre respectivamente. Añadida la utilidad makefs(8) para crear una imagen de sistema de ficheros a partir de un árbol de directorios. mergemaster(8) admite una opción -F para instalar automáticamente archivos que sólo difieren en sus cadenas de ID de control de versiones. mount(8) soporta una opción -o mountprog=/somewhere/mount_xxx para forzarla a usar el programa especificado para montar el sistema de ficheros en lugar de llamar directamente a nmount(2). etstat(1) informa de las estadísticas de cola de escucha de los sockets unix(4) cuando se especifica la opción -L. pciconf(8) soporta una bandera -b, que lista cualquier registro de dirección base (BAR) que tenga recursos asignados para cada dispositivo. Mjorado el programa powerd(8). Los cambios incluyen una estimación razonable de la carga de la CPU en sistemas SMP y un nuevo modo llamado hiadaptive para sistemas alimentados por CA. El modo hiadaptive sube la frecuencia de la CPU el doble de rápido que adaptive, baja la frecuencia de la CPU 4 veces más despacio, prefiere una carga de la CPU dos veces menor y tiene un retardo adicional antes de dejar la frecuencia más alta tras el periodo de carga máxima. stat(1) muestra una representación octal de los bits suid, sgid y sticky cuando se especifica el indicador -x. Añadida la función strndup(3). wc(1) admite un indicador -L para mostrar el número de caracteres de la línea de entrada más larga. Software aportado ISC BIND actualizado a la versión 9.4.3-P2. La base de datos de zonas horarias se ha actualizado de la versión tzdata2008h a la versión tzdata2009f. FreeBSd Ports/paquetes Corregido un error de la utilidad pkg_create(1) que impedía que funcionara el indicador -n. FreeBSD Ports soporta múltiples tareas make(1) en algunos ports soportados. Esto se activa automáticamente cuando un port está marcado como MAKE_JOBS_SAFE y mejora la utilización de la CPU en la fase de compilación pasando una opción -jX al Makefile de nivel superior del proveedor. El número X se establece en el número de CPUs por defecto, y puede ser establecido por los usuarios a través de una variable make(1) MAKE_JOBS_NUMBER. Ingeniería de lanzamiento e integración GNOME (x11/gnome2) actualizado de 2.22 a 2.26. KDE actualizado de 3.5.10 (x11/kde3) a 4.2.2 (x11/kde4). |
| Versión antigua, sin servicio técnico: 7.3 | 23/03/2010 | 31/03/2012 | Cambios en el núcleo Añadida la llamada al sistema closefrom(2). Cierra todos los descriptores de fichero abiertos que sean iguales o mayores que el valor especificado. subcomandos ddb(8) para geom(8) admiten la paginación. Las llamadas al sistema futimes(2), lutimes(2) y utimes(2) admiten una variable sysctl vfs.timestamp_precision. El subsistema jail(8) soporta las variables sysctl security.jail.ip4_saddrsel y security.jail.ip6_saddrsel para controlar si se utiliza la selección de la dirección de origen o la dirección principal de la jaula para las conexiones salientes no enlazadas. Por defecto, la selección de la dirección de origen está activada. Para amd64: El espacio kmem_map KVA se ha incrementado a 512GB. Añadido controlador lindev(4). Es para pseudodispositivos específicos de Linux y actualmente sólo se utiliza para /dev/full. La capa de emulación Linux de FreeBSD soporta la opción de socket SO_PEERCRED, MSG_CMSG_CLOEXEC para recvmsg, y futex robusto. El futex ha sido reimplementado usando el bloqueo sx(9). También se ha añadido el soporte inicial de ktr(4) tracing. Corregido un error de gestión de bloqueos en la interacción entre la implementación de malloc(3) y la biblioteca de hilos. Cuando un proceso multihilo llamaba a la llamada al sistema fork(2) en un hilo y a la función malloc(3) en otro hilo, se producía un bloqueo en el proceso hijo. FreeBSD soporta semáforos POSIX (opción del kernel P1003_1B_SEMAPHORES) por defecto. Corregido un bloqueo en el planificador sched_ule(4). Añadida la API sglist(9) para gestionar listas dispersas/reunidas de direcciones físicas. Cambiada internamente la ABI de FreeBSD de algunas de las estructuras utilizadas por la API de IPC de System V, y soporta segmentos de memoria compartida para IPC de System V mayores de 2GB en plataformas de 64 bits. Para los nuevos módulos del núcleo, las funciones kern_msgctl, kern_semctl y kern_shmctl serán renombradas de forma transparente a las nuevas funciones kern_new_* mediante el uso de calces ABI. Las funciones antiguas permanecerán con sus nombres antiguos para proporcionar compatibilidad con módulos anteriores del núcleo. Añadida una nueva variable sysctl security.bsd.map_at_zero y se ha puesto a 1 (permitir) por omisión. Esto controla si FreeBSD permite mapear un objeto en la dirección 0, que es parte de la porción controlada por el usuario del espacio de direcciones virtual. Deshabilitar esto tiene algún efecto en la prevención de un ataque que inyecta código malicioso en esa ubicación y desencadena una desviación de puntero NULL en el kernel. Cambios en el cargador de arranque Añadido un nuevo gestor de arranque gptzfsboot, que soporta GPT y ZFS. El gestor de arranque zfsboot siempre utiliza LBAs de 64 bits y soporta más de siete unidades en los pools ZFS. Crregido un error en zfsboot. Un /boot.config menor de 512 bytes era ignorado. Añadido zfsloader, el último cargador de arranque similar a loader(8) que soporta ZFS. Corregido un error en el gestor de arranque. No reconocía GPT correctamente cuando el sistema soporta tanto MBR como GPT y están sincronizados entre sí. Para pc98: El programa boot2 reimplementado basándose en la última versión para i386. Soporte de hardware Añadido controlador amdsbwd(4) para el temporizador de vigilancia AMD SB600/SB7xx. El controlador cpuctl(4) soporta el establecimiento/borrado atómico de bits individuales de un registro MSR. Dos nuevas llamadas ioctl CPUCTL_MSRSBIT y CPUCTL_MSRCBIT tratan el campo de datos de struct en el argumento pasado como una máscara y establecen/borran bits del registro MSR de acuerdo con el valor de la máscara. La utilidad cpucontrol(8) también soporta esta característica. Para más detalles, consulte la sección Cambios en Userland. Controlador cpufreq(4) es compatible con Phenom (familia 10h). Para amd64 y i386: Optimizado el vaciado de la caché de la CPU cuando se cambian los atributos de caché de las páginas no haciendo nada en las CPUs que soportan el autosnooping y utilizando CLFLUSH en lugar de una invalidación completa de la caché cuando es posible. FreeBSD no utiliza CLFLUSH en CPUs Intel debido a problemas con el vaciado del rango APIC local por omisión. Esto puede controlarse mediante la opción hw.clflush_disable del cargador. Para sparc64: Añadido controlador epic(4) para los LEDs del panel frontal en Sun Fire V215/V245. Para sparc64: Se ha añadido el controlador fire(4) para los puentes "Fire" JBus a PCIe que se encuentran al menos en las máquinas Sun Fire V215/V245 y Sun Ultra 25/45. Para amd64 y i386: Se ha añadido el controlador hwpmc(4) para el contador de monitorización del rendimiento del hardware. Consiste en el controlador del núcleo, la biblioteca de interfaz pmc(3) y las utilidades de usuario pmcannotate(8), pmccontrol(8) y pmcstat(8), y permite a las aplicaciones utilizar contadores de rendimiento de hardware para recopilar datos de rendimiento sobre procesos específicos o para el sistema en su conjunto. Controlador k8temp(4) ha sido renombrado con amdtemp(4). El nuevo controlador es compatible con AMD K10 y K11, así como con K8. Añadida la opción hw.mca.enabled. Se puede utilizar para activar/desactivar el código de comprobación de la máquina. Desactivado por defecto. Añadida una variable sysctl hw.pagesizes. Informa de todos los tamaños de página soportados en el sistema. Mejorado el acceso al espacio de configuración mapeado en memoria PCI Express, el soporte de la tabla ACPI MCFG y el manejo de BAR (Base Address Register) en el subsistema pci(4). Esto está desactivado por defecto y se puede activar mediante el establecimiento de un cargador sintonizable hw.pci.mcfg a 1. Para amd64 y i386: FreeBSD soporta la familia de procesadores VIA Nano. Soporte multimedia DRM es compatible con Radeon HD 4200 (RS880), 4770 (RV740) y R6/7xx 3D, así como con los chips Intel G41. Controlador vgapci(4) para dispositivos de visualización PCI VGA que pueden adjuntar dispositivos como hijos soporta la delegación de peticiones PCI MSI/MSI-X (Message Signaled Interrupt) y peticiones de interrupción de bus para los dispositivos hijos. Esto permite a los dispositivos hijos utilizar las interrupciones MSI/MSI-X. Soporte de interfaz de red Añadido controlador alc(4) para el controlador Ethernet PCIe Atheros AR8131/AR8132. Controlador bge(4) es compatible con TSO (TCP segmentation offloading) para chips BCM5755 o posteriores. Para sparc64: Añadido controlador cas(4) para dar soporte a los dispositivos Sun Cassini/Cassini+ y National Semiconductor DP83065 Saturn Gigabit Ethernet. Controlador et(4) soporta la descarga de sumas de comprobación IPv4/TCP/UDP Tx. Mejorado el controlador fxp(4). La reprogramación del filtro multicast es más robusta. Se ha corregido un error que provocaba una longitud incorrecta de los paquetes IP en la cabecera cuando se activaba TSO (TCP segmentation offloading). Esto corrige el bajo rendimiento cuando TSO está activado en las versiones anteriores. Mejorado controlador msk(4) para un funcionamiento más robusto. Además, es compatible con Yukon FE+ A0, incluidos 88E8040, 88E8040T, 88E8042, 88E8048, 88E8057 y 88E8070. Mejorado controlador nge(4), que funciona en todas las plataformas compatibles. Soporta altq(4), descarga de sumas de comprobación por hardware para tramas etiquetadas vlan(4), WoL (Wake-on-Lan), tramas jumbo y comandos PCI MWI (Memory Write and Invalidate). Las estadísticas MAC de hardware pueden obtenerse a través de una nueva variable sysctl dev.nge.N.stats. Se ha añadido otra nueva variable sysctl dev.nge.N.int_holdoff para controlar la moderación de interrupciones. Los rangos válidos son de 1 (100us) a 255, y la entrega real de la interrupción se retrasaría en función de este valor. El valor por defecto es 1. Para más detalles, consulte la página del manual nge(4). Controlador ste(4) mejorado, funcionando en todas las plataformas compatibles. soporta suspender/reanudar y WoL (Wake-on-Lan). Las estadísticas MAC del hardware pueden obtenerse a través de una nueva variable sysctl dev.ste.N.stats. Se ha añadido otra nueva variable sysctl dev.ste.N.int_rx_mod para controlar el tiempo de moderación de la interrupción RX. El valor por defecto es 150 (150us). Para más detalles, consulte la página del manual ste(4). Se ha mejorado el controlador vge(4). soporta la descarga de sumas de comprobación por hardware para tramas etiquetadas vlan(4) y WoL (Wake-on-Lan). Protocolos de red Corregido error en gif(4) que hacía que los paquetes EtherIP enviados por la combinación de if_bridge(4) y gif(4) tuvieran un campo de versión invertido. Si necesita comunicarse con versiones antiguas de FreeBSD a través de EtherIP utilice los nuevos flags accept_rev_ethip_ver y send_rev_ethip_ver para controlar el manejo del campo de versión invertido. Estos pueden ser configurados por la utilidad ifconfig(8) en las interfaces gif(4). La implementación de EtherIP en FreeBSD 6.1, 6.2, 6.3, 7.0, 7.1 y 7.2 tenía un problema de interoperabilidad porque enviaba paquetes EtherIP incorrectos y descartaba los correctos. Protocolo IPcomp está activado por defecto. Esto puede ser controlado por una variable sysctl net.inet.ipcomp.ipcomp_enable. Sustituida la opción del kernel IPFW_DEFAULT_TO_ACCEPT por una nueva variable del cargador net.inet.ip.fw.default_to_accept. El valor puede consultarse mediante una variable sysctl del mismo nombre. Interfaz de red de software tap(4) soporta un nuevo ioctl TAPGIFNAME. Se trata de un cómodo atajo portado desde NetBSD para obtener el nombre de la interfaz de red usando el descriptor de fichero para el dispositivo de caracteres. Controlador vlan(4) está habilitado en el kernel GENERIC. Discos y almacenamiento Controlador aac(4) sincronizado con el último controlador oficial del proveedor. Controlador ahc(4) es compatible con los adaptadores Adaptec 39320LPE. Incrementado el tiempo de espera del comando ATA en el controlador ata(4). Este valor puede establecerse utilizando la opción del kernel ATA_REQUEST_TIMEOUT. Modificado un algoritmo para el modo de equilibrio de carga en la clase GEOM de gmirror(8) y este modo se establece por defecto en lugar de dividir. El modo de carga utiliza el número medio de peticiones que se ejecutan en cada unidad en lugar de medir el tiempo de ejecución de la última petición de cada unidad y elegir la que tenga el tiempo más bajo. El tamaño de stripe por defecto de la clase GEOM gstripe(8) se ha cambiado de 4KB a 64KB. Este cambio afectará a los usuarios que prefieran el comando create al comando label, que tendrán que especificar explícitamente el antiguo tamaño de banda (-s 4096) para poder utilizar sus antiguos volúmenes gstripe(8). Controlador hptrr(4) soporta un nuevo sintonizador de cargador hw.hptrr.attach_generic para evitar que el controlador se conecte a algunos chips Marvell que no tienen HPT RAID BIOS. Controlador mfi(4) es compatible con LSI MegaRAID SAS 1078 y Dell PERC6. Sistemas de archivos El Sistema de Archivos en Red de FreeBSD soporta el almacenamiento en caché de la búsqueda negativa de rutas en el cliente NFS, y utiliza un tiempo de espera de 3 segundos (30 segundos en las versiones anteriores) para almacenar en caché los atributos de un directorio en el cliente. El subsistema pseudofs(9) utilizado en procfs(5) y linprocfs(5) es MPSAFE. UFS_DIRHASH (activado por defecto) soporta la eliminación de los datos de la caché cuando la memoria del sistema es baja (a través del manejador de eventos vm_lowmem). Añadida nueva variable sysctl para el subsistema VFS(9) vfs.flushbufqtarget. Esto puede solucionar problemas en bufdaemon, un proceso del kernel responsable de vaciar los búferes sucios, lo que puede provocar que el proceso se bloquee en una determinada carga de trabajo. El valor de la variable determina el número de búferes que se vaciarán antes de asignar un nuevo búfer. El valor por defecto de la variable en 7.3-RELEASE es -1 (desactivada). En FreeBSD 8.0-RELEASE se utiliza 100 por omisión. ZFS actualizado de la versión 6 a la versión 13. Esta actualización incluye numerosas características nuevas de ZFS, como permitir a usuarios no root realizar algunas funciones administrativas, soporte de discos adicionales para caché o el ZFS Intent Log, y soporte parcial de chflags(2). También incluye algunos añadidos específicos de FreeBSD, como el arranque desde sistemas de ficheros ZFS, la eliminación de las limitaciones de tamaño de ARC, la contrapresión de ARC (que permite a ZFS trabajar sin tunables en amd64), y muchas correcciones de errores. Cambios en el Userland La utilidad acpidump(8) soporta el análisis sintáctico de SRAT (System Resource Affinity Table, tabla de afinidad de recursos del sistema utilizada para describir las relaciones de afinidad entre CPU y memoria. El comando apropos(1) no establece los directorios necesarios en la variable PATH. Esto significa que si la persona que llama no tiene /bin y /usr/bin en PATH, entonces no funciona. La biblioteca bluetooth(3) es compatible con la API HCI de Bluetooth. El daemon btpand(8) admite nombres de nodo de dispositivo Bluetooth en una opción -d. El comando cp(1) conserva las banderas de archivo en enlaces simbólicos cuando se especifican las opciones -Rp. Informaba de un error "función no implementada". El comando cpucontrol(8) permite al usuario realizar operaciones atómicas bitwise AND y OR en registros MSR. Se han añadido dos nuevas operaciones (&= y |=). La primera aplica una operación AND por bits entre el contenido actual del registro MSR y la máscara, y la segunda realiza una operación OR por bits. Opcionalmente, el argumento puede ir precedido del operador de inversión ~. El siguiente es un ejemplo para borrar el segundo bit del TSC MSR: cpucontrol -m 0x10&=~0x02 omando cpuset(1) soporta la vinculación de interrupciones mediante una nueva opción -x irq. archivo crontab(5) por defecto ya no define una variable HOME. La orden df(1) utiliza una salida legible para los recuentos de inodos cuando se especifica -H o -h. La utilidad dhclient(8) utiliza 68 (bootpc) como puerto de origen para los paquetes DHCPREQUEST unicast en lugar de permitir que la pila de protocolos elija un puerto de origen aleatorio. Esto corrige el comportamiento por el que dhclient(8) nunca hacía la transición de RENOVING a BOUND sin pasar por REBINDING en algunas redes que tienen una política estricta sobre la suplantación de DHCP. La utilidad fdisk(8) admite calificadores de tamaño (K, M y G) y * para el cálculo automático en el comando p. comando fetch(1) soporta la autenticación HTTP digest; y las variables de entorno NO_PROXY y no_proxy para deshabilitar el uso del proxy HTTP. Para más detalles, consulte la página del manual de fetch(3). El comando gzip(1) permite descomprimir archivos comprimidos por pack(1), que se encuentra en algunos sistemas Unix comerciales. La utilidad ktrace(1) soporta un nuevo registro KTRACE para invocaciones a sysctl(3). biblioteca libc de FreeBSD incluye la función fdopendir(3). incluye la función feature_present(3) que comprueba si una característica del kernel está presente comprobando la MIB sysctl kern.features, e incluye la función getpagesize(3) que devuelve el número de tamaños de página soportados por el sistema o un subconjunto especificado de los tamaños de página soportados. libradius(3) soporta servidor RADIUS simple incrustado. Comando lp(1) admite la opción -m para enviar un correo electrónico después de imprimir los archivos, y la opción -t title para escribir el título en la página de cabecera de la salida. Estas opciones son requeridas por el estándar POSIX. Comando lpq(1) traduce correctamente los nombres de host remotos que contienen caracteres de fin de línea no estándar. Comando man(1) soporta páginas de manual en UTF-8. utilidad mergemaster(8) utiliza una opción -L cuando invoca al comando mtree(8) para seguir enlaces simbólicos, y admite la variable DELETE_STALE_RC_FILES en el archivo mergemaster.rc para eliminar automáticamente los scripts rc.d obsoletos. Añadida una utilidad de usuario mfiutil(8) para los dispositivos mfi(4). Incluye funciones básicas para monitorizar el estado de la controladora, la matriz y la unidad, cambiar atributos básicos, crear/borrar matrices y repuestos, y limpiar el firmware de la controladora. Añadida una utilidad de usuario mptutil(8) para los dispositivos mpt(4). Incluye funciones básicas para supervisar el controlador, la matriz y el estado de la unidad, cambiar los atributos básicos y crear/eliminar matrices y repuestos. Comando newfs_msdos(8) admite soportes que no tienen parámetro CHS. El daemon ntpd(8) ya no intenta enlazar una dirección IPv6 anycast. Comando pkill(1) se ignora a sí mismo y a los ancestros al encontrar procesos. Se ha añadido la opción -a para compatibilidad con versiones anteriores. Comando ps(1)soporta una nueva bandera -p. Muestra información descendiente con una salida similar a -H (o -f) de Linux. Añadida la orden pwait(1), que espera a que finalice cualquier proceso. pwd_mkdb(8) comprueba que la longitud del nombre de inicio de sesión sea inferior a MAXLOGNAME cuando se especifica la opción -C. El enlazador en tiempo de ejecución de FreeBSD, rtld(1) mejorado. La función strptime(3) soporta el especificador de formato %z. La utilidad sysinstall(8) admite una lista separada por comas de interfaces de red en la opción netDev de install.cfg. Para ia64: La utilidad sysinstall(8) utiliza 400MB para la partición EFI en lugar de los 100[Megabyte|MB]] de las versiones anteriores. El indicador tail(1) -F persiste en el intento de abrir ficheros en lugar de abandonar cuando encuentra un error. Los errores ENOENT no se reportan. Este comportamiento es consistente con la versión GNU. Comando tftp(1) devuelve un estado de salida correcto en caso de transferencia exitosa de archivos. El programa traceroute(8) utiliza la selección de dirección de origen en el núcleo incluso en un entorno jail(8). traceroute(8) y traceroute6(8) admiten un indicador -a para mostrar el número AS correspondiente a la dirección IP de búsqueda en cada salto. Comando tzsetup(8) soporta una opción -s para saltarse la pregunta inicial sobre el ajuste del reloj si no está configurado en UTC. Actualizada la utilidad whois(1). Se ha eliminado una opción -d porque whois.nic.mil ya no existe, y admite la búsqueda de direcciones IPv6 igual que puede hacerlo para direcciones IPv4 sin tener que especificar explícitamente que se debe utilizar el servidor ARIN para obtener la información inicial. Las utilidades yp(8) soportan los mapas shadow.byname y shadow.byuid. Esto requiere acceso privilegiado al puerto. Scripts /etc/rc.d Añadido comando service(8) como interfaz sencilla para los scripts rc.d. El fichero rc.conf(5) soporta create_args_IF para interfaces creadas mediante cloned_interfaces; y vlans_IF para crear interfaces vlan(4). Si una interfaz vlan es un número, entonces ese número se trata como la etiqueta vlan para la interfaz y la interfaz se llamará "IF.N". De lo contrario, la etiqueta vlan debe proporcionarse a través de un parámetro vlan en una variable create_args_IF. Script rc.d/fsck soporta opciones para fsck_y_enable a través de fsck_y_flags. Script rc.d/named soporta la comprobación de archivos de zona mediante named-checkconf(8) antes del arranque. Script rc.d/savecore soporta invocar crashinfo(8) automáticamente durante el arranque. Se ha añadido una nueva variable crashinfo_enable para habilitarlo. Añadido el script rc.d/static_arp. Esto permite al administrador enlazar estáticamente la MAC a la dirección IPv4 en el momento del arranque. FreeBSD Ports/paquetes Corregido un error del comando pkg_info(1) que provocaba un fallo de segmentación cuando se especificaba una opción larga no válida. Ingeniería de lanzamiento e integración Las imágenes ISO de la versión de FreeBSD tienen "FreeBSD-" al principio de los nombres de fichero. GNOME (x11/gnome2) se ha actualizado a 2.28.2. KDE (x11/kde4) se ha actualizado a 4.3.5. |
| Versión antigua, sin servicio técnico: 7.4 | 24/02/2011 | 28/02/2013 | Cambios en el núcleo Para sparc64: FreeBSD/sparc64 soporta la asignación de memoria física basada en reservas, lo que proporciona un mejor rendimiento. Para sparc64:FreeBSD/sparc64 soporta CPUs UltraSPARC IV, IV+ y SPARC64 V. Soporte de alq(9) se proporciona como un módulo del kernel alq.ko. El framework memguard(9) de FreeBSD mejorado para que sea capaz de detectar el uso después de la liberación de memorias asignadas durante más tiempo. Añadidaso las siguientes variables sysctl(8): vm.kmem_map_size para el tamaño actual del mapa kmem y vm.kmem_map_free para el mayor rango libre contiguo en el mapa kmem.[r213554, r213556, r213560] Soporte de hardware Para amd64 y i386: Controlador ichwd(4) es compatible con el temporizador de vigilancia del chipset Intel NM10 Express. Para amd64 y i386: Añadido controlador de pseudo bus qpi(4). Esto soporta buses PCI extra en chipsets Intel QPI donde se conecta diverso hardware como controladores de memoria para cada socket. Soporte multimedia Actualizado el controlador acpi_video(4). Se ha implementado el controlador de notificación de control de brillo de LCD. Controlador de ayuda acpi_sony(4) admite el brillo predeterminado de la pantalla, la alimentación de la LAN por cable y la ganancia de graves. Soporte de interfaz de red Controlador alc(4) es compatible con los controladores Atheros AR8151/AR8152 PCIe Gigabit/Fast Ethernet. Temporizador de moderación de interrupción de TX en el controlador alc(4) se ha reducido de 50ms a 1ms. El temporizador de 50 ms provocaba un rendimiento deficiente de UDP. Controlador bge(4) es compatible con la familia de controladores BCM5718 x2 PCI Express gigabit Ethernet de doble puerto. Esta familia es la sucesora de la familia BCM5714/BCM5715 y es compatible con la descarga de sumas de comprobación IPv4/IPv6, TSO, etiquetado de hardware VLAN, tramas jumbo, MSI/MSIX, IOV, RSS y TSS. La versión actual del controlador admite todas las funciones de hardware excepto IOV y RSS/TSS. Controlador bge(4) admite estadísticas MAC de hardware en la memoria interna del controlador para controladores Broadcom BCM5705 o más recientes. La descarga de sumas de comprobación UDP en el controlador bge(4) se ha desactivado por defecto. Esto se debe a que los controladores Broadcom tienen un error que puede generar datagramas UDP con valor de suma de comprobación 0 cuando la descarga de suma de comprobación UDP TX está activada. Controlador cxgb(4) admite el filtrado por hardware basado en la inspección de cabeceras L2/L3/L4. Es posible el filtrado basado en dirección IP de origen, dirección IP de destino, número de puerto de origen, número de puerto de destino, etiqueta de trama VLAN 802.1q, UDP, TCP y dirección MAC. La configuración puede realizarse mediante la utilidad cxgbtool(8). Controlador em(4) se ha actualizado a la versión 7.1.9. Controladores em(4) e igb(4) proporcionan contadores de estadísticas como objetos MIB sysctl(8). Controlador fxp(4) exporta las estadísticas MAC del hardware a través de variables sysctl(8) y admite TSO sobre VLAN en controladores i82550 e i82551. Controlador igb(4) actualizado a la versión 2.0.7. Reescrito miibus(4) para el soporte genérico de control de flujo full duplex IEEE 802.3 anexo 31B. Los controladores alc(4), bge(4), bce(4), cas(4), fxp(4), gem(4), jme(4), msk(4), nfe(4), re(4), stge(4), y xl(4) junto con atphy(4), bmtphy(4), brgphy(4), e1000phy(4), gentbi(4), inphy(4), ip1000phy(4), jmphy(4), nsgphy(4), nsphyter(4) y rgephy(4) han sido actualizados para soportar el control de flujo a través de esta función. Mejorado el controlador msk(4), siendo ahora compatible con dispositivos 88E8059 (Marvell Yukon Optima), y se ha implementado una moderación de interrupciones rudimentaria con registro de temporizador de cuenta atrás programable. El parámetro por defecto del tiempo de holdoff es 100us y se puede cambiar a través de la variable sysctl dev.mskc.0.int_holdoff. Controlador nfe(4) soporta WoL (Wake on LAN). Controlador re(4) utiliza 2048 como tamaño máximo de solicitud de lectura PCIe. Esto mejora el rendimiento de la transferencia masiva; admite direccionamiento DMA de 64 bits para controladores PCIe RTL810xE/RTL8168/RTL8111; y soporta la moderación de interrupciones por hardware de las interrupciones de finalización de TX en los controladores RTL8169/RTL8168. Controlador rl(4) soporta WoL (Wake on LAN) en controladores RTL8139B o más recientes; y soporta una sugerencia de dispositivo para cambiar una forma de acceso al registro. Aunque algunos controladores RTL8139 más recientes soportan el acceso a registros mapeados en memoria, es difícil detectar el soporte automáticamente. Controlador rl(4) ha mejorado el manejo de interrupciones. Tiene un mejor rendimiento de TX bajo alta carga de RX. Controlador sk(4) desactiva por defecto la descarga de sumas de comprobación de TX. Esto se debe a que algunas revisiones del controlador Yukon generan tramas corruptas. La descarga de la suma de comprobación puede activarse manualmente mediante la opción txcsum de la utilidad ifconfig(8). Añadido controlador sge(4) para Silicon Integrated Systems SiS190/191 Fast/Gigabit Ethernet. Es compatible con TSO y TSO sobre VLAN. Controlador sis(4) soporta WoL (Wake on LAN) en el controlador NS DP8315. Añadido un sintonizable dev.sis.N.manual_pad para el controlador sis(4). Esto controla si el relleno con 0x00 para tramas cortas es realizado por la CPU, en lugar del controlador. La razón por la que se ha añadido este ajuste es que NS DP83815/DP83816 los rellena con 0xff aunque RFC 1042 especifica que debería ser 0x00. El ajuste está desactivado por defecto, lo que significa que se utiliza el relleno con 0xff porque el relleno con 0x00 por software necesita ciclos de CPU adicionales. Activando manual_pad, estableciendo esta variable sysctl(8) a un valor distinto de cero, fuerza el uso del relleno por software. Controlador ste(4) admite una sugerencia de dispositivo para cambiar el modo de acceso al registro del dispositivo. Por defecto, el controlador utiliza el acceso a registros mapeado en memoria, pero esto causaba problemas de estabilidad con algunos controladores antiguos de IC Plus Corp (antes Sundace). Controlador xl(4) soporta WoL (Wake on LAN). Tenga en cuenta que no todos los controladores soportan esta funcionalidad y algunos necesitan un cable de activación remota adicional. Protocolos de red Añadido una nueva variable de carga net.link.ifqmaxlen. Especifica el valor predeterminado de la longitud de la cola de la interfaz de envío. El valor por defecto de este parámetro es 50. Subsistema NFS de FreeBSD soporta un tiempo de espera para las entradas negativas de la caché de nombres en el cliente. Esto evita que una falsa entrada negativa en la caché de nombres persista para siempre cuando otro cliente crea una entrada con el mismo nombre dentro de la misma hora del día del servidor NFS. Se puede utilizar una variable sysctl vfs.nfs.negative_name_timeout para ajustar el tiempo de espera. Establecer esta variable a 0 desactiva el almacenamiento en caché de nombres negativos. Añadido un nuevo nodo netgraph(4) ng_patch(4). Este nodo modifica los datos de los paquetes que pasan por él. Las modificaciones están restringidas a un subconjunto de operaciones en lenguaje C sobre enteros sin signo de 8, 16, 32 o 64 bits. El incremento de la ventana inicial TCP en RFC 3390 que puede controlarse mediante una variable sysctl(8) net.inet.tcp.rfc3390 reduce la ventana de congestión a la ventana de reinicio si una conexión TCP ha estado inactiva durante un tiempo de retransmisión o más. Añadido el módulo de kernel siftr(4), Statistical Information For TCP Research (SIFTR). Se trata de una función que registra una serie de estadísticas sobre conexiones TCP activas en un archivo de registro. Permite realizar mediciones muy detalladas del estado de las conexiones TCP y está dirigido a administradores de sistemas, desarrolladores e investigadores. Mejorada la implementación del reensamblado TCP en FreeBSD. Se ha corregido un antiguo error de contabilidad que afectaba a los sistemas SMP y se ha retirado la variable net.inet.tcp.reass.maxqlen sysctl(8) en favor de un límite dinámico por conexión basado en el tamaño del buffer del socket de recepción. Los receptores de FreeBSD manejan la pérdida de paquetes (particularmente las pérdidas causadas por desbordamientos de cola) significativamente mejor que antes, lo que mejora el rendimiento de la conexión. Controlador de pseudointerfaz tun(4) soporta el estado de enlace explícito ARRIBA/ABAJO. La pseudointerfaz vlan(4) soporta TSO (TCP Segmentation Offloading). El indicador de capacidad se denomina IFCAP_VLAN_HWTSO y está separado de IFCAP_VLAN_HWTAGGING. Los controladores age(4), alc(4), ale(4), bce(4), bge(4), cxgb(4), jme(4), re(4) y mxge(4) son compatibles con esta función. Discos y almacenamiento Controlador arcmsr(4) actualizado a la versión 1.20.00.19. Controlador ata(4) soporta la función spindown de los discos ATA. La utilidad atacontrol(8) tiene un nuevo subcomando spindown para soportar esto desde userland. La clase GEOM de gconcat(8) soporta el volcado de fallos del kernel. El volcado se realiza al componente donde comienza una partición de volcado. La utilidad gmultipath(8) soporta los comandos destroy, rotate, getactive. Añadido ispfw(4), el firmware para el controlador isp(4). Actualizado el controlador twa(4). El número de versión es 3.70.05.010. Sistemas de archivos El manejo del número de nodo en el sistema de ficheros ffs(7) es sin signo. Anteriormente, algunos números de inodo grandes podían tratarse como negativos, y este problema aparecía en sistemas de archivos con un tamaño superior a 16Tb en el caso de bloques de 16k. La utilidad newfs(8) nunca crea un sistema de ficheros con más de 2^32 inodos recortando el número de inodos por grupo de cilindros si es necesario para mantenerse por debajo del límite. Se ha corregido un posible bloqueo de zfs receive. Cambios en el Userland Mejorada la utilidad arp(8). chgrp(1) y chown(8) admiten un indicador -x para que la operación recursiva no atraviese varios puntos de montaje. cp(1) soporta una bandera -x para hacer que no atraviese múltiples puntos de montaje para la operación recursiva. La utilidad dhclient(8) informa del motivo de su salida y el periodo de 10 segundos en el que dhclient(8) ignora los mensajes de enrutamiento se ha cambiado para que comience justo después del inicio de dhclient-script en lugar de justo después de su finalización. Este cambio corrige el síntoma de que dhclient(8) se cierra silenciosamente en determinadas circunstancias. Mejorado las utilidades tftp(1) y tftpd(8) para mejorar la interoperabilidad y son compatibles con RFC 1350, 2347, 2348, 2349 y 3617. La utilidad indent(1) admite la opción -ta para tratar todos los identificadores con sufijo _t como tipos. La opción -p de la utilidad mount(8) muestra correctamente la opción de montaje rw como en el formato fstab(5). Actualizada la utilidad ncal(1). La opción -b se ha sustituido por -C y -B número. Se han añadido las opciones -3 para mostrar el mes anterior, el actual y el siguiente, y -A número para mostrar los meses posteriores al mes actual. *La opción -m N AAAA imprime sólo el mes, no todo el año. La utilidad newsyslog(8) ya no considera la inexistencia de un fichero PID como un error. Un nuevo indicador -P le devuelve al comportamiento anterior; admite la opción -S pidfile para anular el archivo PID predeterminado de syslogd(8). La utilidad pmcstat(8) admite un archivo y un conector de red como fuente principal. Una nueva opción -O nombredearchivo especifica que se envíe la salida de registro a nombredearchivo, y otra nueva opción -R nombredearchivo especifica que se reciban eventos de nombredearchivo. En el caso de un socket, el nombre de archivo tiene la forma ipaddr:puerto. Esto permite la monitorización superior sobre TCP en un sistema sin símbolos locales, por ejemplo. La utilidad powerd(8) soporta -m freq y -M freq para controlar la frecuencia mínima y máxima, respectivamente. La utilidad ruptime(1) muestra los nombres de host de más de 12 caracteres. La utilidad stat(1) admite el especificador de salida %Sf para mostrar simbólicamente las banderas de archivo. La utilidad sysctl(8) soporta una bandera -i para ignorar fallos mientras se recuperan OIDs individuales. Esto permite pasar la misma lista de OIDs a sysctl(8) a través de diferentes sistemas en los que determinados OIDs pueden no existir, y aun así obtener tanta información como sea posible de ellos. Scripts /etc/rc.d El rc.conf(5) soporta una variable firewall_coscripts. Esta debe contener una lista de comandos que deben ejecutarse después de que el cortafuegos se inicie o se detenga. El script rc.d/tmp utiliza un nombre de directorio único con el prefijo /tmp/.diskless en lugar del propio /tmp/.diskless. Esto soluciona un problema cuando /tmp/.diskless existe antes de que se ejecute el script. Ingeniería de lanzamiento e integración La utilidad sysinstall(8) utiliza los siguientes números para los tamaños de partición mínimo y por defecto: 1GB para /, 4GB para /var, y 1GB para /tmp. GNOME (x11/gnome2) se ha actualizado a 2.32.1. KDE (x11/kde4) se ha actualizado a 4.5.5. |

### 8
#### FreeBSD 8.x

FreeBSD 8.0 a 8.4 :
| Versión | Lanzamiento | Soporte hasta | Cambios significativos |
| Versión antigua, sin servicio técnico: 8.0 | 25/11/2009 | 30/11/2010 | Aspectos destacados de la publicación Implementado un nuevo contenedor de virtualización llamado "vimage". Se trata de una jaula con una instancia virtualizada de la pila de red de FreeBSD y puede crearse utilizando jail(8). El framework netisr de FreeBSD reimplementado para soportar hilos paralelos. Se trata de una interfaz de despacho de red del kernel que permite a los controladores de dispositivos (y otras fuentes de paquetes) dirigir paquetes a protocolos para su procesamiento directo o diferido. La nueva implementación admite hasta un hilo netisr por CPU, y varias pruebas comparativas en máquinas SMP muestran una mejora sustancial del rendimiento con respecto a la versión anterior. La capa TTY de FreeBSD ha sido reemplazada por una nueva que tiene mejor soporte para SMP y un manejo robusto de los recursos. Un tty tiene ahora su propio mutex y se espera que mejore la escalabilidad en comparación con la antigua implementación basada en el Giant lock. Para amd64 y i386: La capa de emulación Linux de FreeBSD se ha actualizado a la versión 2.6.16 y el puerto de infraestructura Linux por defecto es ahora emulators/linux_base-f10 (Fedora 10). El kernel GENERIC de FreeBSD incluye soporte para MAC (Mandatory Access Control) de BSD de confianza. Por defecto no se carga ningún módulo de política MAC. El subsistema USB de FreeBSD ha sido reimplementado para soportar dispositivos modernos y una mejor escalabilidad SMP. La nueva implementación incluye controladores de dispositivo sin Giant-lock, una capa de compatibilidad con Linux, la utilidad usbconfig(8), soporte completo para transacciones divididas y transacciones isócronas, etc. El subsistema CAM SCSI de FreeBSD (cam(4)) incluye soporte experimental para dispositivos compatibles con ATA/SATA/AHCI. Mejorado el bloqueo compartido de nodos virtuales para la búsqueda de rutas en el subsistema VFS(9). El sistema de archivos ZFS se ha actualizado a la versión 13. Los cambios incluyen operaciones ZFS por un usuario normal, L2ARC, ZFS Intent Log en discos separados (slog), volúmenes dispersos, etc. El subsistema NFS de FreeBSD soporta ahora autenticación RPCSEC_GSS tanto en el cliente como en el servidor. El subsistema NFS de FreeBSD incluye ahora una nueva implementación experimental con soporte para NFSv2, NFSv3 y NFSv4. La capa de soporte de red inalámbrica (net80211) soporta ahora múltiples instancias BSS en los dispositivos de red soportados. La tabla de traducción de direcciones L2 de FreeBSD ha sido reimplementada para reducir la contención de bloqueos en el procesamiento paralelo y simplificar la lógica de enrutamiento. Se han añadido IGMPv3 y SSM (Source-Specific Multicast), incluidos IPv6 SSM y MLDv2. El subsistema ipsec(4) soporta ahora NAT-Traversal (RFC 3948). La protección de la pila GCC (también conocida como ProPolice) ha sido habilitada en el sistema base de FreeBSD. La versión compatible del entorno de escritorio GNOME (x11/gnome2) se ha actualizado a 2.26.3. La versión compatible del entorno de escritorio KDE (x11/kde4) se ha actualizado a 4.3.1. Cambios en el núcleo El kernel GENERIC de FreeBSD ahora incluye soporte para MAC (Mandatory Access Control) de BSD de confianza. Por defecto no se carga ningún módulo de política MAC. Para i386: Añadido un modificador del cargador hw.clflush_disable para evitar el pánico (trap 9) en map_invalidate_cache_range incluso si se usa una CPU Intel. Este parámetro puede establecerse en -1 (por defecto), 0 y 1. El -1 es igual al comportamiento actual, que desactiva automáticamente CLFLUSH en CPUs Intel sin CPUID_SS (esto debería ocurrir sólo en Xen). Puede especificar 1 cuando este pánico ocurre en CPUs que no son Intel (como las de AMD). Debido a que la desactivación de CLFLUSH puede reducir el rendimiento, puede probar con la configuración 0 en CPUs Intel sin SS para utilizar la función CLFLUSH. Actualizado el subsistema jail(8). Añadido el controlador ksyms(4), interfaz de tabla de símbolos del núcleo. Crea un dispositivo de caracteres /dev/ksyms y proporciona acceso de sólo lectura a una instantánea de la tabla de símbolos del kernel. Para amd64 y i386: La capa de emulación Linux de FreeBSD se ha actualizado a la versión 2.6.16 y el puerto de infraestructura Linux por defecto es emulators/linux_base-f10 (Fedora 10). Para arm FreeBSD/arm soporta mini dump. Para powerpc: FreeBSD/powerpc soporta el volcado del núcleo del kernel. Para amd64 y i386: El subsistema de memoria virtual de FreeBSD soporta el uso totalmente transparente de superpáginas para la memoria de aplicaciones; las páginas de memoria de aplicaciones son promovidas o degradadas dinámicamente de superpáginas sin ninguna modificación en el código de la aplicación. Cambios en el cargador de arranque El gestor de arranque boot0 ahora conserva el ID de volumen en el offset 0x1b8 utilizado en otros sistemas operativos. La utilidad boot0cfg(8) ahora soporta una nueva opción -i para establecer el ID del volumen. Para arm y powerpc: El loader(8) soporta la librería de soporte U-Boot. Soporte de hardware FreeBSD incluye soporte experimental para la plataforma MIPS. Mejorada la compatibilidad con RTC en chips de Dallas Semiconductor. Son compatibles los chips DS133x y DS1553. Para arm: FreeBSD/arm es compatible con las CPU embebidas Feroceon y Sheeva, y con las CPU de sistemas en chip Marvell Orion (88F5281), Kirkwood (88F6281) y Discovery Innovation (MV-78100). Para powerpc: FreeBSD/powerpc soporta máquinas SMP. Para powerpc: FreeBSD/powerpc soporta la CPU embebida E500 (Book-E) y el sistema-en-chip Freescale PowerQUICCIII MPC85xx (incluyendo single y dual-core). El subsistema acpi(4) soporta la Tabla de Afinidad de Recursos del Sistema (SRAT) utilizada para describir relaciones de afinidad entre CPUs y memoria, campos ACPI 3.0 en el MADT incluyendo entradas X2APIC y UIDs para SAPICs locales, y banderas ACPI 3.0 en el FADT. Para powerpc: El framework cpufreq(4) es compatible con PowerPC G5, junto con un controlador SMU esqueleto con el fin de slew el voltaje de la CPU durante los cambios de frecuencia. Añadido controlador sec(4) para dar soporte al motor de seguridad integrado que se encuentra en los dispositivos de sistema en chip de Freescale. La capa TTY de FreeBSD ha sido reemplazada por una nueva que tiene mejor soporte para SMP y un manejo robusto de los recursos. Un tty tiene ahora su propio mutex y se espera que mejore la escalabilidad en comparación con la antigua implementación basada en el Giant lock. Para amd64 y i386: El controlador uart(4) es el controlador por defecto para dispositivos de puerto serie en favor del controlador sio(4). El subsistema USB de FreeBSD ha sido reimplementado para soportar dispositivos modernos y una mejor escalabilidad SMP. La nueva implementación incluye controladores de dispositivo libres de Giant-lock, una capa de compatibilidad con Linux, la utilidad usbconfig(8), soporte completo para transacciones divididas y transacciones isócronas, y más. Los nombres de los nodos de dispositivos USB tienen ahora la forma /dev/usb/bus.dev.endpoint, y /dev/usbctl es el nodo de dispositivo maestro. Soporte multimedia El subsistema de audio de FreeBSD mejorado. Los cambios incluyen volumen por canal, conversor de frecuencia de muestreo SINC de punto fijo y banda limitada de alta calidad, modo bit-perfect, canal virtual transparente/adaptativo y flujo exclusivo. Soporte de interfaz de red Añadido controlador bwi(4) para ofrecer compatibilidad con las interfaces de red inalámbricas Broadcom BCM43xx IEEE 802.11b/g. Para sparc64: Añadido controlador cas(4) para dar soporte a los dispositivos Sun Cassini/Cassini+ y National Semiconductor DP83065 Saturn Gigabit Ethernet. La herramienta cxgbtool(8) soporta un modo interactivo para el scripting de tareas realizadas repetidamente. Mejorado controlador fxp(4) (la reprogramación del filtro multidifusión es más robusta). Para arm y powerpc: Añadido el controlador mge(4) para ofrecer compatibilidad con los controladores Gigabit Ethernet de Marvell que se encuentran en los SOC basados en ARM (Orion, Kirkwood, Discovery), así como en los controladores de sistema para procesadores PowerPC (MV64430, MV6446x). Controlador miibus(4) soporta el Marvell 88E3016. Controlador msk(4) soporta Yukon FE+ A0 incluyendo 88E8040, 88E8040T, 88E8048 y 88E8070. Añadido controlador mwl(4) para ofrecer compatibilidad con los dispositivos de red inalámbricos Marvell 88W8363 IEEE 802.11n. Controlador mxge(4) es compatible con algunas revisiones más recientes y con los tipos de medios 10GBASE-LRM y 10GBASE-Twinax. La versión del firmware actualizada a 1.4.43. Controlador nge(4) mejorado y funciona en todas las plataformas. Añadido controlador tsec(4) para ofrecer compatibilidad con el controlador Ethernet de tres velocidades (TSEC) integrado de Freescale. Este controlador también funciona con la versión mejorada del controlador (eTSEC). Añadido el controlador uath(4) para adaptadores LAN inalámbricos USB basados en los chipsets Atheros AR5005UG y AR5005UX. También se ha añadido la utilidad uathload(8), un cargador de firmware para el controlador inalámbrico USB Atheros. Añadido el controlador urtw(4) para ofrecer compatibilidad con los dispositivos de red inalámbricos Realtek RTL8187B/L USB IEEE 802.11b/g. El controlador xl(4) admite la descarga de sumas de comprobación de TX. Protocolos de red El framework netisr de FreeBSD ha sido reimplementado para soportar hilos paralelos. Se trata de una interfaz de despacho de red del kernel que permite a los controladores de dispositivos (y otras fuentes de paquetes) dirigir paquetes a protocolos para su procesamiento directo o diferido. La nueva implementación admite hasta un hilo netisr por CPU, y varias pruebas comparativas en máquinas SMP muestran una mejora sustancial del rendimiento con respecto a la versión anterior. Añadido IGMPv3 y SSM (Source-Specific Multicast) incluyendo IPv6 SSM y MLDv2. Aunque los antiguos hooks MLDv2 de KAME se han sustituido por la nueva implementación, se han conservado las interfaces de programación del kernel relacionadas. Mejorado el código de enrutamiento multidifusión y se ha dividido la compatibilidad con IPv4 e IPv6. FreeBSD soporta el próximo estándar Wireless Mesh, IEEE 802.11s. La implementación actual se basa en la versión borrador D3.0 de marzo de 2009. La capa de soporte de red inalámbrica (net80211) utiliza ahora pseudointerfaces denominadas como wlanN en lugar de un nombre de controlador de dispositivo como em0 directamente. La interfaz wlanN es creada por ifconfig(8) como una instancia de la interfaz padre y utilizada para la comunicación real de forma similar a vlan(4), la interfaz de red IEEE 802.1Q VLAN. La capa net80211 soporta TDMA para enlaces punto a punto de larga distancia utilizando dispositivos ath(4). Añadida una infraestructura para almacenar en caché los flujos como medio para acelerar las búsquedas L2 y L3. Se denomina "tabla de flujos" y está activada por defecto en las plataformas amd64 e i386. También proporciona un equilibrio de carga con estado cuando se utiliza con RADIX_MPATH. La tabla de traducción de direcciones L2 de FreeBSD ha sido reimplementada para reducir la contención de bloqueos en el procesamiento paralelo y simplificar la lógica de encaminamiento. La nueva implementación tiene tablas de traducción de direcciones L2 tanto para ARP (para IPv4) como para NDP (para IPv6) que están separadas de las tablas de encaminamiento L3, y soporta cachés de tablas de flujo tanto para la tabla de encaminamiento como para la información L2. Uno de los cambios visibles para el usuario es que se desaprueba el concepto de ruta clonada (una ruta generada por una entrada con el indicador RTF_CLONING). El subsistema ipsec(4) soporta NAT-Traversal (RFC 3948). Está desactivado por defecto. Discos y almacenamiento El subsistema CAM SCSI de FreeBSD ( cam(4)) incluye soporte experimental para dispositivos compatibles con ATA/SATA/AHCI. Esto está deshabilitado por defecto. La implementación actual admite controladores compatibles con AHCI y controladores SiliconImage SiI3124/SiI3132/SiI3531. El nodo de dispositivo de una unidad ATA es ada y el de una unidad ATAPI es cd. La implementación del iniciador iSCSI de FreeBSD mejorada y soporta IPv6. Añadida una utilidad de usuario mfiutil(8) para los dispositivos mfi(4). Incluye funciones básicas para monitorizar el estado de la controladora, la matriz y la unidad, cambiar atributos básicos, crear/borrar matrices y repuestos, y limpiar el firmware de la controladora. Añadida una utilidad de usuario mptutil(8) para los dispositivos mpi(4). Incluye funciones básicas para supervisar el estado de controladores, matrices y unidades, cambiar atributos básicos y crear/eliminar matrices y repuestos. Añadido controlador siis(4) para dar soporte a las controladoras SATA2 SiliconImage SiI3124/3132/3531. Soporta dispositivos Serial ATA y ATAPI, multiplicadores de puerto (incluyendo conmutación basada en FIS), colas de comandos hardware (31 comandos por puerto) y Native Command Queuing. Sistemas de archivos No se admite el modo "peligrosamente dedicado" para el sistema de archivos UFS. El gvinum(8) soporta comandos encontrados en la antigua implementación vinum incluyendo attach, detach, start, stop, concat, mirror, stripe, y raid5; y admite el comando grow para facilitar a los usuarios la ampliación de plexos sin tener que entender todos los aspectos internos de la implementación. El subsistema NFS de FreeBSD soporta ahora autentificación RPCSEC_GSS tanto en el cliente como en el servidor. Esto reemplaza la implementación RPC del cliente y servidor NFS con la nueva implementación RPC originalmente desarrollada para soportar el gestor de bloqueos NFS. Admite tanto la nueva implementación RPC como la antigua implementación heredada del código base original de NFS y, por defecto, utiliza la nueva. Para utilizar RPCSEC_GSS tanto en el cliente como en el servidor, debe crear un núcleo que incluya la opción KGSSAPI y el dispositivo crypto(4). El subsistema NFS de FreeBSD incluye ahora una nueva implementación experimental con soporte para NFSv2, NFSv3 y NFSv4. Esto no está habilitado por defecto. El fstype para el programa mount(8) es newnfs, y añadido el programa mount_newnfs(8). Se ha eliminado del árbol de código fuente de FreeBSD el antiguo cliente NFSv4 sin mantenimiento basado en una implementación de la Universidad de Míchigan. El subsistema NFS de FreeBSD utiliza ahora TCP como transporte por defecto. Mejorado el bloqueo compartido de nodos virtuales para la búsqueda de rutas en el subsistema VFS(9). Está activado por defecto. Establecer la variable sysctl vfs.lookup_shared a 0 lo deshabilita. El sistema de archivos ZFS se ha actualizado a la versión 13. Los cambios incluyen operaciones ZFS por un usuario normal, L2ARC, ZFS Intent Log en discos separados (slog), volúmenes dispersos, etc. Cambios en la Userland La protección de la pila GCC (también conocida como ProPolice) habilitada en el sistema base de FreeBSD. Añadida una utilidad ar(1) con licencia BSD en lugar de una en GNU binutils y ahora es la utilidad por defecto para construir el sistema base de FreeBSD. La utilidad awk(1) soporta 64 ficheros. El límite superior era 20 en versiones anteriores. El programa bsnmpd(1) soporta OIDs para ZFS. El programa camcontrol(8) soporta un nuevo módulo kernel ATA modularizado y varios comandos ATA. cat(1) y cp(1) utilizan un búfer mayor si el número de páginas de la memoria física del sistema es superior a 32k. Esto reduce el número de cambios de contexto. Añadida utilidad cpio(1) con licencia BSD en favor de GNU cpio y ahora es la utilidad por defecto en el sistema base de FreeBSD. Añadido un script para la utilidad crashinfo(8) para el análisis sencillo de volcados de memoria. Genera un archivo de texto que contiene la salida de varios comandos ejecutados contra el volcado del núcleo, como kgdb(1) (stack trace), ps(1), netstat(1), vmstat(8), iostat(8), dmesg(8) y fstat(1). La opción -h de la utilidad df(1) permite mostrar el recuento de nodos en un formato legible para el ser humano cuando se especifica la opción -i. La utilidad df(1) admite un indicador -T para mostrar el tipo de sistema de archivos en cada entrada. La utilidad dhclient(8) utiliza 68 (bootpc) como puerto de origen para los paquetes DHCPREQUEST unicast en lugar de permitir que la pila de protocolos elija un puerto de origen aleatorio. Esto corrige el comportamiento por el que dhclient(8) nunca hacía la transición de RENOVING a BOUND sin pasar por REBINDING en algunas redes que tienen una política estricta sobre la suplantación de DHCP. La utilidad env(1) admite la opción -u nombre que anula completamente el nombre dado en lugar de establecerlo en un valor nulo. La utilidad find(1) soporta una serie de primarias encontradas en GNU find incluyendo -ignore_readdir_race, -noignore_readdir_race, -noleaf, -gid, -uid, -wholename, -iwholename, -mount, -d, -lname, -ilname, -quit, -samefile, y -true. La utilidad fsck(8) admite un indicador -r para liberar el exceso de nodos no utilizados. Disminuir el número de nodos preasignados reduce el tiempo de ejecución de futuras ejecuciones de fsck y libera espacio que puede asignarse a ficheros. Esta opción se ignora cuando se ejecuta en modo preen. freebsd-update(8) soporta la copia de seguridad del kernel antiguo cuando se instala un nuevo kernel. La copia de seguridad del kernel se escribirá en /boot/kernel.old si el directorio no existe o si el directorio fue creado por freebsd-update en una copia de seguridad anterior. En caso contrario freebsd-update(8) generará un nuevo nombre de directorio para ser utilizado por la copia de seguridad. Esta opción está activada por defecto. El gdbserver(1) soporta las plataformas arm y powerpc. La utilidad gzip(1) permite descomprimir archivos creados por paquetes que se encuentran en algunos sistemas comerciales tipo Unix. Añadida la utilidad i2c(8) para el diagnóstico de I2C. ifconfig(8) soporta vnet y la opción -vnet para permitir mover interfaces entre jaulas con vimage. Añadida biblioteca libdwarf con licencia BSD para clientes DTrace. La biblioteca libmsun soporta las funciones acosl, asinl, atanl, atan2l, cargl, csqrtl, fmodl, hypotl y remquol. Añadida la biblioteca libproc para los clientes DTrace. La utilidad mtest(8) soporta IPv6. El programa mount(8) soporta la opción -o mountprog=nombredearchivo para permitir el uso de un programa alternativo para montar un sistema de archivos. Esto es útil para sistemas de ficheros no basados en nmount(2) como FUSE. Añadidas las utilidades nfscbd(8), nfsuserd(8), nfsdumpstate(8) y nfsrevoke(8) para el nuevo subsistema NFSv4. Añadida la utilidad pmcannotate(8). Imprime las fuentes de una herramienta (en C o ensamblador) con información de perfilado en línea recuperada por un análisis pmcstat(8) previo. La utilidad route(8) soportab las órdenes show, weights y sticky. El rtld(1) soporta una nueva variable de entorno LD_ELF_HINTS_PATH para sobreescribir el fichero rtld hints. Esta variable de entorno se ignorará si el proceso utiliza setuid y/o setgid. Esta característica proporciona una forma conveniente de utilizar un conjunto personalizado de bibliotecas compartidas que no se encuentra en la ubicación predeterminada. El rtld(1) ahora soporta la sustitución dinámica de tokens de cadena en las rutas rpath y soneeded. Se admiten los tokens $ORIGIN, $OSNAME, $OSREL y $PLATFORM. Habilitar la sustitución requiere la bandera DF_ORIGIN en DT_FLAGS o DF_1_ORIGIN si DF_FLAGS_1, que puede establecerse con la bandera -z origin GNU ld. Esta traducción está deshabilitada incondicionalmente para procesos setuid/setgid. La traducción $ORIGIN se basa en el auxinfo AT_EXECPATH proporcionado por el kernel de FreeBSD. Ya no es posible crear sistemas de archivos UFS en modo "peligrosamente dedicado" utilizando sysinstall(8), puesto que este modo ya no está soportado. Los menús de sysinstall(8) se han simplificado para reducir la confusión y la duplicación con otras partes del sistema. El sistema de ventanas Xorg debe instalarse como cualquier otro paquete. La configuración de Linux y de la emulación OSF/1 debe realizarse mediante reconstrucciones del núcleo. Se eliminó el soporte para la instalación desde medios de cinta ya que se creía que estaba roto. También se eliminó el código obsoleto para soportar OLDCARD. sysinstall(8) entiende cómo utilizar unidades USB no cortadas como medio fuente de instalación a través de /dev/daXa; reconoce ahora los nuevos dispositivos de disco /dev/adaX, si se compilan en el kernel; utiliza los paquetes freebsd-doc-* para los documentos localizados; y expulsa el CDROM después de la instalación si se utilizó como medio de origen. traceroute(8) y traceroute6(8) admiten un indicador -a para mostrar el número AS correspondiente a la dirección IP de búsqueda en cada salto. Consultará el número al servidor WHOIS especificado en la opción -A. Si no se especifica -A, se utilizará whois.radb.net como valor por defecto. El tzsetup(8) soporta una bandera -s para omitir la pregunta sobre el ajuste del reloj a UTC. Añadida la utilidad wake(8), una herramienta para enviar tramas Wake on LAN a hosts de una red Ethernet local. El programa ypserv(8) soporta los mapas shadow.byname y shadow.byuid. Ingeniería de lanzamiento e integración GNOME (x11/gnome2) se ha actualizado a 2.26.3. KDE (x11/kde4) se ha actualizado a 4.3.1. |
| Versión antigua, sin servicio técnico: 8.1 | 23/07/2010 | 31/07/2012 | Aspectos destacados de la publicación Para powerpc: FreeBSD soporta SMP en sistemas PowerPC G5. Para sparc64: FreeBSD soporta CPUs UltraSPARC IV, IV+ y SPARC64 V. La versión de ZFS zpool actualizada a 14. Añadido el cargador zfsloader. Este es un cargador separado habilitado para zfs(8). Añadido controlador bwn(4) para los chipsets Broadcom BCM43xx. Añadido controlador run(4) para dispositivos Ralink RT2700U/RT2800U/RT3000U USB 802.11agn. Añadido controlador sge(4) para Silicon Integrated Systems SiS190/191 Fast/Gigabit Ethernet. Es compatible con TSO y TSO sobre VLAN. Añadido controlador uhso(4) para dispositivos USB Option HSDPA. Se puede utilizar una nueva utilidad userland uhsoctl(1) para iniciar y cerrar la conexión WAN. El controlador urtw(4) mejorado y es compatible con dispositivos basados en RTL8187B. Mejorado el subsistema ipfw(4) incluyendo dummynet(4). El marco pfil(9) para el filtrado de paquetes en el kernel de FreeBSD soporta ahora instancias de filtrado de paquetes independientes como ipfw(4) para cada jaula VIMAGE. La pseudointerfaz vlan(4) soporta ahora TSO (TCP Segmentation Offloading). El indicador de capacidad se denomina IFCAP_VLAN_HWTSO y está separado de IFCAP_VLAN_HWTAGGING. Los controladores age(4), alc(4), ale(4), bce(4), bge(4), cxgb(4), jme(4), re(4) y mxge(4) son compatibles con esta función. La pseudointerfaz vlan(4) para VLAN IEEE 802.1Q ahora ignora el renombramiento del nombre de la interfaz padre. Las interfaces VLAN configuradas siguen funcionando con el nuevo nombre mientras que antes las configuraciones se eliminaban al producirse el renombramiento. Añadido el framework HAST (Highly Available STorage). Se trata de un marco que permite almacenar datos de forma transparente en dos máquinas separadas físicamente y conectadas a través de la red TCP/IP. HAST funciona en configuración Primaria-Secundaria (Maestro-Respaldo, Maestro-Esclavo), lo que significa que sólo uno de los nodos del clúster puede estar activo en un momento dado. Sólo el nodo primario puede gestionar las solicitudes de E/S a los dispositivos gestionados por HAST. Actualmente, HAST está limitado a dos nodos de clúster en total. Mejorada la estructura SCSI cam(3) de FreeBSD y se ha añadido una nueva opción de kernel ATA_CAM. Esta opción convierte los controladores ata(4) en módulos de interfaz cam(4). Cuando se activa, esta opción deja obsoletos todos los controladores periféricos e interfaces ata(4) como ad y acd, y permite que los controladores cam(4) ada, y cd e interfaces se utilicen de forma nativa en su lugar. Tenga en cuenta que esta opción no está activada por defecto en el kernel GENERIC. Añadido controlador CAM ATA mvs(4) para las controladoras SATA 88SX50XX/88SX60XX/88SX70XX/SoC de Marvell. Este controlador soporta el mismo hardware que el controlador ata(4), pero proporciona muchas funciones adicionales, como NCQ y PMP. Iportada la biblioteca liblzma para el algoritmo de compresión de datos sin pérdidas LZMA2 y las utilidades de usuario xz(1), xzdec(1), lzma(1) y lzmainfo(1). La ACPI-CA actualizado a 20100304. ISC BIND actualizado a la versión 9.6.2-P2. OpenSSH actualizado de la versión 5.1p1 a la versión 5.4p1. OpenSSL actualizado a la versión 0.9.8n. sendmail actualizado a la versión 8.14.4. GNOME (x11/gnome2) se ha actualizado a 2.28.2. KDE (x11/kde4) se ha actualizado a 4.4.3. Cambios en el núcleo Mejorado el depurador ddb(4) Añadido un nuevo hilo al kernel llamado "deadlock resolver". Se puede utilizar para detectar posibles bloqueos utilizando información del estado del hilo y análisis heurísticos. Las reglas por defecto de devfs(5) exponen ahora los 256 nodos de dispositivo superiores de pty(4). Añadido dos comandos para activar/desactivar la lectura anticipada a la llamada al sistema fcntl(2): Añadido controlador lindev(4). Esto es para soportar varios pseudo dispositivos específicos de Linux como /dev/full. Reimplementada una función POSIX pselect(3) como llamada al sistema pselect(2) para eliminar la condición de carrera. Añadido una opción del kernel INCLUDE_CONFIG_FILE al kernel GENERIC por defecto. Corregido un error del planificador sched_4bsd(4) por el que la marca de tiempo de la operación de suspensión no se limpiaba al despertar. Corregido una condición de carrera en el planificador sched_4bsd(4). Corregido un error en el planificador sched_ule(4) que impedía que el uso de procesos (%CPU) funcionara correctamente. Añadido nuevas sondas SDT (Statically Defined Tracing) como las de opencrypto y vnet al subsistema dtrace(1) de FreeBSD. Para powerpc: FreeBSD ahora soporta SMP en sistemas PowerPC G5. Tenga en cuenta que el soporte SMP en FreeBSD/powerpc está deshabilitado por defecto en el kernel GENERIC. Para sparc64: FreeBSD soporta ahora CPUs UltraSPARC IV, IV+ y SPARC64 V. Mejorado el controlador syscons(4). El búfer del historial se puede guardar/restaurar completamente en el cambio de modo VESA mediante un sintonizable del cargador hint.sc.0.vesa_mode. Corregido un error en el controlador tty(4) por el que TIOCSTI no funcionaba. Esto afecta a aplicaciones como mail(1). Para amd64 y i386: Añadido un emulador de modo real x86 basado en la implementación x86emu de OpenBSD para mejorar el soporte de llamadas a la BIOS en modo real tanto en i386 como en amd64. Los controladores atkbdc(4), dpms(4), vesa(4), vga(4) utilizan ahora este emulador y funcionan en ambas plataformas. Contenedor de virtualización VIMAGE jail(8) puede funcionar con sctp(4). La jaula VIMAGE(8) soporta ip4.saddrsel, ip4.nosaddrsel, ip6.saddrsel, e ip6.nosaddrsel para controlar si se utiliza la selección de la dirección de origen o la dirección primaria de la jaula para las conexiones salientes no enlazadas. El valor predeterminado es utilizar la selección de la dirección de origen. Cambios en el cargador de arranque Para pc98: El código de arranque boot2 reimplementado basado en el homólogo i386. Ahora soporta el binario ELF, el sistema de ficheros UFS2 y un mayor número de slices. Para ia64: El programa cargador EFI admite una opción de línea de comandos -dev currdev para especificar el valor predeterminado de currdev. Esta opción puede ser establecida por el gestor de arranque EFI. Para powerpc: El programa loader(8) ahora soporta almacenamiento U-Boot. Para i386: Se ha mejorado el algoritmo que utiliza loader(8) para elegir un rango de memoria para su heap cuando se utiliza un rango superior a 1MB. Esto corrige un síntoma de que el cargador falla al cargar un kernel. Una variable de entorno del kernel vfs.root.mountfrom ahora soporta múltiples elementos para el sistema de archivos raíz en una lista separada por espacios. Cada elemento de la lista se probará en orden y se montará el primero disponible. Añadido el cargador zfs. Se trata de un cargador independiente habilitado para zfs(8). Código de arranque de zfsboot y gptzfsboot soporta LBAs de 64 bits para direcciones de disco. Esto permite arrancar desde grandes volúmenes. Soporte de hardware Para powerpc: El controlador adb permite interpretar los toques en los touchpads ADB como un clic de botón. Añadido el controlador amdsbwd(4) para el temporizador de vigilancia AMD SB600/SB7xx. Para powerpc: El controlador apt para el Apple Touchpad presente en el MacBook ha sido añadido al kernel GENERIC. Para sparc64: Se ha añadido el controlador epic(4) para los LEDs del panel frontal en Sun Fire V215/V245. Corregido un error en el controlador ipmi(4) que provocaba un ajuste incorrecto del temporizador de vigilancia. Para sparc64: El controlador pci(4) es ahora compatible con un puente JBus a PCIe (denominado "Fire") que se encuentra en las máquinas Sun Fire V215/V245 y Sun Ultra 25/45. Para powerpc El controlador smu(4) proporciona ahora funciones de gestión térmica y monitorización. Esto permite el control del ventilador y la monitorización térmica en máquinas Apple G5 basadas en SMU, así como una interfaz led(4) para controlar el led de reposo. Controlador tnt4882(4) para bus IEEE-488 (GPIB) soporta el chip TNT5004 de National Instruments. Controlador uart(4) es compatible con la familia de puertos serie/paralelo NM9865 de NetMos. Añadido el controlador uep(4) para el panel táctil en pantalla USB de eGalax. Este controlador es compatible con x11-drivers/xf86-input-egalax. Corregido un error del controlador uftdi(4) que podía permitir el envío de un paquete de longitud cero. El subsistema usb(4) reporta eventos de notificación devd(8) con las propiedades del dispositivo en lugar de eventos attach. Soporte multimedia Controlador acpi_video(4) admite el controlador de notificación de control de brillo de LCD. Controlador de ayuda acpi_sony(4) admite el brillo predeterminado de la pantalla, la alimentación de la LAN por cable y la ganancia de graves. Mejorado el controlador agp(4). Incluye una corrección del problema de cálculo del tamaño de apertura que impedía el funcionamiento de algunas tarjetas gráficas. Controlador snd_hda(4) permite a los códecs AD1981HD utilizar el mezclador de reproducción. Controlador snd_hda(4) soporta la reproducción multicanal (4.0 y 7.1). El modo 5.1 está desactivado debido a un problema de sincronización no identificado. Los dispositivos que soportan el modo 7.1 pueden manejar la operación 5.1 a través del software upmix realizado por sound(4). Soporte de interfaz de red Controlador ath(4) es compatible con los dispositivos Atheros AR9285. Corregido un error en el controlador ath(4) que causaba un problema en los chipsets basados en AR5416, incluido el AR9285. Controlador bge(4) es compatible con dispositivos basados en BCM5761, BCM5784 y BCM57780; y es compatible con TSO (TCP Segmentation Offloading) en controladores BCM5755 o posteriores. Corregido un antiguo error del controlador bge(4) relacionado con el envío de latidos ASF. Solucionado un antiguo problema de estabilidad del controlador bce(4) y bge(4) debido a un error de hardware en su gestión de DMA cuando el sistema tiene más de 4 GB de memoria. Esto se aplica a los controladores BCM5714, BCM5715 y BCM5708. Corregido un error del controlador bge(4) que habilitaba incorrectamente TSO en los controladores BCM5754/BCM5754M. Corregido un error en el controlador if_bridge(4). La MTU se establecía basándose en el primer miembro añadido, incluso si la adición fallaba. Controlador if_bridge(4) soporta el ioctl SIOCSIFMTU. Añadido el controlador bwn(4) para los chipsets Broadcom BCM43xx. Controlador cxgb(4) se ha actualizado al firmware T3 7.8.0. Controlador cxgb(4) admite el filtrado por hardware basado en la inspección de cabeceras L2/L3/L4. Es posible el filtrado basado en dirección IP de origen, dirección IP de destino, número de puerto de origen, número de puerto de destino, etiqueta de trama VLAN 802.1q, UDP, TCP y dirección MAC. La configuración puede realizarse mediante la utilidad cxgbtool(8). Controlador em(4) actualizado a la versión 7.0.5. Controlador et(4) soporta MSI y Tx checksum offloading de IPv4, TCP y UDP. Controlador fxp(4) exportalas estadísticas MAC del hardware a través de variables sysctl. Controlador igb(4) actualizado a la versión 1.9.5. Controlador iwn(4) actualizado. Esto incluye varias mejoras y correcciones de errores con respecto al conmutador RF, soporte bgscan, soporte suspender/reanudar, problema de bloqueo, y más. El dispositivo de línea iwnfw en el archivo de configuración del kernel incluirá todas las imágenes de firmware. Controlador ixgbe(4) actualizado a la versión 2.2.0. Mejorado el controlador msk(4): Controlador mxge(4) actualizado a la versión de firmware 1.4.50 de Myricom. Controlador re(4) no realiza una subida/bajada de interfaz innecesaria durante la obtención de la dirección IP a través de DHCP. Controlador re(4) utiliza 2048 como tamaño máximo de solicitud de lectura PCIe. Esto mejora el rendimiento de la transferencia masiva. Añadido el controlador run(4) para dispositivos Ralink RT2700U/RT2800U/RT3000U USB 802.11agn. Añadido el controlador sge(4) para Silicon Integrated Systems SiS190/191 Fast/Gigabit Ethernet. Es compatible con TSO y TSO sobre VLAN. Mejorado el controlador ste(4). Controlador tsec(4) es compatible con altq(4). Controlador u3g(4) mejorado y funciona con ZTE MF636, Option Gi0322, Globetrotter GE40x y Novatel MC950D. Añadido el controlador uhso(4) para dispositivos USB Option HSDPA. Se puede utilizar una nueva utilidad userland uhsoctl(1) para iniciar y cerrar la conexión WAN. Mejorado el controlador vge(4): Controlador urtw(4) mejorado y es compatible con dispositivos basados en RTL8187B. Mejorada la estabilidad y el rendimiento del controlador netfront de FreeBSD Xen. Protocolos de red FreeBSD flowtable soporta IPv6. Esto es para flujos de caché por CPU como un medio de acelerar las búsquedas L3 y L2, así como proporcionar equilibrio de carga con estado cuando ECMP (Equal-Cost Multi-Path routing) está habilitado por la opción RADIX_MPATH. Añadido un nuevo indicador de capacidad LINKSTATE a struct ifnet.if_capabilities. Indica si la interfaz puede comprobar el estado del enlace o no. La utilidad ifconfig(8) muestra ahora este indicador si es compatible. Añadido un nuevo manejador de eventos iflladdr_event. Esto señala que la dirección L2 en una interfaz ha cambiado, y permite a las interfaces apiladas como vlan(4) detectar que su interfaz inferior ha cambiado y ajustar las cosas para seguir funcionando. Protocolo IPcomp (IP Payload Compression Protocol definido en RFC 2393) está activado por defecto. Subsistema ipfw(4), incluido dummynet(4), actualizado a "ipfw3" Corregido un problema de alineación de memoria en los controladores de nodos Netgraph ng_ksocket(4) y ng_ppp(4). Esto soluciona los pánicos del kernel debidos a la desalineación. Controladores de nodo de Netgraph ng_bridge(4) y ng_hub(4) soportan una bandera persistente. Desactiva el apagado automático del nodo cuando el último hook se desconecta. Los nuevos mensajes de control NGM_BRIDGE_SET_PERSISTENT y NGM_HUB_SET_PERSISTENT han sido añadidos para la bandera. Subsistema pf(4) soporta la palabra clave sloppy para habilitar una máquina de estado TCP para el seguimiento de conexiones TCP sin comprobación del número de secuencia. Esta función se encuentra en la última versión de pf. Marco pfil(9) para el filtrado de paquetes en el kernel de FreeBSD soporta ahora instancias de filtrado de paquetes independientes como ipfw(4) para cada jaula VIMAGE. Corregido un error que impedía añadir entradas ARP proxy en los tipos de enlace punto a punto. La pseudointerfaz tap(4) informa correctamente del estado del enlace actualizando la variable if_link_state en el kernel. Añadido la pseudointerfaz vlan(4) al kernel GENERIC. La pseudointerfaz vlan(4) soporta TSO (TCP Segmentation Offloading). El indicador de capacidad se denomina IFCAP_VLAN_HWTSO y está separado de IFCAP_VLAN_HWTAGGING. Los controladores age(4), alc(4), ale(4), bce(4), bge(4), cxgb(4), jme(4), re(4) y mxge(4) son compatibles con esta función. La pseudointerfaz vlan(4) para VLAN IEEE 802.1Q ignora el renombramiento del nombre de la interfaz padre. Las interfaces VLAN configuradas siguen funcionando con el nuevo nombre mientras que antes las configuraciones se eliminaban al producirse el renombramiento. Discos y almacenamiento Controlador ada(4) soporta BIO_DELETE. Para SSDs esto usa la función TRIM del comando DATA SET MANAGEMENT, como se define en el borrador de trabajo de la especificación ACS-2. Para Compact Flash usa el comando CFA ERASE, como hace ad(4). Para Compact Flash utiliza el comando CFA ERASE, igual que ad(4). Este cambio permite restablecer la velocidad de escritura de las unidades SSD que admiten el comando TRIM mediante newfs -E /dev/ada1, por ejemplo. Controlador ahci(4) soporta la parte SATA de los controladores Marvell 88SE912x. Controlador ahci(4) soporta la conmutación basada en FIS (Frame Information Structure) del multiplicador de puertos en los controladores soportados. Controlador ahd(4) soporta tres contadores de error separados para corregible, no corregible y fatal, en sysctl(8) MIB. Añadido una nueva opción de kernel ATA_CAM. Esta opción convierte los controladores ata(4) en módulos de interfaz cam(4). Cuando se activa, esta opción deja obsoletos todos los controladores periféricos ata(4) e interfaces como ad y acd, y permite que los controladores cam(4) ada, y cd e interfaces se utilicen de forma nativa en su lugar. Tenga en cuenta que esta opción no está activada por defecto en el kernel GENERIC. Se ha corregido un error del controlador ata(4) que podía provocar tormentas de interrupciones y tiempos de espera de comandos. Se ha eliminado el soporte para dispositivos de almacenamiento masivo USB en el controlador ata(4). Tenga en cuenta que esto no se utilizaba en el kernel GENERIC y que el controlador umass(4) soporta dichos dispositivos desde hace mucho tiempo. Se ha mejorado la estructura SCSI de FreeBSD cam(3): • Se ha mejorado la compatibilidad con SATA y PATA y ahora reconoce con más detalle las capacidades de los dispositivos. Por ejemplo, el controlador ahci(4) y siis(4) ahora informa al framework del número máximo de etiquetas para optimizar la gestión de NCQ. • Se ha añadido un sintonizador de cargador kern.cam.boot_delay. Controla el tiempo de retardo antes de que cam(3) sondee los dispositivos conectados. • Se ha mejorado la recuperación de errores SCSI para dispositivos en buses sin informe automático de sentido. Los dispositivos típicos están en ATAPI y USB. Por ejemplo, esto permite a cam(3) esperar, mientras la unidad de CD carga el disco, en lugar de devolver inmediatamente el estado de error. • La capa de transporte ATA cam(4) admite ahora el encendido en espera (PUIS). El PUIS es una configuración de las unidades SATA o PATA para evitar que se pongan en marcha automáticamente cuando se aplica alimentación. Una aplicación típica es el giro escalonado. • La capa de transporte ATA cam(4) admite ahora la negociación y activación de funciones SATA adicionales, como la gestión de energía iniciada por el dispositivo, la transición automática de modo parcial a modo de suspensión y la activación automática de DMA. Se ha corregido un problema de bloqueo del controlador ciss(4) bajo una carga elevada. Se ha corregido un error del controlador fdc(4) que impedía la descarga del módulo del núcleo. glabel(8) ahora soporta las siguientes variables sysctl para cada tipo de etiqueta para habilitar el etiquetado en sí: kern.geom.label.ext2fs.enable kern.geom.label.iso9660.enable kern.geom.label.msdosfs.enable kern.geom.label.ntfs.enable kern.geom.label.reiserfs.enable kern.geom.label.ufs.enable kern.geom.label.ufsid.enable kern.geom.label.gptid.enable kern.geom.label.gpt.enable Tenga en cuenta que todos ellos son también sintonizables del cargador. Están activadas (1) por defecto. Los proveedores de geom(8), incluidos los complejos como gconcat(8), gmirror(8), graid3(8), gstripe(8), y algunos controladores de dispositivos RAID por hardware como twa(4) ahora informan de su tamaño de bloque de acceso óptimo a la capa superior. La utilidad gmirror(8) ahora soporta el comando configure -p priority para cambiar la prioridad de los proveedores. Se ha cambiado el algoritmo del modo de equilibrio de carga utilizado en la utilidad gmirror(8), que ahora es el predeterminado en lugar de split: • En lugar de medir el tiempo de ejecución de la última solicitud de cada unidad y elegir la que tenga el menor tiempo, utilice el número medio de solicitudes ejecutadas en cada unidad. Esta información es más precisa y oportuna. Permite distribuir la carga entre las unidades de forma más uniforme y predecible. • Para cada unidad, realice un seguimiento del desplazamiento de la última solicitud enviada. Si el desplazamiento de la nueva solicitud coincide con el de la anterior o se aproxima para alguna unidad, prefiere esa unidad. Permite acelerar significativamente las lecturas secuenciales simultáneas. La utilidad gmultipath(8) soporta ahora los comandos destroy, rotate, getactive. Se ha corregido un error en graid3(8) que provocaba un pánico cuando llegaba una petición grande. Esto ocurre cuando MAXPHYS se establece como mayor que 128k. El tamaño de bloque por defecto de gstripe(8) se ha incrementado de 4k a 64k. Se ha añadido el módulo GEOM_SCHED. Este módulo permite programar las peticiones de E/S de disco de forma independiente del dispositivo. Un algoritmo soportado es el planificador anticipado gsched_rr, que proporciona muy buenas mejoras de rendimiento en presencia de patrones de acceso aleatorio en competencia. Consulte también la página del manual de gsched(8) para más detalles. Se ha añadido el marco HAST (Highly Available STorage): • Se trata de un marco que permite almacenar datos de forma transparente en dos máquinas separadas físicamente y conectadas a través de la red TCP/IP. HAST funciona en configuración Primary-Secondary (Master-Backup, Master-Slave), lo que significa que sólo uno de los nodos del clúster puede estar activo en un momento dado. Sólo el nodo primario puede gestionar las solicitudes de E/S a los dispositivos gestionados por HAST. Actualmente, HAST está limitado a dos nodos de clúster en total. • Funciona a nivel de bloque; proporciona dispositivos similares a discos en el directorio /dev/hast/ para su uso por sistemas de ficheros y/o aplicaciones. Trabajar a nivel de bloque lo hace transparente para los sistemas de archivos y las aplicaciones. No hay ninguna diferencia entre utilizar un dispositivo proporcionado por HAST y un disco en bruto, una partición, etc. Todos ellos son proveedores geom(8) normales en FreeBSD. • La parte de usuario consiste en hastd(8), hastctl(8) y hast.conf(5). Encontrará más detalles en http://wiki.FreeBSD.org/HAST. Se ha mejorado la estabilidad del controlador isp(4). Se ha añadido el controlador CAM ATA mvs(4) para las controladoras SATA 88SX50XX/88SX60XX/88SX70XX/SoC de Marvell. Este controlador soporta el mismo hardware que el controlador ata(4), pero proporciona muchas funciones adicionales, como NCQ y PMP. El controlador siis(4) ahora habilita MSI por defecto en dispositivos basados en SiI3124. Esto se puede desactivar mediante el uso de un sintonizable del cargador hint.siis.0.msi. El tamaño máximo de solicitud de lectura en el controlador siis(4) para chips PCIe se ha aumentado de 512 a 1024 bytes para mejorar el rendimiento. El controlador twa(4) ha sido actualizado a la última versión de LSI. Sistemas de archivos El subsistema msdosfs(5) es MP-safe y se ha corregido una condición de carrera cuando se produce un desmontaje forzado. El subsistema NFS de FreeBSD soporta un tiempo de espera para las entradas negativas de la caché de nombres en el cliente. Esto evita que una entrada de caché de nombre negativo falsa persista para siempre cuando otro cliente crea una entrada con el mismo nombre dentro de la misma hora del día del servidor NFS. La opción de montaje negnametimeo puede utilizarse para anular el intervalo de tiempo de espera predeterminado (60 segundos) para cada punto de montaje. a Si se establece negnametimeo en 0, se desactiva la caché de nombres negativos para el punto de montaje. Corregida una condición de carrera en el subsistema NFS de FreeBSD que se producía cuando se creaban hilos nfsiod(8). Esto también soluciona un problema de interoperabilidad encontrado en la combinación de un cliente NFS de FreeBSD y un servidor NFS de Linux. El manejo del número de nodo en el sistema de ficheros ffs(7) es ahora sin signo. Anteriormente, algunos números de inodo grandes podían tratarse como negativos, y este problema aparecía en sistemas de archivos con un tamaño superior a 16Tb en el caso de bloques de 16k. La utilidad newfs(8) nunca crea un sistema de ficheros con más de 2^32 inodos recortando el número de inodos por grupo de cilindros si es necesario para mantenerse por debajo del límite. El sistema de archivos UFS ( ffs(7)) soporta NFSv4 ACL. El subsistema VFS(9) de FreeBSD soporta una nueva variable sysctl vfs.vlru_allow_cache_src. Esto permite al hilo del kernel vnlru reclamar los vnodos del directorio que son origen de los registros de la caché de nombres. Mejorado el sistema de archivos ZFS Cambios en el Userland Se ha corregido un error del programa bsnmpd(1) que provocaba un elevado consumo de CPU en un sistema cargado. Se ha corregido un error de la utilidad bzip2(1) que le impedía trabajar con archivos bzip2 multisesión. La utilidad camcontrol(8) admite ahora un indicador -v en el subcomando identify. Muestra todo el bloque de datos de identificación. La utilidad camcontrol(8) admite ahora los indicadores -d y -f en el subcomando cmd. Especifican el protocolo DMA o el protocolo FPDMA (NCQ) que se utilizará para el comando ATA, respectivamente. Ahora chgrp(1) y chown(8) admiten un indicador -x para que la operación recursiva no atraviese varios puntos de montaje. El cp(1) ahora soporta una bandera -x para hacer que no atraviese múltiples puntos de montaje para la operación recursiva. Las utilidades cp(1), find(1), getfacl(1), mv(1) y setfacl(1) soportan ahora NFSv4 ACL. Diskinfo(8) permite ahora informar sobre el tamaño de las bandas de disco y su desplazamiento. Esto ayuda a los usuarios a hacer que los sistemas de archivos estén óptimamente alineados y ajustados para un mejor rendimiento. Se ha corregido un error en la utilidad ee(1) que podía bloquear el programa. Se ha corregido un error en la utilidad factor(6) que provocaba una degradación del rendimiento. La utilidad fetch(1) soporta ahora la autenticación HTTP digest. Se ha corregido un error de la utilidad fetch(1) que evaluaba incorrectamente una variable NO_PROXY. Se ha corregido un error en la utilidad find(1). Una opción -newerXB se interpretaba igual que -newerXm. Se ha corregido un error en la función fnmatch(3). La bandera FNM_PERIOD no funcionaba correctamente cuando * se incluían caracteres en la cadena y se especificaba FNM_PATHNAME. Un error en la utilidad fsck_ffs(8) que provoca que el último grupo de cilindros de un sistema de archivos UFS1 se notifique siempre como roto incluso después de solucionarlo. La utilidad gcore(1) ahora reconoce los hilos en el proceso y maneja los volcados en un ámbito de hilo. La utilidad ifconfig(8) soporta ahora la manipulación de banderas NDP manejadas por ndp(8). La utilidad ifconfig(8) ahora admite un comando de valor de descripción para añadir un valor de descripción a la interfaz especificada. La utilidad indent(1) admite ahora la opción -ta para tratar todos los identificadores con sufijo _t como tipos. Se ha importado la biblioteca liblzma para el algoritmo de compresión de datos sin pérdidas LZMA2 y las utilidades de usuario xz(1), xzdec(1), lzma(1) y lzmainfo(1). Cuando se actualiza el sistema antiguo a 8.1-RELEASE, puede ser necesario desinstalar una versión que se encuentra en la Colección de Ports (archivers/xz) y recompilar los paquetes que dependen de ella. [amd64, i386] Se ha mejorado el rendimiento de la biblioteca libz. Para FreeBSD/i386, tenga en cuenta que esta mejora utiliza instrucciones sólo en CPU de clase i686 y están deshabilitadas por defecto. Especificando CPUTYPE=pentium4 en /etc/make.conf las habilita. La utilidad ln(1) ahora notifica correctamente un error cuando se especifica un indicador -f y dos entradas de archivo iguales en la opción de línea de comandos. Primero eliminaba el archivo y luego informaba de un error de "no encontrado". La utilidad ln(1) elimina ahora los caracteres de barra diagonal al crear un enlace a un directorio. La siguiente secuencia de comandos informaba de un error en las versiones anteriores: % mkdir prueba1 prueba2 % ln -s ../prueba2/prueba1 La utilidad mount_nfs(8) soporta ahora la notación [ipaddr]:path además de la ya existente. Esto permite montar una dirección IPv6 en el campo de dirección y una ruta que incluya ":". Se ha corregido un error de la utilidad netstat(1) que impedía el funcionamiento de netstat -f netgraph. La utilidad netstat(1) ahora soporta información ARP en las estadísticas mostradas por la bandera -s. La utilidad netstat(1) admite ahora la opción -q number para especificar el número de salidas. Se utiliza junto con la opción -w. La utilidad newfs_msdos(8) utiliza ahora NO_NAME como etiqueta de volumen por defecto y BSD4.4 como cadena OEM. La utilidad newsyslog(8) ya no considera la inexistencia de un fichero PID como un error. Un nuevo indicador -P le devuelve al comportamiento anterior. El programa ntpd(8) ya no intenta enlazar con una dirección IPv6 anycast. El módulo PAM pam_krb5(8) soporta ahora la opción no_user_check. Esto permite autorizar a un usuario no conocido por el sistema local. La utilidad pathchk(1) soporta ahora la opción -P definida en POSIX-1.2008. Esta opción busca nombres de ruta vacíos y componentes que empiecen por "-". Una variable daily_clean_tmps_ignore que se utiliza en el script diario periodic(8) ahora tiene /tmp/.snap. Esto evita que /tmp/.snap sea eliminado. La utilidad procstat(1) ahora admite dos nuevos indicadores -i y -j para mostrar información sobre la disposición de las señales y el estado pendiente/bloqueado de las señales. Se ha añadido la utilidad pwait(1). Es similar a la utilidad de Solaris del mismo nombre, y espera a que termine cualquier proceso. Se ha corregido un error de la utilidad restore(8) que provocaba lecturas cortas cuando se utilizaba la opción -P. El indicador rtsold(8) -a ahora excluye de la lista de interfaces autoprobadas las interfaces que tienen deshabilitado IPv6 o la aceptación de mensajes ICMPv6 Router Advertisement. Las funciones scandir(3) y alphasort(3) se han actualizado para ajustarse a POSIX.1-2008 (IEEE Std 1003.1-2008). La utilidad sed(1) ahora soporta una bandera -r que significa exactamente lo mismo que una bandera -E. Esto es por compatibilidad con la versión GNU. La base de datos de nombres de servicio services(5) (normalmente en /etc/services) ahora también soporta una base de datos estilo db(3) para un mejor rendimiento de búsqueda. La siguiente entrada en /etc/nsswitch.conf habilita el uso del fichero de base de datos binaria: servicios: db Tenga en cuenta que la base de datos de estilo db(3) puede ser creada por services_mkdb(8) en /var/db/service.db. Las funciones sighold(2), sigignore(2), sigpause(2), sigrelse(2) y sigset(2) se han implementado para facilitar la portabilidad de software desde sistemas tipo System V. Tenga en cuenta que están definidas en POSIX.1-2008 XSI (IEEE Std 1003.1-2008, X/Open System Interface) pero ahora están obsoletas. Dado que FreeBSD ya tiene otra función sigpause(3) derivada de 4.2BSD, se ha implementado una versión de la interfaz XSI como xsi_sigpause. Los programas sshd(8), cron(8), inetd(8), y syslogd(8) ahora fijan la bandera de memoria MADV_PROTECT sobre sí mismos para protegerse de ser terminados por el kernel de FreeBSD cuando la memoria disponible se queda corta. Este tipo de terminación de proceso ocurre en una carga de trabajo intensiva en swap. La utilidad stat(1) admite ahora el especificador de salida %Sf para mostrar simbólicamente las banderas de archivo. La función strsignal(3) es ahora thread-safe. La utilidad sysctl(8) soporta ahora una bandera -i para ignorar fallos mientras se recuperan OIDs individuales. Esto permite pasar la misma lista de OIDs a sysctl(8) a través de diferentes sistemas en los que determinados OIDs pueden no existir, y aun así obtener tanta información como sea posible de ellos. La utilidad traceroute(8) realiza ahora correctamente la selección de la dirección de origen incluso en un entorno VIMAGE jail(8). La utilidad unifdef(1) ha sido actualizada a la versión 1.188. Ahora soporta una nueva bandera -B para comprimir las líneas en blanco alrededor de una sección eliminada para evitar que las líneas en blanco alrededor de párrafos de código se dupliquen. La utilidad unzip(1) admite ahora la consulta de cambio de nombre cuando ya existe un archivo con el mismo nombre que el que se va a extraer. La utilidad unzip(1) soporta ahora las opciones -C, -c, -f, -p y -v, compatibles con Info-ZIP. La utilidad usbconfig(8) soporta ahora una nueva bandera -d para especificar el dispositivo ugen(4), y los comandos add_quirk y remove_quirk. La utilidad whois(1) permite ahora buscar direcciones IPv6 igual que IPv4 sin especificar el servidor ARIN. Se ha suprimido el indicador -d porque ha quedado obsoleto. Se ha añadido un nuevo errno ENOTCAPABLE. Se devuelve cuando un proceso solicita una operación en un descriptor de fichero que no está autorizada por los indicadores de capacidad del descriptor. El comando zfs(8) ahora soporta una nueva bandera receive -u para especificar que el ZFS recibido no debe ser montado automáticamente. Scripts /etc/rc.d Añadido el comando service(8). Proporciona una sencilla interfaz de línea de comandos para el sistema rc.d. Los scripts rc.d/ipfw y /etc/rc.firewall soportan IPv6, y los scripts rc.d/ip6fw y /etc/rc.firewall6 son obsoletos. Añadido el script rc.d rc.d/rtsold. Se encarga del demonio rtsold(8). Añadido el script rc.d rc.d/static_arp. Esto permite al administrador definir estáticamente mapeos de direcciones MAC a IPv4 en tiempo de arranque. El script rc.d/tmp utiliza un nombre de directorio único con el prefijo /tmp/.diskless en lugar del propio /tmp/.diskless. Esto soluciona un problema cuando /tmp/.diskless existe antes de que se ejecute el script. Añadido el script rc.d rc.d/ubthidhci. Este pequeño script llama a usbconfig(8) para cambiar un controlador USB Bluetooth de modo HID a modo HCI. El rc.conf(5) soporta una variable firewall_coscripts. Esta debe contener una lista de comandos que deben ejecutarse después de que el cortafuegos se inicie o se detenga. rc.conf(5) soporta la configuración de interfaces vlan(4) como dispositivos hijos de forma similar a las interfaces wlan(4). Las interfaces vlan(4) se listan mediante una nueva variable vlans_IF. Si una interfaz VLAN es un número, entonces ese número se trata como la etiqueta VLAN para la interfaz y la interfaz se llamará IF.tag. En caso contrario, la etiqueta VLAN debe proporcionarse a través de un parámetro VLAN en una variable create_args_IF. Ingeniería de lanzamiento e integración El nombre de fichero de las imágenes ISO de las versiones de FreeBSD tiene ahora un FreeBSD- al principio. GNOME (x11/gnome2) se ha actualizado a 2.28.2. KDE (x11/kde4) se ha actualizado a 4.4.3. |
| Versión antigua, sin servicio técnico: 8.2 | 24/02/2011 | 31/07/2012 | import V4L into Linuxtator |
| Versión antigua, sin servicio técnico: 8.3 | 18/04/2012 | 30 /042014 | graid replaces ataraid; update ZFS to version 28; DTrace ability on Linux emulated binaries; mod_cc pluggable congestion control framework for TCP/IP stack |
| Versión antigua, sin servicio técnico: '8.4' | 7/06/2013 | 1/08/2015 | |

### 9
#### FreeBSD 9.x

FreeBSD 9.0 a 9.3 :
| Versión | Lanzamiento | Soporte hasta | Cambios significativos |
| Versión antigua, sin servicio técnico: 9.x | 12 de enero de 2012 | 31 de diciembre de 2016 | Mecanismo Capsicum seguridad basada en capacidades UFS SoftUpdates+Journal ZFS actualizado a la versión 28 bsdconfig, utilidad de configuración del sistema bsdinstall, el nuevo programa de instalación del sistema RCTL, un mecanismo de límites de recursos flexibles GRAID, implementación de software flexible RAID conductores virtio pkgng vt, implementación de nueva terminal virtual |
| Versión antigua, sin servicio técnico: 9.0 | 12 de enero de 2012 | 31 de marzo de 2013 | userland DTrace, substitute GCC with Clang and LLVM for base system, USB 3.0 support, UFS SoftUpdates+Journal, moving ATA disk drivers to the CAM system, update ZFS to version 28, replaced sysinstall with bsdinstall. |
| Versión antigua, sin servicio técnico: 9.1 | 30 de diciembre de 2012 | 31 de diciembre de 2014 | Update of sound drivers; improved performance of IPv6 stack; new C++ stack; jail support for devfs, nullfs, and ZFS; sched_ule SMT load balancing improvements |
| Versión antigua, sin servicio técnico: 9.2 | 30 de septiembre de 2013 | 31 de diciembre de 2014 | ZFS support for LZ4 compression and TRIM; removal of FireWire drivers from GENERIC kernel |
| Versión antigua, sin servicio técnico: 9.3 | 16 de julio de 2014 | 31 de diciembre de 2016 | ZFS support for bookmarks |

### 10
#### FreeBSD 10.x

FreeBSD 10.0 a 10.4 :
| Versión | Lanzamiento | Soporte hasta | Cambios significativos |
| Versión antigua, sin servicio técnico: 10.x | 20 de enero de 2014 | 31 de octubre de 2018 | hipervisor BHyVe Clang reemplazó GCC en arquitecturas compatibles Nueva pila iSCSI Soporte agregado para Raspberry Pi UEFI arranque para amd64 ZFS arrancando a través de UEFI ZFS en el sistema de archivos raíz ZFS mejoras en la confiabilidad y el rendimiento Implementación de pkg, un nuevo administrador de paquetes de FreeBSD, también conocido como pkgng Compatibilidad con el protocolo UDP Lite (RFC 3828) SMP compatible con armv6 Nuevo automounter basado en autofs Se actualizó el código DRM para que coincida con Linux 3.8.13, lo que permite múltiples servidores X simultáneos Compatibilidad con binarios de Linux, Linuxtator, de 64 bits a través de la capa de compatibilidad |
| Versión antigua, sin servicio técnico: 10.0 | 20 de enero de 2014 | 31 de enero de 2015 | Virtualization improvements (bhyve, virtio); USB upgrades; use clang and LLVM by default; capsicum; pkgng; remove BIND; add LDNS and Unbound to base system; update ipfilter to 5.1.2; add support for Raspberry Pi, IEEE 802.11s, and FUSE; ZFS on root filesystem; replaced GNU tools with BSD-licensed versions |
| Versión antigua, sin servicio técnico: 10.1 | 14 de noviembre de 2014 | 31 de diciembre de 2016 | UEFI; UDP-Lite support for IPv4 and IPv6; new filesystem automounting utility; bhyve booting from ZFS; new console driver |
| Versión antigua, sin servicio técnico: 10.2 | 13 de agosto de 2015 | 31 de diciembre de 2016 | Update linux compatibility layer, Linuxtator, to support Centos 6 ports; ZFS performance and reliability improvements; update DRM for multiple X servers support |
| Versión antigua, sin servicio técnico: 10.3 | 28 de marzo de 2016 | 30 de abril de 2018 | improvements to UEFI boot loader and Linux compatibility; ZFS boot support and root on ZFS for UEFI; CAM Target Layer support for high availability services |
| Versión antigua, sin servicio técnico: 10.4 | 3 de octubre de 2017 | 31 de octubre de 2018 | Full support for eMMC storage; support for Mellanox ConnectX-4 adapters; driver and software updates |

### 11
#### FreeBSD 11.x

FreeBSD 11.0 a 11.4 :
| Versión | Lanzamiento | Soporte hasta | Cambios significativos |
| Versión antigua, sin servicio técnico: 11.x | 10 de octubre de 2016 | 30 de septiembre de 2021 | Nueva versión de NetMap Soporte para la Arquitectura ARM de 64 bits umount(8) -N nuevo indicador que se utiliza para desmontar a la fuerza un sistema de archivos montado en NFS crontab -f nueva bandera agregada El sistema de archivos ZFS se ha actualizado para implementar el montaje paralelo. Se agregó la utilidad trim(8), que elimina el contenido de los bloques en dispositivos de almacenamiento basados en flash que usan algoritmos de nivelación de desgaste. |
| Versión antigua, sin servicio técnico: 11.0 | 10 de octubre de 2016 | 30 de noviembre de 2017 | Improvements for wireless networking; support for the 64-bit ARM architecture |
| Versión antigua, sin servicio técnico: 11.1 | 26 de julio de 2017 | 30 de septiembre de 2018 | Support for Microsoft Hyper-V hypervisor; support for Amazon Elastic File System in Network File System client; ZFS boot configuration utility |
| Versión antigua, sin servicio técnico: 11.2 | 28 de junio de 2018 | 31 de octubre de 2019 | Meltdown and Spectre fixes; driver and software updates |
| Versión antigua, sin servicio técnico: 11.3 | 9 de julio de 2019 | 30 de septiembre de 2020 | driver and software updates |
| Versión antigua, sin servicio técnico: 11.4 | 23 de junio de 2020 | 30 de septiembre de 2021 | Support for ZFS bookmark renaming; tunable ZFS intent log; upgrades for GNOME, KDE, clang, llvm, unbound, and others |

### 12
#### FreeBSD 12.x

FreeBSD 12.0 a 12.4 :
| Versión | Lanzamiento | Soporte hasta | Cambios significativos |
| Versión antigua, sin servicio técnico: 12.x | 11 de diciembre de 2018 | 31 de diciembre de 2023 | El sistema de archivos ext2fs(5) ha sido actualizado para admitir soporte completo de lectura/escritura para ext4 FreeBSD ha cambiado la forma en que se manejan los controladores de dispositivos gráficos de fuente abierta y libre en amd64 e i386. Los controladores de gráficos para las modernas tarjetas gráficas ATI-AMD e Intel ya están disponibles en Ports Collection. El sistema de archivos UFS/FFS se actualizó para admitir la verificación de hashes en mapas de grupos de cilindros. |
| Versión antigua, sin servicio técnico: 12.0 | 11 de diciembre de 2018 | 29 de febrero de 2020 | Improved support for Ryzen and Epyc CPUs; Better support for modern AMD/Intel graphic cards; various kernel configuration tweaking |
| Versión antigua, sin servicio técnico: 12.1 | 4 de noviembre de 2019 | 31 de enero de 2021 | Added BearSSL to base system |
| Versión antigua, sin servicio técnico: 12.2 | 27 de octubre de 2020 | 31 de marzo de 2022 | Expanding jail functionality to allow Linux to run in a jailed environment; upgrades to wireless networking stack (improvements to 802.11n and 802.11ac support) |
| Versión antigua, sin servicio técnico: 12.3 | 7 de diciembre de 2021 | 31 de marzo de 2023 | |
| Versión antigua, sin servicio técnico: 12.4 | 5 de diciembre de 2022 | 31 de diciembre de 2023 | |

### 13
#### FreeBSD 13.x

FreeBSD 13.0 a 13.2 :
| Versión | Lanzamiento | Soporte hasta | Cambios significativos |
| Versión antigua, con servicio técnico: 13.x | 13 de abril de 2021 | 31 de enero de 2026 | Las utilidades clang, lld y lldb y las bibliotecas compiler-rt, llvm, libunwind y libc++ se han actualizado a la versión 11.0.1. Se eliminaron los obsoletos binutils 2.17 y gcc(1) 4.2.1 del árbol. Todas las arquitecturas admitidas ahora usan la cadena de herramientas LLVM/clang. El kernel ahora es compatible con el encuadre y el cifrado en el kernel de los datos de Transport Layer Security (TLS, seguridad de la capa de transporte) en los sockets TCP para las versiones de TLS 1.0 a 1.3. La descarga de transmisión a través de controladores criptográficos en el núcleo es compatible con conjuntos de cifrado MtE que utilizan AES-CBC, así como conjuntos de cifrado AEAD que utilizan AES-GCM. La descarga de recepción a través de controladores criptográficos en el kernel es compatible con conjuntos de cifrado AES-GCM para TLS 1.2. El uso de KTLS requiere el uso de una biblioteca SSL de usuario compatible con KTLS. La biblioteca OpenSSL incluida en el sistema base no habilita la compatibilidad con KTLS de forma predeterminada, pero la compatibilidad se puede habilitar compilando con la opción WITH_OPENSSL_KTLS La arquitectura ARM de 64 bits conocida como arm64 o AArch64 se promociona al nivel 1 para FreeBSD 13. |
| Versión antigua, sin servicio técnico: 13.0 | 13 de abril de 2021 | 31 de agosto de 2022 | In-kernel framing and encryption of Transport Layer Security (TLS) versions 1.0 to 1.3; 64-bit ARM architecture promoted to Tier 1 support; upgrade of clang, LLVM, and related utilities to version 11.0.1; all supported architectures now use clang and LLVM toolchain by default; removal of deprecated utilities and libraries (binutils, gcc, GNU grep, CU-SeeMe); addition of driver for Intel QuickAssist (QAT) device; some drivers upgraded to support PowerPC64 architecture |
| Versión antigua, sin servicio técnico: 13.1 | 16 de mayo de 2022 | 31 de julio de 2023 | |
| Versión antigua, con servicio técnico: 13.2 | 11 de abril de 2023 | | |

### 14
#### FreeBSD 14.x

FreeBSD 14.0 - ... :
| Versión | Cambios significativos |
| Versión estable actual: '14.0' | • Lanzamiento: 23/10/2023 • Soporte hasta: |

### Línea de tiempo

La línea temporal muestra que una generación de FreeBSD dura alrededor de 5 años. Dado que el proyecto FreeBSD se esfuerza por conseguir compatibilidad binaria hacia atrás (y limitada hacia adelante) dentro de la misma generación de releases, esto permite a los usuarios más de 5 años de soporte, con actualizaciones triviales o sencillas dentro de la misma generación de lanzamientos.