Actualizaciones desde Debian ()

Prepararse para la actualización
Le sugerimos que antes de actualizar lea también la información en . Ese capítulo cubre problemas que se pueden dar y que no están directamente relacionados con el proceso de actualización, pero que aún así podría ser importante conocer antes de empezar.

Haga copias de seguridad de sus datos e información de configuración
Es muy recomendable realizar una copia de seguridad completa o al menos una de los datos o información de configuración que no pueda permitirse perder antes de actualizar su sistema. Las herramientas y el proceso de actualización son bastante fiables, pero un fallo de hardware a mitad de una actualización podría resultar en un sistema muy dañado.
Los elementos principales que debería querer salvaguardar son los contenidos de /etc, /var/lib/dpkg, /var/lib/apt/extended_states y la salida de «dpkg --get-selections "*"» (las comillas son importantes). Si utiliza aptitude para gestionar los paquetes en su sistema, también querrá hacer una copia de seguridad de /var/lib/aptitude/pkgstates.
El proceso de actualización no modifica nada dentro del directorio /home. Algunas aplicaciones (como es el caso de algunas partes del conjunto de aplicaciones Mozilla y el de los entornos de escritorio de KDE y GNOME) sí sobreescribirán la configuración del usuario con los nuevos valores por omisión cuando el usuario arranque una nueva versión de la aplicación. Como medida preventiva quizás desee realizar una copia de seguridad de los directorios y archivos ocultos («dotfiles», archivos que comienzan por punto, N. del T.) en los directorios personales de los usuarios. Esta copia de seguridad le será útil para restaurar o recrear la configuración previa a la actualización. Quizás quiera también avisar a los usuarios de este asunto.
Cualquier operación de instalación de paquetes debe ser ejecutada con privilegios de superusuario, bien accediendo al sistema como root o usando los programas su o sudo para obtener los derechos de acceso necesarios.
La actualización tiene unas cuantas condiciones previas, así que debería revisarlas antes de ponerse a ello.

Informar a los usuarios anticipadamente
Es aconsejable informar a los usuarios con antelación de cualquier actualización que esté planeando realizar, aunque los usuarios que accedan al sistema mediante ssh no deberían apenas notar nada durante la actualización, y deberían poder seguir trabajando.
Si desea tomar precauciones adicionales, haga una copia de seguridad, o desmonte la partición /home antes de actualizar.
Tendrá que hacer una actualización del núcleo cuando se actualice a , por lo que será necesario reiniciar el sistema.

Prepararse para la indisponibilidad de servicios
Es posible que existan servicios ofrecidos por el sistema que están asociados a paquetes incluidos en el proceso de instalación. Si esto sucede, ha de tener en cuenta que los servicios se interrumpirán mientras los paquete asociados se están actualizando o están siendo reemplazados y configurados. El servicio no estará disponible durante este tiempo.
El tiempo exacto de indisponibilidad para estos servicios dependerá del número de paquetes que se están actualizando en el sistema, y también incluye el tiempo durante el cual el administrador responde a las preguntas de configuración de las distintas actualizaciones de paquetes (si las hubiera). Tenga en cuenta que si el proceso de actualización se hace de forma desatendida y el sistema realiza alguna pregunta durante éste hay una alta probabilidad de que los servicios no estén disponibles[1] durante un periodo importante de tiempo.
[1] Si la prioridad de debconf se fija al valor «muy alto» no se le realizarán pregutnas de configuración, pero los servicios que dependen de las respuestas por omisión pueden no arrancar si estas respuestas no aplican a su sistema.
Si el sistema que está vd. actualizando ofrece servicios críticos para sus usuarios o para la red[2]. Vd. puede reducir el tiempo de disponibilidad si realiza una actualización mínima del sistema como se describe en Actualización mínima del sistema, seguido de una actualización del núcleo y un reinicio (véase Actualizar el núcleo y udev), y después actualizar los paquetes asociados con sus servicios críticos. Actualice estos paquetes antes de hacer la actualización completo como se describe en Actualizar el sistema. De esta forma puede asegurarse que estos servicios críticos están ejecutándose y disponibles durante todo el proceso de actualización, reduciendo su indisponibilidad.
[2] Por ejemplo: servicios DNS ó DHCP, especialmente si no existe ninguna redundancia o mecanismo de alta disponibilidad. En el caso de DHCP los usuarios pueden quedarse desconectados de la red si el tiempo de mantenimiento de las direcciones es inferior al tiempo que tarda el proceso de actualización en completarse.

Prepararse para la recuperación
Existe un riesgo real de que experimente problemas al reiniciar el sistema tras la instalación debido a los muchos cambios introducidos en el núcleo entre y relacionados con los controladores, el descubrimiento de hardware y la forma de nombrar y ordenar los archivos de dispositivos. Se describen muchos de los problemas conocidos en este capítulo y siguientes de estas notas de publicación.
Por esta misma razón tiene sentido asegurarse de que es capaz de recuperar el sistema en el caso que éste no pudiera reiniciarse o, para aquellos sistemas gestionados de forma remota, no pudiera arrancar correctamente la configuración de red.
Si está actualizando de forma remota a través de un enlace con ssh es altamente recomendable que tome las debidas precauciones para poder acceder al servidor a través de un terminal serie remoto. Existe la posibilidad de que tras actualizar el núcleo y reiniciar algunos de los dispositivos se renombren (como se indica en Reordenación de la numeración de dispositivos) y tenga que arreglar la configuración del sistema a través de una consola remota. Igualmente, es posible que tenga que recuperar con una consola local en caso de que el sistema se reinicie accidentalmente a la mitad de la actualización.
La primera cosa que puede probar es intentar reiniciar con su antiguo núcleo. Sin embargo, debido a las distintas razones que se documentan más adelante, es posible que esto no funcione.
Necesitará un mecanismo alternativo para arrancar su sistema y poder acceder al mismo y repararlo si esto falla. Una opción es utilizar una imagen especial de rescate o un CD «vivo» de Linux («live CD», N. del T.). Una vez haya arrancado con cualquiera de éstos debería poder montar su sistema de archivos raíz y utilizar chroot para acceder a éste, investigar y solucionar el problema.
Otra opción que nos gustaría recomendarle es utilizar el modo de rescate del Instalador de Debian de . La ventaja en el caso de utilizar el instalador es que puede utilizar, de entre los distintos métodos de instalación, el más apropiado para su situación. Si desea más información, consulte la sección Recuperar un sistema roto en el capítulo octavo de la Guía de instalación y las PUF del Instalador de Debian.

Intérprete de línea de órdenes de depuración durante el arranque con initrd
El programa initramfs-tools incluye un intérprete de línea de órdenes para depuración[3] en los «initrds» que genera. Por ejemplo, si el initrd es incapaz de montar su sistema de archivos raíz vd. accederá a este sistema de depuración. En este sistema podrá utilizar algunas órdenes básicas que pueden ayudarle a trazar el problema y quizás incluso arreglarlo.
[3] Esta funcionalidad puede deshabilitarse si añade el parámetro panic=0 dentro de los parámetros del arranque.
Algunas de las cosas básicas a comprobar son: la existencia de los archivos de dispositivos correctos en /dev, los módulos cargados (cat /proc/modules), y la salida de dmesg para ver si se producen errores al cargar los controladores de dispositivos. La salida de dmesg también muestra qué archivos de dispositivos se han asignado a qué discos, debería comparar esa información con la salida de echo $ROOT para asegurarse que el sistema de archivos está en el dispositivo que esperaba.
En el caso de que arregle el problema puede escribir exit para salir del entorno de depuración y continuar el proceso de arranque a partir del punto que falló. Por supuesto, tendrá que arreglar el problema subyacente y regenerar el «initrd» para que no vuelva a fallar en el siguiente arranque.

