FreeBSD 5.0 a 5.5
|
Versión
|
Cambios significativos
|
Versión antigua, sin servicio técnico: 5.0[101][102]
|
• Lanzamiento: 14/01/2003 • Soporte hasta: 30/06/2003
- Primera versión de FreeBSD que soporta 5[102] tipos de arquitectura de computadoras/ordenadores (alpha,[103] ia64,[104] i386,[105] pc98[106] y sparc64[107])
- 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[108][109]
|
• Lanzamiento: 09/06/2003 • Soporte hasta: Febrero de 2004
- Segunda versión de FreeBSD que soporta 5[110] tipos de arquitectura de computadoras/ordenadores (alpha,[111] ia64,[112] i386,[113] pc98[114] y sparc64[115])
- 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[116][117]
|
• Lanzamiento: 09/01/2004 • Soporte hasta: 31/12/2004
- Primera versión de FreeBSD que soporta 6[118] tipos de arquitectura de computadoras/ordenadores (alpha,[119] amd64,[120] ia64,[121] i386,[122] pc98[123] y sparc64[124])
- 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[125][126]
|
• 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[127]
|
• 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[128][129]
|
• 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
|
|
Versión
|
Cambios significativos
|
Versión antigua, sin servicio técnico: 5.5[130][131]
|
• 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.
|
|
Leyenda: Versión antigua Versión antigua, con soporte técnico Última versión Última versión previa Lanzamiento futuro
|
|