Fichero de Cambios en Linux 2.6


Esta versión HTML del fichero de cambios de Linux está basada en el fichero Documentation/Changes de las fuentes del núcleo 2.6.x de Linux. Puede contener pequeñas modificaciones debido a versiones más nuevas de algunos ficheros o a cambios en su localización.


Introducción

Este documento está diseñado para proporcionar una lista de los niveles mínimos de software necesarios para ejecutar los núcleos 2.6, así como proveer de unas pequeñas instrucciones referentes a cualquier «problema» que pueda aparecer mientras intenta «vivir a la última». Si está actualizando desde un núcleo anterior a 2.4.x, por favor, consulte el fichero Changes (Cambios) incluido en los núcleos 2.4.x para encontrar información adicional; mucha de esa información no se repite aquí. Básicamente, este documento asume que su sistema ya es funcional y está utilizando como mínimo núcleos 2.2.x.

Este documento está basado originalmente en mi fichero Changes para los núcleos 2.0.x y por ello sus créditos son los mismos que para ese fichero (Jared Mauch, Axel Boldt, Alessandro Sigala, e incontables usuarios a través de la red).

Siéntase libre de traducir este documento. Si lo hace, por favor, mándeme una URL donde encontrar su traducción para incluirla en futuras revisiones de este documento.

Visite http://nulies.hispalinux.es/ para obtener la traducción al español de este documento en varios formatos.

Eine deutsche Version dieser Datei finden Sie unter http://www.stefan-winter.de/html/kernel_2_6_-_changes.html.

Última actualización: 29 de octubre de 2002.
Chris Ricker (kaboom@gatech.edu ó chris.ricker@genetics.utah.edu).

Última actualización de la traducción: 19 de agosto de 2004.
Autor de la traducción: David Martínez Moreno (ender@debian.org).

Requisitos mínimos actuales

¡Actualice *como mínimo* a estas versiones de software antes de creer que ha encontrado un error! Si no está seguro de qué versión está usando actualmente, el comando sugerido debería decírselo.

De nuevo, tenga presente que esta lista asume que ya tiene un núcleo Linux 2.4 funcionando de forma normal. Asimismo, no todas las herramientas son necesarias en todos los sistemas; obviamente, si no tiene ningún hardware PCMCIA (PC Card), por ejemplo, probablemente no necesite preocuparse en absoluto por la versión de pcmcia-cs.

Programa Versión Cómo conocer la versión
Gnu C 2.95.3 gcc --version
GNU make 3.79.1 make --version
binutils 2.12 ld -v
util-linux 2.10o fdformat --version
module-init-tools 0.9.10 depmod -V
e2fsprogs 1.19 tune2fs
jfsutils 1.1.3 fsck.jfs -V
reiserfsprogs 3.6.3 reiserfsck -V 2>&1|grep reiserfsprogs
xfsprogs 2.6.0 xfs_db -V
pcmcia-cs 3.1.21 cardmgr -V
quota-tools 3.09 quota -V
PPP 2.4.0 pppd --version
isdn4k-utils 3.1pre1 isdnctrl 2>&1|grep version
nfs-utils 1.0.5 showmount --version
procps 3.1.13 ps --version
oprofile 0.5.3 oprofiled --version

Compilación del núcleo

* GCC

La versión de gcc que se necesita puede depender del tipo de CPU que tiene su computadora. El próximo párrafo se aplica a los usuarios de CPUs x86, pero no necesariamente a los usuarios de otras CPUs. Los usuarios de otras CPUs deberían obtener información en algún otro sitio de la versión de gcc que necesitan.

El compilador recomendado para el núcleo es gcc 2.95.x (x >= 3), y es el que debería usar cuando necesite estabilidad absoluta. Puede usar gcc 3.0.x si lo desea, aunque puede que tenga algún problema. Las versiones posteriores de gcc no han recibido demasiadas pruebas de compilación del núcleo de Linux, y hay ciertos fallos (principalmente, pero no exclusivamente, en el núcleo) que han de arreglarse para poder usar estos compiladores. En cualquier caso, usar pgcc en vez de simplemente gcc es querer buscarse problemas.

La subrama de gcc 2.96 de Red Hat también se puede usar para compilar este árbol. Ha de asegurarse de que usa gcc-2.96-74 o posterior. gcc-2.96-54 no compilará el núcleo correctamente.

Además, por favor, preste atención a la optimización del compilador. Cualquier cosa mayor que -O2 puede no ser acertada. Por motivos similares, si escoge usar gcc 2.95.x o derivados, asegúrese de no usar -fstrict-aliasing (lo que, dependiendo de su versión de gcc 2.95.x, puede obligarle a usar -fno-strict-aliasing).

* Make

Necesitará una versión del make de Gnu 3.79.1 o posterior para construir el núcleo.

* Binutils

Linux en IA-32 ha dejado de usar «as86» en favor de «gas» para ensamblar el código de arranque de 16 bits, y por tanto evitando la necesidad de tener as86 para compilar su núcleo. Este cambio, sin embargo, significa que necesita una versión reciente de binutils.