Preparar un entorno seguro para la actualización
La actualización de la distribución debería hacerse de forma local, frente a una consola virtual en modo texto (o conectado de forma directa mediante un terminal por puerto serie), o de forma remota mediante una conexión ssh.
Si está utilizando algún tipo de servicio de VPN (como pueda ser tinc) puede que éstos no están disponibles durante el proceso de actualización. Para más información consulte Prepararse para la indisponibilidad de servicios.
Para poder tener un margen de seguridad mayor cuando actualiza de forma remota le sugerimos que realice su proceso de actualización en una consola virtual como la que ofrece el programa screen, lo que permite una reconexión segura y asegura que el proceso de actualización no se interrumpe aunque falle el proceso de conexión remota.
No debería actualizar usando telnet, rlogin, rsh, ni desde una sesión de X controlada por xdm, gdm o kdm en la máquina que esté actualizando. Esto se debe a que cada uno de esos servicios puede cerrarse durante la actualización, y podría hacer que el sistema se volviese inaccesible y que está sólo actualizado a la mitad.

POR HACER: ¿seguro que gdm/kdm están bien?
(vorlon) haha, no, gdm no. Pensaba eso y confirmé un reinicio de gdm
         en mi sesión arrancada ;)

Eliminar paquetes conflictivos
Debido a la errata #512951, tiene que borrarse la versión instalada de splashy antes la actualización.

        # apt-get purge splashy

Comprobar el estado del sistema
Se ha diseñado el proceso de actualización descrito en este capítulo para actualizaciones de sistemas puros, en los que no existe ningún paquete de otros proveedores. Puede ser sensato eliminar paquetes de este tipo antes de empezar para asegurarse que el proceso de actualización puede funcionar correctamente.
No se da soporte a actualizaciones de versiones de Debian anteriores a (). Por favor, siga las instrucciones en las Notas de publicación para para actualizarse primero a .
Se supone que su sistema se ha actualizado a la última revisión de . Debe seguir las instrucciones descritas en si su sistema no está actualizado o no está seguro de que lo esté.

Revisar las acciones pendientes en el gestor de paquetes
En algunos casos, utilizar apt-get para instalar paquetes en lugar de aptitude puede hacer que aptitude considere que un paquete no está siendo utilizado (marcado como «unused») y lo marcará para su eliminación. Por regla general debería asegurarse que su sistema está totalmente actualizado y limpio antes de empezar la actualización.
Por ello, es necesario que revise si existe alguna acción pendiente en el gestor de paquetes aptitude. El procedimiento de actualización puede verse afectado negativamente si algún paquete está marcado para eliminarse o actualizarse. Tenga en cuenta que sólo podrá corregir esto si su archivo de configuración sources.list apunta a y no a stable o , consulte .
Para realizar esta revisión debería ejecutar el interfaz de usuario en modo visual de aptitude y pulsar g (Go). Si se muestra cualquier acción, debería revisarla y o bien arreglarlas o llevar a cabo las acciones que se le sugieran. Se le presentará el mensaje No hay ningún paquete planificado para instalar, eliminar o actualizar si no hay ninguna acción pendiente.

Desactivar el bloqueo de APT
Si ha configurado APT para que instale ciertos paquetes de una distribución distinta de la estable, por ejemplo la distribución testing (en pruebas, N. del T.), puede ser que haya cambiado la configuración de bloqueo (o pinning) de APT (almacenada en /etc/apt/preferences) para permitir que se actualicen paquetes con versiones más recientes que en la distribución estable. Puede encontrar más información sobre el bloqueo de APT en apt_preferences 5 .

Verificar el estado de los paquetes
Independientemente del método que se use para actualizar, se recomienda que compruebe el estado de todos los paquetes primero, y que verifique que todos los paquetes se encuentran en un estado actualizable. La siguiente orden mostrará cualquier paquete que se haya quedado a medio instalar (estado Half-Installed) o en los que haya fallado la configuración (estado Failed-Config), así como los que tengan cualquier estado de error.

# dpkg --audit

También puede inspeccionar el estado de todos los paquetes de su sistema usando dselect, aptitude , o con órdenes tales como:

# dpkg -l | paginador

o

# dpkg --get-selections "*" > ~/paqu-actuales.txt

Es deseable eliminar cualquier paquete retenido (paquete en estado «hold», N. del T.) antes de actualizar. El proceso fallará si un paquete esencial para la actualización está bloqueado.
Tenga en cuenta que aptitude utiliza un método para registrar los paquetes retenidos distinto del que utilizan apt-get y dselect. Puede utilizar la siguiente orden para identificar los paquetes que están retenidos en aptitude:

# aptitude search "~ahold" | grep "^.h"

Si quiere comprobar los paquetes que tiene retenidos con apt-get debería utilizar:

# dpkg --get-selections | grep hold

Si ha cambiado y recompilado un paquete de forma local, y no le ha cambiado el nombre o marcado con una época («epoch», N. del T.) en la versión, debería retenerlo (ponerlo en hold) para evitar que se actualice.
Se puede cambiar el estado de un paquete retenido (hold) para que lo tengan en cuenta apt-get con la siguiente orden:

# echo nombre_de_paquete hold | dpkg --set-selections

Cambie hold por install para borrar la marca del paquete y que éste deje de estar retenido.
Si hay algo que debe arreglar es mejor que se asegure de que su archivo sources.list aún incluye referencias a tal y como se explica en .

La sección proposed-updates
Antes de actualizar el sistema debería eliminar la sección proposed-updates de su archivo /etc/apt/sources.list si la tiene listada. Esta medida de precaución reducirá la posibilidad de que se produzcan conflictos.

Fuentes no oficiales y «backports»
Debe tener en cuenta que si tiene paquetes en el sistema que no sean de Debian es posible que éstos se eliminen durante la actualización debido a dependencias que entren en conflicto. Si el paquete se instaló después de añadir un repositorio de paquetes extra en su archivo /etc/apt/sources.list debería asegurarse de que ese repositorio también ofrece paquetes compilados para y cambiar la línea de la fuente al mismo tiempo que cambia otras líneas de las fuentes de los paquetes Debian.
Algunos usuarios tienen versiones más nuevas de paquetes que sí están en Debian a través de recompilaciones no oficiales («backports», N. del T.) que están instaladas en su sistema . Es muy probable que estos paquetes causen problemas durante la actualización y que den lugar a conflictos de archivos[4]. Puede encontrar más información sobre los conflictos de archivos y su resolución en la sección Posibles problemas durante o después de la actualización
[4] El sistema de gestión de paquetes no permite por regla general que un paquete elimine o reemplace un archivo que pertenezca a otro paquete a menos que se haya indicado que el nuevo paquete reemplaza al antiguo.

Preparar las fuentes para APT
Antes de comenzar la actualización, debe modificar las listas de paquetes en el archivo de configuración de apt: /etc/apt/sources.list.
apt will consider all packages that can be found via any deb line, and install the package with the highest version number, giving priority to the first line in the file (thus where you have multiple mirror locations, you'd typically first name a local hard disk, then CD-ROMs, and then HTTP/FTP mirrors).
Una versión se puede designar tanto por su nombre en clave (por ejemplo , ) como por su nombre de estado (esto es, oldstable, stable, testing, unstable). Referirse a la distribución por su nombre en clave tiene la ventaja de que nunca se sorprenderá si se produce una nueva versión y por esa razón es el caso que aquí se describe. Esto significa que va a tener que estar atento a los anuncios nuevas versiones. Sin embargo, si utiliza el nombre del estado verá un número muy elevado de actualizaciones de paquetes en el mismo momento en el que la publicación de una nueva versión se haya realizado.

Añadir fuentes en Internet para APT
La configuración por omisión para la instalación escoge los principales servidores de Debian en Internet, pero puede que desee modificar /etc/apt/sources.list para usar otras réplicas, preferentemente una que esté cerca (en términos de red) de usted.
Encontrará la lista de direcciones de las réplicas en HTTP o FTP de Debian en (busque en la sección Lista de completa de sitios de réplica). Las réplicas HTTP suelen ser más rápidas, en general, que las FTP.
Por ejemplo, suponga que su réplica más cercana es /. Si observa su contenido mediante un navegador web o un programa FTP, comprobará que los directorios principales están organizados así:

/debian/dists//main/binary-/...
/debian/dists//contrib/binary-/...

Deberá añadir esta línea a su archivo sources.list para usar esta réplica con apt:

deb /debian  main contrib

Fíjese que «dists» se añade de forma implícita, y los parámetros tras el nombre de la versión se usan para expandir la ruta a varios directorios.
Tras añadir sus nuevas fuentes, desactive las líneas deb que había en sources.list, colocando el símbolo de sostenido (#) delante de ellas.

Añadir las réplicas locales para APT
Instead of using HTTP or FTP package mirrors, you may wish to modify /etc/apt/sources.list to use a mirror on a local disk (possibly mounted over NFS).
Por ejemplo, su réplica de paquetes puede encontrarse en /var/ftp/debian/, y tener directorios como estos:

/var/ftp/debian/dists//main/binary-/...
/var/ftp/debian/dists//contrib/binary-/...

Para usar esta ubicación con apt debe añadir esta línea a su archivo sources.list:

deb file:/var/ftp/debian  main contrib

Fíjese que «dists» se añade de forma implícita, y los parámetros tras el nombre de la versión se usan para expandir la ruta a varios directorios.
Tras añadir sus nuevas fuentes, desactive las líneas deb que había en sources.list, colocando el símbolo de sostenido (#) delante de ellas.

Añadir fuentes de CD-ROM o DVD para APT
Si sólo desea usar CDs, comente todas las líneas deb existentes en /etc/apt/sources.list colocando delante de ellas un símbolo de sostenido (#).
Asegúrese de que existe una línea en /etc/fstab que permita montar la unidad lectora de CD-ROMs en el punto de montaje /cdrom (apt-cdrom necesita este punto de montaje en particular). Por ejemplo, si su lector de CD-ROM se encuentra en /dev/hdc, el archivo de configuración /etc/fstab debería contener una línea como:

/dev/hdc /cdrom auto defaults,noauto,ro 0 0

Fíjese que no debe haber espacios entre las palabras defaults,noauto,ro en el cuarto campo.
Para verificar que esto funciona, inserte un CD e intente ejecutar

# mount /cdrom   # ésto montará el CD en el punto de montaje
# ls -alF /cdrom # ésto debería mostrar el directorio raíz del CD 
# umount /cdrom  # ésto desmontará el CD

Después, ejecute:

# apt-cdrom add

para añadir los datos a la base de datos de APT. Repita esta operación para cada CD-ROM de binarios de Debian que tenga.

Actualizar los paquetes
El método recomendado para actualizar desde versiones anteriores de es usar la herramienta de gestión de paquetes apt-get. En versiones anteriores, se recomendaba la orden aptitude para este propósito, pero las versiones más recientes de apt-get ofrecen la misma funcionalidad y se ha demostrado que proporcionan los resultados deseables para una actualización de forma más consistente.
No olvide montar todas las particiones que necesite (en particular la raíz y /usr) en modo lectura y escritura, con una orden como:

# mount -o remount,rw /punto_de_montaje

A continuación asegúrese de que las entradas con las fuentes de APT (en el archivo /etc/apt/sources.list) hacen referencia a la distribución o a estable (stable). No debería haber ninguna entrada que haga referencia a .
Las líneas de fuentes de un CD-ROM pueden hacen referencia a inestable (unstable), aunque esto le parezca confuso no debería cambiarlo.

Grabar la sesión
Se recomienda encarecidamente que utilice el programa /usr/bin/script para guardar una transcripción de la sesión de actualización. Así, si ocurre algún problema, tendrá un registro de lo que ha sucedido y, si fuera necesario, podrá proporcionar la información detallada cuando envíe un informe de fallo. Para iniciar la transcripción, teclee:

# script -t 2>~/actualiza-a-.time -a ~/actualiza-a-.script

o similar. No ponga el archivo de transcripción en un directorio temporal como /tmp o /var/tmp (los archivos que hay en esos directorios se pueden borrar durante la actualización o durante el reinicio del sistema).
La transcripción también le permitirá revisar la información que se haya salido fuera de la pantalla. Simplemente acceda al terminal VT2 (utilizando Alt F2) y, después de acceder al sistema, utilice less -R ~root/actualiza-a-.script para leer el archivo.
Después de completar la actualización puede terminar con la transcripción de script escribiendo exit en el indicador de línea de órdenes.

POR HACER: (jfs) Podría mencionar el programa que incluí en la errata #400725, que es
útil cuando no se ha hecho un volcado del archivo con la temporización

Si ha utilizado la opción -t para script puede utilizar el programa scriptreplay para reproducir la sesión completa:

# scriptreplay ~/actualiza-a-.time ~/actualiza-a-.script

Actualizar las listas de paquetes
En primer lugar, tiene que descargar la lista con los paquetes disponibles para la nueva versión. Logrará esto si ejecuta:

# apt-get update

Asegúrese de que tiene suficiente espacio libre para actualizar
Antes de actualizar su sistema tiene que asegurarse de que tiene suficiente espacio libre en su disco duro para poder seguir las instrucciones de una actualización completa del sistema que se describen en Actualizar el sistema. En primer lugar, cualquier paquete que necesario para la instalación se descargará y se almacenará en /var/cache/apt/archives (y en el subdirectorio partial/, mientras se está descargando), por lo que necesitará suficiente espacio libre en la partición donde se encuentre /var/ para poder descargar temporalmente los paquetes que se instalarán en su sistema. Después de la descarga, probablemente necesitará más espacio en las otras particiones de sistemas de ficheros para poder instalar tanto las actualizaciones de los paquetes (que podrían contener archivos binarios más grandes o más datos) como los nuevos paquetes que se necesiten en la actualización. Si su sistema no tiene suficiente espacio podría terminar con una actualización incompleta de la cual podría ser difícil recuperarse.
La orden apt-get le puede mostrar información detallada del espacio libre necesario para la instalación. Puede consultar esa estimación, antes de proceder con la actualización, si ejecuta:

# apt-get -o APT::Get::Trivial-Only=true dist-upgrade
[...]
XXX actualizados, XXX se instalará, XXX para eliminar y XXX no actualizados.
Se necesita descargar xx.xxMB/yyyMB de archivos. 
Se utilizarán AAAMB de espacio de disco adicional después de esta operación.

Puede que la ejecución de esta orden al principio del proceso de actualización genere un error, por las razones descritas en las siguientes secciones. En ese caso tiene que esperar para ejecutar esta orden hasta haber realizado una actualización mínima del sistema tal y como se describe en Actualización mínima del sistema y haber actualizado el núcleo antes de ejecutar esta orden para poder estimar el espacio de disco necesario.
Si no tiene espacio suficiente para la actualización, apt-get le avisará con un mensaje como este:

E: No tiene suficiente espacio libre en /var/cache/apt/archives/.

Si no tiene espacio suficiente para la actualización, asegúrese de hacer sitio antes de proceder. Puede hacer lo siguiente:
Elimine aquellos paquetes que se han descargado previamente para su instalación (en /var/cache/apt/archive). Puede utilizar la orden apt-get clean para borrar todos los archivos de paquetes previamente descargados.
Elimine los paquetes olvidados. Si tiene instalado popularity-contest, puede usar popcon-largest-unused para listar los paquetes que vd. no usa en el sistema y que ocupan un mayor espacio en disco. También puede usar deborphan o debfoster para encontrar paquetes obsoletos (vea también Paquetes obsoletos). También puede ejecutar aptitude en modo visual y buscar los paquetes obsoletos bajo Paquetes obsoletos y creados localmente.
Elimine los paquetes que ocupen demasiado espacio de disco y que no va a necesitar actualmente (siempre puede reinstalarlos después de la actualización). Puede crear una lista de los paquetes que ocupan la mayoría del espacio en disco con dpigs (disponible en el paquete debian-goodies) o con wajig (ejecutando wajig size).
Puede generar una lista con los paquetes que ocupan la mayor parte del espacio de disco con aptitude. Ejecute aptitude en modo visual, seleccione Vistas y Nueva vista de paquetes plana, pulse la tecla l e introduzca ~i, pulse la tecla S e introduzca ~installsize. Una vez hecho esto se le proporcionará una lista de paquetes con los que puede trabajar.
Puede eliminar las traducciones y los archivos de localización del sistema si no los necesita. Para ello puede instalar el paquete localepurge, configurándolo para que sólo se mantengan en el sistema algunas localizaciones específicas. Esto reducirá el espacio de disco consumido en /usr/share/locale.
Mueva de forma temporal a otro sistema o elimínelos de forma permanente, los registros del sistema que residen en /var/log/.
Use a temporary /var/cache/apt/archives: You can use a temporary cache directory from another filesystem (USB storage device, temporary hard disk, filesystem already in use, ...)
Do not use an NFS mount as the network connection could be interrupted during the upgrade.
For example, if you have a USB drive mounted on /media/usbkey:
elimine los paquetes que se han descargado previamente para la instalación

# apt-get clean

copy the directory /var/cache/apt/archives to the USB drive:

# cp -ax /var/cache/apt/archives /media/usbkey/

monte el directorio de caché temporal sobre el actual:

# mount --bind /media/usbkey/archives /var/cache/apt/archives

después de la actualización, restaure el directorio original /var/cache/apt/archives

# umount /media/usbkey/archives

elimine el directorio /media/usbkey/archives.
Puede crear una directorio de caché temporal en cualquier sistema de archivos montado en su sistema.
Realice un actualización mínima del sistema (consulte Actualización mínima del sistema) o una actualización parcial seguida de una actualización completa del sistema. Esto le permitirá actualizar el sistema parcialmente, lo que le permitirá limpiar la caché de paquetes antes de la actualización completa.
Tenga en cuenta que para poder eliminar los paquetes con seguridad debería cambiar su sources.list a como se describe en .

Actualización mínima del sistema
En algunos casos, la realización directamente de una actualización completa (como se describe más abajo) podría tener como consecuencia la eliminación de un buen número de paquetes que quiere conservar. Le recomendamos por tanto un proceso de actualización en dos pasos. En primer lugar, una actualización mínima para resolver estos conflictos, seguido de una actualización completa como se describe en Actualizar el sistema.
Para hacer esto primero, ejecute lo siguiente:

# apt-get upgrade

Esto tiene como consecuencia que se actualicen los paquetes que se puedan actualizar en el sistema sin que sea necesario eliminar ni instalar ningún otro paquete.
La actualización mínima del sistema también puede ser útil cuando hay poco espacio libre disponible en el sistema y no puede ejecutarse la actualización completa debido a problemas de espacio.

Actualizar el núcleo y udev
La versión de udev en necesita que está instalada una versión del núcleo 2.6.26 or superior con la opción CONFIG_SYSFS_DEPRECATED deshabilitada y las opciones CONFIG_INOTIFY_USER y CONFIG_SIGNALFD habilitadas. Hay que tener especial cuidado durante el proceso de actualización para no dejar al sistema en un estado que no pueda arrancar. Esto se debe a que los núcleos estándar de Debian en (versión 2.6.26) tenían la opción CONFIG_SYSFS_DEPRECATED habilitada. Además, la versión de udev en no ofrece toda la funcionalidad que esperan tener versiones más recientes del núcleo.
El arranque del núcleo 2.626 de con la versión de udev en puede dar lugar a fallos en la asignación de nombres a dispositivos de red, pero también puede dar lugar a fallos en la aplicación de ciertos permisos en los dispositivos de bloques (como es el caso de los dispositivos que accede el grupo disk). El software parecerá que está funcionando, pero habrá algunas reglas (como por ejemplo las reglas basadas en red) que no se cargarán correctamente. Por tanto, se recomienda muy firmemente que actualice el núcleo por sí sólo en este punto, para asegurarse que dispone de un núcleo compatible antes de actualizar udev.
Ejecute lo siguiente para llevar a cabo esta actualización del núcleo:

# apt-get install linux-image-2.6-variante

Para saber qué variante del paquete del núcleo debería instalar consulte Actualización del metapaquete del núcleo.
Los usuarios del cargador de arranque grub deberían asegurarse que se ejecuta la orden update-grub como parte de la actualización del núcleo, o ejecutarla manualmente.
Justo inmediatamente después de actualizar el núcleo, debería actualizar el nuevo udev para reducir el riesgo de las incompatibilidades que pueden producirse por utilizar el antiguo udev con un núcleo reciente [5]. Puede hacer esto ejecutando:
[5] También hay incompatibilidades conocidas entre el núcleo antiguo y el nuevo udev. Si se encuentra con problemas después del reinicio con el nuevo núcleo tendrá que instalar la versión antigua de udev para poder utilizar el núcleo antiguo.

# apt-get install udev

Debería reiniciar el sistema una vez haya actualizado tanto el núcleo como udev.

Actualizar el sistema
Una vez haya realizado los pasos anteriores, estará en condiciones de seguir con la parte principal de la actualización. Ejecute:

# apt-get dist-upgrade

El proceso de actualización para las versiones anteriores recomendaba el uso de la herramienta aptitude para realizar la actualización. Esta herramienta ya no se recomienda para las actualizaciones de a .
Se realizará una actualización completa del sistema, esto es, se instalarán las versiones más recientes de los paquetes y se resolverán todos los posibles cambios de dependencias entre los paquetes de diferentes versiones. Si fuera necesario, se instalarán nuevos paquetes (normalmente, nuevas versiones de las bibliotecas o paquetes que han cambiado de nombre), y se eliminarán los paquetes obsoletos conflictivos.
Cuando esté actualizando desde un conjunto de CD-ROM (o DVD), se le pedirá que inserte algunos CD específicos en varios momentos durante la actualización. Puede que tenga que insertar el mismo CD varias veces; esto se debe a paquetes interrelacionados que estén dispersos en varios CD.
Las versiones nuevas de los paquetes ya instalados que no se puedan actualizar sin cambiar el estado de la instalación de otro paquete se dejarán en su versión actual (en cuyo caso se mostrarán como «held back», es decir, «retenidos»). Se puede resolver esta incidencia usando aptitude para elegir esos paquetes para que se instalen, o intentando ejecutar apt-get -f install paquete.

Posibles problemas durante o después de la actualización
Las siguientes secciones describen problemas conocidos que pueden aparecer durante la actualización a .

El soporte de cryptoloop no está incluido en el núcleo de Linux de
Se ha abandonado el soporte de cryptoloop de los paquetes del núcleo de Linux incluidos en Debian . Las instalaciones existentes que utilicen cryptoloop tienen que migrarse a dm-crypt antes de la actualización.

Eliminaciones esperadas
El proceso de actualización a puede solicitar la eliminación de paquetes en el sistema. La lista exacta de paquetes dependerá del conjunto de paquetes que tenga instalado. Estas notas de publicación proporcionan recomendaciones generales sobre estas eliminaciones pero, si tiene dudas, se recomienda que revise los paquetes que se van a eliminar propuestos por cada método antes de continuar.
Algunos paquetes que se espera que se eliminen incluyen: autofs (sustituido por autofs5), dhcp3 (sustituido por isc-dhcp), madwifi-source, python-setuptools and python2.4 (sustituido por python2.6). Podrá encontrar más información sobre los paquetes obsoletos en en Paquetes obsoletos.

Errores en la ejecución de aptitude o apt-get
Si falla alguna operación de aptitude, apt-get o dpkg con el error:

E: La asignación dinámica MMap no tiene más espacio

el espacio de caché predeterminado es insuficiente. Puede resolver esto eliminando o comentando aquellas líneas del archivo /etc/apt/sources.list que no necesite, o bien incrementando el tamaño de la caché. Puede incrementar el tamaño de la caché fijando un valor para APT::Cache-Limit en el archivo /etc/apt/apt.conf. La siguiente orden fijará un valor para éste que debería ser suficiente para la actualización:

# echo 'APT::Cache-Limit "12500000";' >> /etc/apt/apt.conf

Esta orden asume que no tiene aún definida esta variable en ese archivo.

Bucles en Conflictos o Pre-Dependencias
Algunas veces es necesario activar la opción APT::Force-LoopBreak en APT para permitir el borrado temporal de un paquete esencial debido a un bucle de Conflictos y Dependencias previas. apt-get le alertará de esta situación y abortará la actualización. Puede resolver esto especificando la opción -o APT::Force-LoopBreak=1 en la línea de órdenes de apt-get.
Es posible que la estructura de dependencias del sistema esté tan dañada que precise de intervención manual. Normalmente, esto implica usar apt-get o

# dpkg --remove nombre_de_paquete

para eliminar algunos de los paquete problemáticos, o

# apt-get -f install
# dpkg --configure --pending

En casos extremos, puede que necesite forzar la reinstalación con una orden como:

# dpkg --install /ruta/al/nombre_de_paquete.deb

Conflictos de archivo
No deberían producirse conflictos entre archivos si actualiza de un sistema puro, pero sí pueden producirse si ha instalado versiones nuevas no oficiales («backports», N. del T.). Si se produce un conflicto entre archivos se mostrará con un error similar al siguiente:

Desempaquetando <paquete-foo> (de <paquete-foo-fichero>) ...
dpkg: error al procesar <paquete-foo> (--install):
 intentando sobreescribir `<algun-nombre-fichero>',
 que está también en el paquete <paquete-bar>
dpkg-deb: subprocess paste killed by signal (Broken pipe)
 Se encontraron errores al procesar:
 <paquete-foo>

Puede intentar resolver los conflictos entre archivos forzando a que se elimine el paquete mencionado en la última línea del mensaje de error:

# dpkg -r --force-depends nombre_de_paquete

Debería poder continuar la instalación donde la dejó tras corregir el problema repitiendo las órdenes de apt-get descritas previamente.

Cambios de configuración
Se le harán preguntas sobre la configuración o reconfiguración de diversos paquetes durante la actualización. Cuando se le pregunte si debería reemplazarse algún archivo en el directorio /etc/init.d, o el archivo /etc/manpath.config con la versión que propone el mantenedor del paquete, normalmente deberá responder «sí» para asegurar la consistencia del sistema. Siempre puede volver más tarde a las versiones antiguas, ya que quedan guardadas con la extensión .dpkg-old.
Si no está seguro de lo que debe hacer, anote el nombre del paquete o archivo, y revise la situación más adelante. Recuerde que podrá buscar en el archivo de transcripción de la instalación y revisar la información que apareció en pantalla durante la actualización.

Cambio de la sesión en consola
Si está vd. ejecutando el proceso de actualización utilizando la consola local del sistema es posible que en algunos momentos durante la actualización se cambie la consola a una vista distinta y deje de ver el proceso de actualización. Esto sucede, por ejemplo, en sistemas de escritorio cuando se reinicia gdm.
Para recuperar la consola donde se estaba realizando la actualización tendrá que utilizar la combinación de teclas Ctrl Alt F1 para volver al terminal virtual 1 si está en la pantalla de arranque gráfico o utilizar la combiación Alt F1 si está en la consola de modo texto. Reemplace F1 por la tecla de función que tenga el mismo número que el terminal virtual donde se estaba realizando la actualización. También puede utilizar la combinación Alt Flecha Izquierda o Alt Flecha Derecha para conmutar entre los distintos terminales de modo texto.

Precauciones especiales con paquetes específicos
Los paquetes deberían actualizarse en la mayoría de los casos de una forma suave al pasar de a . Existe un pequeño conjunto de casos donde es necesario realizar alguna intervención, bien antes o bien durante la actualización. Se detallan a continuación paquete a paquete.

Evolution
Evolution (el cliente de correo del Escritorio de GNOME) se ha actualizado de la versión 2.22 a 2.30. Esta versión cambia el formato de almacenamiento utilizado por el paquete para los datos locales. Existe la posibilidad de una pérdida de datos si el proceso de actualización se realiza mientras está aún ejecutándose evolution. Puede que no sea suficiente con salir de la aplicación, dado que algunos componentes seguirán ejecutándose en segundo plano. Para evitar cualquier posible incompatibilidad potencial, se recomienda que salga por completo de su entorno de escritorio antes de comenzar con el proceso de actualización a .
Como parte del proceso de actualización, el paquete evolution comprobará si existe cualquier proceso relacionado y recomendará que se cierre. Se realizará a continuación una segunda comprobación de los procesos. Si fuera necesario, se ofrecerá una opción para que la instalación mate estos procesos o abortar el proceso de instalación para resolver el problema manualmente.

Actualización de su núcleo y paquetes relacionados
Esta sección explica cómo actualizar su núcleo e identifica los posibles problemas que pueden darse con relación a esta actualización. Puede o bien instalar uno de los paquetes linux-image-* que ofrece Debian o compilar un núcleo personalizado desde el código fuente del mismo.
Tenga en cuenta que gran parte de la información de esta sección se basa en la suposición de que está utilizando uno de los núcleos modulares de Debian, conjuntamente con initramfs-tools y udev. Parte de la información aquí presentada puede no ser relevante para usted si utiliza un núcleo a medida que no necesita un initrd o si utiliza un generador de initrd distinto.

Actualización del metapaquete del núcleo
Cuando realice «dist-upgrade» desde a , le recomendamos encarecidamente que instale uno de los nuevos metapaquetes «linux-image-2.6-*». Este paquete puede que se instale automáticamente en el proceso de actualización. Puede verificarlo con la siguiente orden:

# dpkg -l "linux-image*" | grep ^ii

Si no observa ningún mensaje, entonces necesitará instalar uno de los paquetes «linux-image» nuevos a mano. Para ver una lista de los metapaquetes «linux-image-2.6» disponibles, ejecute:

# apt-cache search linux-image-2.6- | grep -v transition

Si no está seguro de qué paquete instalar, ejecute la orden uname -r y busque un paquete con un nombre similar. Por ejemplo, si ve «2.6.26-2-686», le recomendamos que instale linux-image-2.6-686. También puede utilizar apt-cache para ver una descripción más larga de cada uno de los paquetes para así ayudarle a realizar una mejor elección de entre los que hay disponibles. Por ejemplo:

# apt-cache show linux-image-2.6-686

Luego debería usar apt-get install para instalarlo. Debería reiniciar en cuanto le sea posible una vez que haya instalado el núcleo nuevo para empezar a beneficiarse de las características que proporciona la nueva versión del núcleo.
Para los más aventureros, hay una forma fácil para compilar su propio núcleo a medida en . Instale la herramienta kernel-package y lea la documentación en /usr/share/doc/kernel-package. También puede utilizar las fuentes del núcleo, ofrecidas en el paquete linux-source-2.6. Puede utilizar el objetivo deb-pkg disponible en el fichero Makefile de los paquetes fuentes utilizados para construir la versión completa. Existen algunas diferentes de acercamiento, consulte la documentación respectiva de los paquetes.
Siempre que sea posible, es mejor para usted si actualiza el paquete del núcleo de forma independiente a la actualización principal con dist-ugprade, para así reducir las posibilidades de tener durante un cierto periodo de tiempo un sistema que no se puede iniciar. Tenga en cuenta que sólo debería hacer esto después de haber realizado el proceso de actualización mínima del sistema que se describe en Actualización mínima del sistema.

Reordenación de la numeración de dispositivos
En la versión y anteriores, el nuevo mecanismo para descubrir hardware podría provocar cambios en el orden en el que los dispositivos se buscan en el sistema en cada arranque, afectando por tanto al nombre de dispositivo asignado a los mismos. Por ejemplo, si tiene dos adaptadores de red asociados a dos controladores diferentes, los dispositivos a los que «eth0» y «eth1» hacen referencia puede que estén cambiados uno por otro.
Esta reordenación generalmente se omite para los dispositivos de red a través de las definiciones en /etc/udev/rules.d/70-persistent-net.rules para udev. Dado que estas reglas ya estaban disponibles en , no es necesaria ninguna acción adicional para al actualizar a para obtener los beneficios derivados de un conjunto estable de nombres de dispositivos de red. Tenga en cuenta, sin embargo, que este mecanismo de udev hace que el nombre del dispositivo de red esté asociado a una pieza específica de hardware específica. Si, por ejemplo, vd. cambia los adaptadores de red en un sistema ya instalado, se generará un nuevo nombre de interfaz para el nuevo adaptador en lugar de utilizar el nombre existente. Si desea reutilizar un nombre de dispositivo existente para nuevo hardware, tendrá que borrar la entrada asociada del fichero /etc/udev/rules.d/70-persistent-net.rules.
En los dispositivos de almacenamiento, puede evitar este reordenamiento usando initramfs-tools y configurándolo para cargar los módulos de los controladores de los dispositivos de almacenamiento en el mismo orden en el que se cargan actualmente. Sin embargo, a la vista de otros cambios en el subsistema de almacenamiento del núcleo de Linux (descritos en ), esto no merece la pena y se recomienda utilizar nombres de dispositivo que son estables con el tiempo, como por ejemplo los aliases UUID[6] en el directorio /dev/disk/by-uuid o nombres de dispositivos LVM en /dev/mapper.
[6] Algunos dispositivos, como los utilizados por crypt, RAID o LVM, tienen identificadores que no UUID pero son estables. En estos casos siempre debería utilizar el nombre de los dispositivos, dado que no hay ambiguedades con ellos y son estables.

Problemas de tiempo en el arranque
Si utiliza un initrd creado con initramfs-tools para arrancar el sistema, en algunos casos la creación de los archivos de dispositivos por parte de udev pueden producirse demasiado tarde para que los programas de arranque actúen sobre estos.
The usual symptoms are that the boot will fail because the root file system cannot be mounted and you are dropped into a debug shell. But if you check afterwards, all devices that are needed are present in /dev. This has been observed in cases where the root file system is on a USB disk or on RAID, especially if LILO is used.
Para evitar este problema puede utilizar el parámetro de arranque rootdelay=9. Puede tener que ajustar el valor del retardo (en segundos) para su propio sistema.

Qué hacer antes del siguiente reinicio
La actualización «formal» habrá terminado cuando lo haga apt-get dist-upgrade, pero hay algunas otras cosas que debería tener en cuenta antes del próximo reinicio del sistema.

Probablemente no hay ninguna necesidad de ejecutar lilo manualmente durante la actualización.
El programa /etc/kernel/postinst.d/zz-lilo ejecuta lilo de forma incondicional cuando se 
produce una actualización del núcleo. Pero puede que sea necesario hacer esto, no descartar
hasta que los desarrolladores de lilo confirmen que no es necesario hacerlo en la 
actualización para la segunda etapa del cargador de arranque.

Volver a ejecutar «lilo»
Si utiliza el cargador de arranque lilo (que es el cargador de arranque por omisión para algunas instalaciones de ) se le recomienda encarecidamente que vuelva a ejecutar lilo después de la actualización. El paquete lilo se ofrecerá a hacer esto como parte de la actualización. Pero si decide no hacerlo o no ve la pregunta, debería ejecutar lilo manualmente:

# /sbin/lilo

Tenga en cuenta que es necesario hacer esto aunque no actualizara el núcleo de su sistema, dado que la segunda fase de lilo cambiará por la actualización del paquete.
Debería revisar también los contenidos de su archivo de configuración /etc/kernel-img.conf y asegurarse que tiene la opción do_bootloader = Yes en él. De esta forma se ejecutará el cargador de arranque tras cualquier actualización del núcleo.
Si se encuentra con cualquier problema en la ejecución de lilo, debe revisar los enlaces simbólicos en / o /boot a vmlinuz e initrd así como los contenidos /etc/lilo.conf para detectar cualquier inconsistencia.
Su sistema puede no llegar a arrancar si no pudo ejecutar lilo antes de reiniciar el sistema o si el sistema se reinició de forma accidental antes de que pudiera hacerlo. En lugar del indicador de lilo cuando arranque el sistema, sólo observará LI[7]. Para más información de cómo recuperarse ante este error consulte Prepararse para la recuperación.
[7] Puede encontrar más información sobre los códigos de error en el arranque de lilo en el documento The Linux Bootdisk HOWTO.

Actualizar mdadm

HACER: ¿Eliminar para lenny?

mdadm now needs a configuration file to assemble MD arrays (RAID) from the initial ramdisk and during the system initialisation sequence. Please make sure to read and act upon the instructions in /usr/share/doc/mdadm/README.upgrading-2.5.3.gz after the package has been upgraded and before you reboot. The latest version of this file is available at ; please consult it in case of problems.

El arranque del sistema se ha parado Esperando a un sistema de archivos raíz

El procedimiento para recuperar el /dev/hda que se ha transformado en /dev/sda
Algunos usuarios han informado de que una actualización podría provocar que el núcleo no encontrase la partición raíz del sistema después de un reinicio de éste.
En tal caso, el arranque del sistema se parará con el siguiente mensaje:

Waiting for root file system ...

y se mostrará el indicador de órdenes de busybox después de unos segundos.
This problem can occur when the upgrade of the kernel introduces the use of the new generation of IDE drivers. The IDE disk naming convention for the old drivers was hda, hdb, hdc, hdd. The new drivers will name the same disks respectively sda, sdb, sdc, sdd.
El problema se produce cuando la actualización no genera un nuevo fichero /boot/grub/menu.lst para tener en cuenta la nueva nomenclatura. Durante el arranque, Grub le dará al núcleo el nombre de una partición de arranque del sistema que el núcleo no será capaz de encontrar. También puede producirse al montar sistemas de ficheros si no se ha actualizado el fichero de configuración /etc/fstab. El proceso de actualización a debería cubrir ambas situaciones de manera automática.
Si se ha encontrado con este problema después de la actualización, vaya a Como recuperarse del problema después de la actualización. Para evitar el problema antes de actualizar, siga leyendo.

Como evitar problemas antes de la actualización
One can avoid this problem entirely by using an identifier for the root filesystem that does not change from one boot to the next. There are two possible methods for doing this - labeling the filesystem, or using the filesystem's universally unique identifier (UUID). These methods are supported in Debian since the etch release.
The two approaches have advantages and disadvantages. The labeling approach is more readable, but there may be problems if another filesystem on your machine has the same label. The UUID approach is uglier, but having two clashing UUIDs is highly unlikely.
Para los siguientes ejemplos se ha asumido que el sistema de archivos raíz está en /dev/hda6. También se ha asumido que su sistema tiene una instalación funcional de udev y sistemas de archivos ext2 o ext3.
Para implementar el mecanismo de etiquetado:
Etiquete el sistema de archivos (el nombre debe tener < 16 caracteres) ejecutando: e2label /dev/hda6 rootfilesys
Edite el archivo /boot/grub/menu.lst y cambie la línea:

# kopt=root=/dev/hda6 ro

a

# kopt=root=LABEL=rootfilesys ro

No elimine el caracter # al comienzo de la línea, tiene que estar allí.
Actualice las líneas kernel en el archivo menu.lst ejecutando update-grub.
Edite el archivo /etc/fstab y cambie la línea que monta la partición /, por ejemplo:

/dev/hda6     /     ext3  defaults,errors=remount-ro 0 1

a

LABEL=rootfilesys     /     ext3  defaults,errors=remount-ro 0 1

El cambio que importa aquí es la primera columna, no necesita modificar las otras columnas de esta línea.
To implement the UUID approach:
Encuentre el identificador único universal de su sistema de archivos, ejecutando: ls -l /dev/disk/by-uuid | grep hda6. También puede utilizar blkid /dev/hda6.
Debería obtener una línea similar a la mostrada a continuación si lista los contenidos de /dev/disk/by-uuid:

lrwxrwxrwx 1 root root 24 2008-09-25 08:16 d0dfcc8a-417a-41e3-ad2e-9736317f2d8a -> ../../hda6

Si utiliza la orden blkid la salida será similar a esto:

/dev/hda6: UUID="d0dfcc8a-417a-41e3-ad2e-9736317f2d8a" TYPE="ext3"

The UUID is the name of the symbolic link pointing to /dev/hda6 i.e.: d0dfcc8a-417a-41e3-ad2e-9736317f2d8a.
Your filesystem UUID will be a different string.
Edite el archivo /boot/grub/menu.lst y cambie la línea:

# kopt=root=/dev/hda6 ro

para utilizar UUID en su lugar:

# kopt=root=UUID=d0dfcc8a-417a-41e3-ad2e-9736317f2d8 ro

No elimine el caracter # al comienzo de la línea, tiene que estar allí.
Actualice las líneas kernel en el archivo menu.lst ejecutando update-grub.
Edite el archivo /etc/fstab y cambie la línea que monta la partición /, por ejemplo:

/dev/hda6     /     ext3  defaults,errors=remount-ro 0 1

a

UUID=d0dfcc8a-417a-41e3-ad2e-9736317f2d8  /  ext3  defaults,errors=remount-ro 0 1

El cambio que importa aquí es la primera columna, no necesita modificar las otras columnas de esta línea.

Como recuperarse del problema después de la actualización

Solución número 1
Esto se aplica cuando Grub le muestra la interfaz del menú para elegir la entrada que quiere iniciar. Si no aparece dicho menú, puede intentarlo hacer aparecer pulsando la tecla Esc antes de que el núcleo arranque. Si no consigue acceder al menú de este modo, intente Solución número 2 o Solución número 3.
En el menú de Grub, resalte la entrada desde la que quiere arrancar. Pulse la tecla e para editar las opciones relacionadas a esa entrada. Verá algo similar a:

root (hd0,0)
kernel /vmlinuz-2.6.32-5-686 root=/dev/hda6 ro
initrd /initrd.img-2.6.32-5-686

Maque la línea

kernel /vmlinuz-2.6.32-5-686 root=/dev/hda6 ro

pulse la tecla e y reemplace hdX por sdX (X siendo la letra a, b, c o d dependiendo de su sistema). En este ejemplo la línea sería:

kernel /vmlinuz-2.6.32-5-686 root=/dev/sda6 ro

Pulse la tecla Enter para guardar la modificación. Si otras líneas muestran hdX, cambie también esas líneas. No modifique la entrada similar a root (hd0,0). Una vez se hayan realizado las modificaciones, pulse la tecla b. Ahora su sistema debería arrancar con normalidad.
Ahora que su sistema ha arrancado, necesita arreglar este problema permanentemente. Vaya a Como evitar problemas antes de la actualización y aplique uno de los dos procedimientos propuestos.

Solución número 2
Boot from installation media (CD/DVD) and when prompted, pick rescue to launch rescue mode. Select your language, location, and keyboard mapping; then let it configure the network (no matter whether it succeeds or not). After a while, you should be asked to select the partition you want to use as root file system. The proposed choices will look something like:

/dev/sda1
/dev/sda2
/dev/sda5
/dev/sda6

Si conoce que partición es su sistema de archivos raíz, elija la correcta. Si no, intente la primera. Si resulta ser una partición inválida como sistema de archivos raíz, intente la siguiente y así sucesivamente. Intentando una después de otra no debería dañar sus particiones y si tiene sólo un sistema instalado en sus discos, debería encontrar fácilmente la partición correcta del sistema de archivos raíz. Si tiene muchos sistemas instalados en sus discos, sería mejor que conociese exactamente cual es la partición correcta.
Una vez elegida la partición, se le propondrán varias opciones. Elija ejecutar una consola en la partición seleccionada. Si le muestra un mensaje de error indicando que no puede hacer eso entonces intente con otra partición.
Ahora debería tener acceso a una consola como el usuario root en su sistema de archivos raíz montado en /target. Necesita acceder al contenido de los directorios /target/boot, /target/sbin y /target/usr. Si estos directorios se necesitan montar utilizando otras particiones, hágalo (consulte el archivo /etc/fstab si no sabe qué partición montar).
Vaya a Como evitar problemas antes de la actualización y aplique uno de los dos procedimientos propuestos para arreglar el problema permanentemente. Entonces escriba exit para salir de la consola de rescate y elija reboot para reiniciar el sistema como normalmente (no olvide eliminar el medio arrancable).

Solución número 3
Arranque desde su distribución LiveCD favorita, como puedan ser Debian Live, Knoppix o Ubuntu Live.
Monte la partición dónde esté su directorio /boot. Si no conoce en cual está, utilice la salida de la orden dmesg para encontrar si su disco es hda, hdb, hdc, hdd o sda, sdb, sdc, sdd. Una vez sepa que disco es, por ejemplo sdb, ejecute la siguiente orden para ver la tabla de particiones del disco y encontrar la partición correcta: fdisk -l /dev/sdb
Asumiendo que tiene montada la partición correcta bajo /mnt y que esa partición contiene el directorio /boot y su contenido, edite el archivo /mnt/boot/grub/menu.lst.
Busque una sección similar a:

## ## End Default Options ##

title           Debian GNU/Linux, kernel 2.6.32-5-686
root            (hd0,0)
kernel          /vmlinuz-2.6.32-5-686 root=/dev/hda6 ro
initrd          /initrd.img-2.6.32-5-686

title           Debian GNU/Linux, kernel 2.6.32-5-686 (single-user mode)
root            (hd0,0)
kernel          /vmlinuz-2.6.32-5-686 root=/dev/hda6 ro single
initrd          /initrd.img-2.6.32-5-686

### END DEBIAN AUTOMAGIC KERNELS LIST

y reemplace cada hda, hdb, hdc, hdd por sda, sdb, sdc, sdd según sea necesario. No modifique la línea similar a:

root            (hd0,0)

Reinicie el sistema, elimine el LiveCD y su sistema debería arrancar correctamente.
Cuando se ha arrancado, aplique uno de los procedimientos propuestos bajo Como evitar problemas antes de la actualización para arreglar el problema permanentemente.

Prepararse para la siguiente distribución
Una vez hecha la actualización hay ciertas cosas que puede hacer para prepararse para la siguiente versión de la distribución.
Elimine los paquetes obsoletos y no utilizados tal y como se describe en Paquetes obsoletos. Debería revisar qué archivos de configuración utilizan éstos y considerar como opción purgarlos para eliminar sus archivos de configuración.

Actualizar a GRUB 2
Durante la actualización generalmente se le ofrecerá la opción para "encadenar" GRUB 2: esto es, mantener «GRUB Legacy» como el cargador de arranque principal pero añadiendo una opción al mismo para cargar GRUB 2 y después arrancar su sistema desde allí. Esto le permite verificar que GRUB 2 funciona en su sistema antes de que empiece a utilizarlo de forma permanente.
Una vez haya confirmado que GRUB 2 funciona correctamente, debería cambiarlo para utilizarlo directamente: la configuración "encadenada" debería utilizarse sólo de forma temporal. Puede hacer esto ejecutando upgrade-from-grub-legacy.
El Manual de GRUB tiene más información de los cambios entre «GRUB Legacy» y GRUB 2. Algunos de estos cambios pueden hacer necesario cambiar algunas configuraciones complejas. Si no ha modificado la configuración de su cargador de arranque no debería hacerle falta hacer ningún cambio de configuración.

Componentes descontinuados
Con la publicación de la versión de (nombre en clave ) se descontinuará el soporte de algunas funcionalidades. Los usuarios deberían migrar a otras alternativas para ahorrarse problemas a la hora de actualizarse a .
Esto incluye las siguientes funcionalidades:
OpenVZ y Linux-Vserver: será la última versión que incluirá funciones de virtualización en el núcleo de Linux que estén fuera de las incorporadas en éste. Esto significa que debería considerar las funciones de OpenVZ y Linux-Vserver como obsoletas. Los usuarios de estas funciones deberían migrar a funciones de virtualización incluídas en el núcleo de linux-2.6 como son KVM, los contenedores de Linux o Xen.
El paquete gdm (el gestor de entrada de GNOME versión 2.20) ha sido reemplazado por gdm3, una versión reescrita. Para más información consulte .

Paquetes obsoletos
La versión , aunque introduce miles de nuevos paquetes, también retira o deja de distribuir más de cuatro mil paquetes que estaban disponibles en . No existe un mecanismo de actualización para estos paquetes obsoletos. Aunque nada le impide que siga usando paquetes obsoletos si así lo desea, el proyecto Debian deja de dar soporte de seguridad para éstos un año después de la publicación de [8] y no se ofrecerá otro tipo de soporte durante este tiempo. Lo recomendable es reemplazar dados paquetes con las alternativas disponibles, si es que existen.
[8] O hasta que se publique una nueva versión en ese tiempo. Habitualmente sólo se da soporte a dos versiones estables en un momento determinado.
Hay muchas razones por las que un paquete puede haberse eliminado de la distribución, a saber: no hay mantenimiento por parte de los desarrolladores originales, no hay ningún desarrollador en Debian que esté interesado en mantener los paquetes, la funcionalidad que ofrecen la ofrece ahora otros programas (o una nueva versión), o ya no se consideran aptos para distribuirse en debido a los errores que presentan. En este último caso los paquetes puede que sigan estando presentes en la distribución inestable.
Es fácil detectar qué paquetes de un sistema actualizado están obsoletos, dado que las interfaces de gestión de paquetes los marcarán como tal. Si está utilizando aptitude podrá ver el listado de dichos paquetes en la entrada Paquetes obsoletos y creados localmente. dselect también ofrece una sección similar pero el listado de paquetes puede diferir.
Además, si ha utilizado aptitude o apt-get para instalar manualmente paquetes de , la herramienta hará un seguimiento de los paquetes que haya instalado y podrá marcar como obsoletos aquellos paquetes que se obtuvieron sólo para cumplir las dependencias pero que ya no se necesitan porque el paquete que los necesitaba se ha eliminado. Además, aptitude y apt, a diferencia de deborphan, no marcarán como obsoletos aquellos paquetes que haya instalado manualmente. Pero si lo hará para aquellos paquetes que se instalaron automáticamente para cumplir dependencias. Para eliminar automáticamente los paquetes instalados que no se necesitan puede ejecutar lo siguiente:

# apt-get autoremove

Existen herramientas adicionales que puede utilizar para encontrar paquetes obsoletos como es el caso de deborphan, debfoster o cruft. Le recomendamos deborphan aunque sólo informará (en su modo normal) sobre las bibliotecas obsoletas: paquetes en las secciones libs o oldlibs que no está utilizando ningún otro paquete. No elimine a ciegas los paquetes que le indiquen estas herramientas, especialmente si utiliza opciones distintas de las de por omisión que pueden dar lugar a falsos positivos. Se le recomienda encarecidamente que revise los paquetes que éstas le sugieren eliminar (esto es: sus contenidos, su tamaño y descripción) antes de eliminarlos
A menudo podrá encontrar más información de por qué un paquete fue eliminado en el Sistema de seguimiento de fallos de Debian. Debería consultar tanto los informes de fallos del propio paquete como los informes de fallos archivados del pseudo-paquete ftp.debian.org.
La lista de los paquetes obsoletos incluye:
Las herramientas de gestión de contenidos plone. Esto se ha hecho atendiendo a la solicitud de los desarrolladores que desean utilizar el Instalador Unificado para Linux, el cual consideran como la única plataforma a la dan soporta. La herramienta recomendada para la instalación de Plone en un sistema es el Instalador Unificado, que se puede descargar en .
nessus, el servidor de análisis de vulnerabilidades, sus librerías asociadas y otro software dependiente de este. Este ha sido reemplazado por la solución ofrecida por OpenVAS que incluye openvas-server y openvas-client. Dado que no hay ningún mecanismo de actualización automático deberá instalar OpenVAS y mover manualmente la configuración del servicio Nessus (usuarios, certificados, etc.) a OpenVAS.
postgresql-8.3, sustituido por postgresql-8.4.
mysql-server-5.0, sustituido por mysql-server-5.1.
python2.4, sustituido por python2.6.
Los programas Java 5 incluyendo los paquetes sun-java5-jre y sun-java5-bin, el sustituto es Java 6: sun-java6-jre y demás paquetes asociados.
Ya no se ofrece apt-proxy, entre las alternativas a esta herramienta se encuentran apt-cacher-ng, apt-cacher y approx. Aunque no existe ningún mecanismo automático de actualización, los usuarios de apt-proxy pueden empezar a utilizar estas alternativas sin más que instalar manualmente alguno de estos paquetes.
Algunos de los controladores de video de Xorg no están disponibles en y se consideran obsoletos. Esto incluye xserver-xorg-video-cyrix, xserver-xorg-video-i810, xserver-xorg-video-imstt, xserver-xorg-video-nsc, xserver-xorg-video-sunbw2, y xserver-xorg-video-vga. Pueden eliminarse durante la actualización. Los usuarios deberían instalar en su lugar el paquete xserver-xorg-video-all.
Ya no está disponible la herramienta usplash, utilizada en para mostrar una imagen en el arranque. Ha sido sustituida por plymouth.

Paquetes «dummy»
Se han divido algunos paquetes de en más de un paquete en , generalmente para mejorar la mantenibilidad del sistema. Para facilitar el proceso de actualización en estos casos se ofrecen paquetes dummy (tontos, N. del T.) dentro de . Éstos son paquetes vacíos que tienen el mismo nombre que el anterior paquete en con un conjunto de dependencias que asegura que se instalen los nuevos paquetes. Estos paquetes dummy se consideran obsoletos y puede eliminarlos una vez haya actualizado el sistema.
La mayoría (pero no todas) de las descripciones de los paquetes «dummy» indican su propósito. Sin embargo, las descripciones de estos paquetes no son uniformes así que puede que encuentre útil utilizar deborphan con opciONES --guess-* (p.ej. --guess-dummy) para detectar los que están instalados en su sistema. Tenga en cuenta que algunos paquetes «dummy» no están pensados para ser eliminados después de una actualización sino que se utilizan para poder seguir a lo largo del tiempo la versión más reciente de un programa.