Utilidades del sistema

* Cambios estructurales en la arquitectura

DevFS ya está en el núcleo. Vea Documentation/filesystems/devfs/* en el árbol de las fuentes del núcleo si quiere conocer los detalles más escabrosos.

Ya hay soporte para UIDs de 32 bits. ¡Diviértase!

La documentación de funciones en Linux está transformándose en un estilo de documentación dentro del código, que funciona gracias a que cerca de las definiciones de las funciones en el código fuente hay comentarios con un formato especial. Estos comentarios se pueden combinar con las plantillas SGML del directorio Documentation/DocBook para conseguir ficheros DocBook, que pueden entonces convertirse con hojas de estilo DocBook en PostScript, HTML, ficheros PDF, y varios formatos más. Para convertir algo de formato DocBook a otro de su elección, necesitará instalar Jade, así como las hojas de estilo de DocBook necesarias.

* Util-linux

Las nuevas versiones de las util-linux ofrecen soporte en *fdisk de discos más grandes, soportan opciones nuevas de montaje, reconocen más tipos de particiones, tienen un fdformat que funciona con núcleos 2.4, y otras características estupendas. Probablemente quiera actualizarlas.

* Ksymoops

Si sucede lo impensable y su núcleo produce un oops, necesitará una versión 2.4 de ksymoops para descifrar el informe; lea REPORTING-BUGS, situado en la raíz de las fuentes de Linux, para más información.

* Modutils

Ahora hay un nuevo cargador de módulos en el núcleo que necesita usar module-init-tools. Es compatible con los núcleos de la serie 2.4.x.

* Mkinitrd

Estos cambios del aspecto del árbol de ficheros de /lib/modules también requieren que se actualice mkinitrd.

* E2fsprogs

La última versión de e2fsprogs arregla varios fallos en fsck y debugfs. Obviamente, es una buena idea actualizarlos.

* JFSutils

El paquete jfsutils contiene las utilidades para el sistema de ficheros. Están disponibles las siguientes utilidades:

fsck.jfs inicia una revisión del fichero de transacciones, y chequea y repara una partición JFS.
mkfs.jfs formatea una partición JFS.
este paquete también ofrece otras utilidades para el sistema de ficheros.

* Reiserfsprogs

El paquete de reiserfsprogs debería usarse para reiserfs-3.6.x (núcleos de Linux 2.4.x). Es un paquete combinado y contiene versiones funcionales de mkreiserfs, resize_reiserfs, debugreiserfs y reiserfsck. Estas utilidades funcionan tanto en plataformas i386 como Alpha.

* Xfsprogs

La última versión de xfsprogs contiene las utilidades mkfs.xfs, xfs_db y xfs_repair, entre otras, para sistemas de ficheros XFS. Son independientes de la arquitectura y cualquier versión a partir de la 2.0.0 debería funcionar perfectamente con la versión del código de XFS del núcleo (recomendamos la versión 2.6.0 o cualquiera mayor, debido a mejoras significativas).

* Pcmcia-cs

Se ha implementado parcialmente el soporte de PCMCIA (PC Card) en las fuentes principales del núcleo. Preste atención cuando recompile su núcleo ;-). Además, asegúrese de tener la última versión de pcmcia-cs.

* Quota-tools

Si quiere usar el nuevo formato v2 de cuotas de disco, necesitará soporte para uid's y gid's de 32 bits. La versión 3.07 de quota-tools o cualquiera más nueva tiene este soporte. Use la versión recomendada o más nueva de la tabla de más arriba.

* Microcódigo de Intel IA32

Se ha añadido un controlador para permitir actualizar el microcódigo de los Intel IA32, accesible tanto como un fichero regular en devfs como un dispositivo de caracteres normal. Si no está usando devfs puede que necesite hacer:

mkdir /dev/cpu
mknod /dev/cpu/microcode c 10 184
chmod 0644 /dev/cpu/microcode

como root antes de que pueda usarlo. Probablemente también querrá conseguir la utilidad en espacio de usuario microcode_ctl para usarla con esto.

* Powertweak

Si está usando la versión 0.1.17 o anterior, debería actualizar a la versión 0.99.0 o superior. Utilizar versiones antiguas puede causar problemas con programas que usen memoria compartida.

Red

* Cambios generales

Si tiene necesidad de configuraciones de red avanzadas, probablemente debería considerar usar las herramientas de red del paquete ip-route2.

* Filtrado de paquetes / NAT

El código de filtrado de paquetes y de NAT usa las mismas herramientas (iptables) que las versiones anteriores del núcleo, las 2.4.x. Aún incluyen módulos para compatibilidad previa con la sintaxis de ipchains (propia de 2.2.x) e ipfwadm (propia de 2.0.x).

* PPP

Se ha reestructurado el controlador PPP para que aguante multienlace y para que permita operar sobre diversos medios de transporte. Si usa PPP, actualice ppp al menos hasta la versión 2.4.0.

Si no está usando devfs, ha de tener el fichero de dispositivo /dev/ppp, que puede crear ejecutando:

mknod /dev/ppp c 108 0

como root.

Si usa devfsd y construye el soporte de ppp como módulos, necesitará lo siguiente en su fichero /etc/devfsd.conf:

LOOKUP  PPP  MODLOAD

* Isdn4k-utils

Debido a cambios en la longitud del campo del número de teléfono, hay que recompilar o (preferiblemente) actualizar las isdn4k-utils.

* NFS-utils

En los núcleos 2.4 y anteriores, el servidor NFS necesitaba conocer todos los clientes que se supone que iban a acceder a ficheros sobre NFS. Esta información sería entregada al núcleo por «mountd» cuando el cliente montase el sistema de ficheros, o por «exportfs» en el inicio del sistema. exportfs tomaría información de los clientes activos de /var/lib/nfs/rmtab.

Este enfoque es bastante frágil, ya que depende de que la información de rmtab sea correcta, lo cual no es siempre fácil, en particular cuando se intenta implementar alta disponibilidad. Incluso cuando el sistema funciona bien, el rmtab se ve poblado por montones de entradas antiguas que nunca se borran.

Con 2.6 tenemos la opción de hacer que el núcleo notifique a mountd que ha recibido una petición de un cliente desconocido, y entonces mountd puede dar información de exportación apropiada al núcleo. Esto hace que desaparezca la dependencia de rmtab y quiere decir que el núcleo sólo necesita conocer los clientes activos en cada momento.

Para activar esta nueva funcionalidad, necesita ejecutar:

mount -t nfsd nfsd /proc/fs/nfs
antes de arrancar exportfs o mountd. Se recomienda que todos los servicios NFS estén protegidos de la Internet general por un cortafuegos si es posible.

Dónde conseguir software actualizado

Compilación del núcleo

gcc 2.95.3
    ftp://ftp.gnu.org/gnu/gcc/gcc-2.95.3.tar.gz

Make
    ftp://ftp.gnu.org/gnu/make/

Binutils
nnbspn   ftp://ftp.kernel.org/pub/linux/devel/binutils/

Utilidades del sistema

* Util-linux

    ftp://ftp.kernel.org/pub/linux/utils/util-linux/

* Ksymoops

    ftp://ftp.kernel.org/pub/linux/utils/kernel/ksymoops/v2.4/

* Module-Init-Tools

    ftp://ftp.kernel.org/pub/linux/kernel/people/rusty/modules/

* Mkinitrd

    ftp://rawhide.redhat.com/pub/rawhide/SRPMS/SRPMS/

* E2fsprogs

    ftp://prdownloads.sourceforge.net/e2fsprogs/e2fsprogs-1.29.tar.gz

* JFSutils

    http://oss.software.ibm.com/jfs/

* Reiserfsprogs

    http://www.namesys.com/pub/reiserfsprogs/reiserfsprogs-3.6.3.tar.gz

* Xfsprogs

    ftp://oss.sgi.com/projects/xfs/download/

* Pcmcia-cs

    ftp://pcmcia-cs.sourceforge.net/pub/pcmcia-cs/pcmcia-cs-3.1.21.tar.gz

* Quota-tools

    http://sourceforge.net/projects/linuxquota/

* Jade

    ftp://ftp.jclark.com/pub/jade/jade-1.2.1.tar.gz

* Hojas de estilo de DocBook

    http://nwalsh.com/docbook/dsssl/

* Microcódigo para Intel P6

    http://www.urbanmyth.org/microcode/

* Powertweak

    http://powertweak.sourceforge.net/

Red

* PPP

    ftp://ftp.samba.org/pub/ppp/ppp-2.4.0.tar.gz

* Isdn4k-utils

    ftp://ftp.isdn4linux.de/pub/isdn4linux/utils/isdn4k-utils.v3.1pre1.tar.gz

* NFS-utils

    http://sourceforge.net/project/showfiles.php?group_id=1

* Iptables

    http://www.iptables.org/downloads.html

* Ip-route2

    ftp://ftp.tux.org/pub/net/ip-routing/iproute2-2.2.4-now-ss991023.tar.gz

* OProfile

    http://oprofile.sf.net/download/

* NFS-Utils

    http://nfs.sourceforge.net/

Sugerencias y correcciones

Siéntase libre de mandarme cambios, correcciones, críticas, enfados, dinero, etc. a chris.ricker@genetics.utah.edu. ¡Feliz Linux!

Si hay algún error en la traducción (por desgracia, algo muy probable) o alguna otra cosa que el traductor tuviera que reconsiderar ;-) , por favor, escriba a David Martínez Moreno (ender@debian.org). Prometo contestar.


Esta página Web ha sido extraída del documento Documentation/Changes de Linux que mantiene Chris Ricker y es distribuida con el código fuente de Linux.

A su vez, esta página Web está mantenida por David Martínez Moreno para el Proyecto NuLies (NÚcleo de LInux en ESpañol).

Bajo Licencia Pública GNU.