Herramientas de usuario

Herramientas del sitio


servidores:general:actualizando_lenny_a_squeeze

Actualizando Debian Lenny a Squeeze

Por Félix Molinuevo, FMSI Sistemas de Informática ::: Fecha creación: 20110207

El proceso de actualización es similar a otros descritos en este mismo sitio, por ejemplo Debian Etch a Lenny. Sin embargo, Squeeze provee muchos cambios muy importantes que deben ser tenidos en cuenta. KDE 4.4, Shorewall 4.4, Xorg, Sieve y otros, necesitan ser actualizados con cuidado. En la bibliografía se proveen enlaces a la documentación específica sobre ellos.

Preparación previa

Como primer paso, es importante recordar que es necesario realizar un backup de los datos antes de comenzar el procedimiento. Si la actualización se debe llevar a cabo en forma remota, es muy útil utilizar screen para trabajar con comodidad y evitar quedarse sin conexión, o poder restaurar en el punto que dejamos si la conexión se corta.

Actualizar el sistema actual

El primer paso es actualizar los paquetes de la versión actual, en este caso Lenny.

Es recomendable eliminar paquetes instalados desde backports, o instalados en forma manual. Ello ahorrará complicaciones en el proceso de pasar de una versión a otra.

También se debe comentar cualquier línea adicional a las estándares correspondientes a los repositorios de Debian que puedan existir en el archivo /etc/apt/sources.list antes de comenzar el proceso de actualización.

aptitude update && aptitude dist-upgrade -V

El modificador “-V” no es imprescindible, pero debido a que me gusta observar qué versiones de los paquetes se instalarán, lo usaré siempre que ejecute un upgrade o install con aptitude.

Modificar sources.list para agregar las fuentes de Squeeze

Para ello, editar el archivo /etc/apt/sources.list y cambiar donde dice “lenny” colocando “squeeze”, cuidando de no modificar alguna otra cosa. Además, recomiendo agregar las líneas correspondientes al antiguo repositorio “volatile” que proveen actualizaciones más nuevas de algunos paquetes, llamado ahora “squeeze-updates”.

deb http://ftp.us.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.us.debian.org/debian/ squeeze main contrib non-free

deb http://security.debian.org/ squeeze/updates main
deb-src http://security.debian.org/ squeeze/updates main

# squeeze-updates, previously known as 'volatile'
deb http://ftp.us.debian.org/debian/ squeeze-updates main
deb-src http://ftp.us.debian.org/debian/ squeeze-updates main

Notablemente, ya no se recomienda utilizar aptitude, sino otra vez apt-get como antiguamente, así que usaremos ese utilitario de ahora en más.

Y actualizar el listado de paquetes:

apt-get update

Realizando el cambio de versión

Lo primero será realizar una actualización mínima:

apt-get upgrade -V

Luego se debe actualizar el kernel, para poder instalar el nuevo udev que depende de kernels más nuevos:

apt-get install linux-image-2.6-<flavor> -V

Inmediatamente luego de actualizar el kernel, se debe instalar el nuevo udev:

apt-get install udev -V

Hecho esto, y si se utiliza GRUB, se debe revisar que el comando update-grub se haya ejecutado como parte de la actualización del kernel. En caso negativo debe ser ejecutado para evitar inconvenientes en el inicio.

Finalmente, se debe reiniciar el sistema para que el nuevo kernel y udev comiencen a funcionar.

A continuación, se puede comenzar el proceso completo de actualización de la versión:

apt-get dist-upgrade -V

Este procedimiento bajará una gran cantidad de paquetes, y se instalarán, actualizarán, o eliminarán los paquetes según corresponda.

Terminando la actualización

GRUB 2/GRUB-PC

El GRUB que se incluye con Squeeze es el nuevo GRUB2 (grub-pc, versión 1.98). Ha sido reescrito de cero, y es muchísimo más complicado y difícil de usar en línea de comandos que el anterior, aunque se supone que en algún aspecto es mejor. Por esto, es necesario revisar especialmente que la nueva configuración funcione correctamente, pues es por completo diferente al de la versión anterior. Los archivos a revisar son /boot/grub/grub.cfg y lo que se encuentra dentro de /etc/grub.d/.

En general la configuración se migró correctamente, salvo por un pequeño detalle.

En este equipo, para pruebas en el laboratorio, tengo un disco IDE con varias particiones, incluyendo dos primarias, la primera para Windows 7 y la segunda para Windows XP. En el GRUB anterior, adecuados comandos hide/unhide ocultan/activan las respectivas particiones, según el sistema operativo que se va a iniciar. En GRUB2 estos comandos no existen.

Sin embargo, hay un comando parttool muy poderoso, y que puede ser usado para lo mismo. Así, tuve que agregar en /etc/grub.d/40_custom dos opciones del menú con lo siguiente:

menuentry "Windows 7 (loader) (on /dev/hda1)" {
        insmod ntfs
        set root='(hd0,1)'
#       search --no-floppy --fs-uuid --set 8e209b8e209b7bc1
        parttool (hd0,1) hidden-
        parttool (hd0,2) hidden+
        chainloader +1
}
menuentry "Microsoft Windows XP Professional (on /dev/hda2)" {
        insmod ntfs
        set root='(hd0,2)'
#       search --no-floppy --fs-uuid --set 44aca875aca862e2
        parttool (hd0,1) hidden+
        parttool (hd0,2) hidden-
        chainloader +1
}

Monitor "Out of range"

En el caso que el monitor muestre un mensaje tipo “Out of range” luego de comenzar el booteo del kernel, y la pantalla quede negra, se puede agregar el parámetro “nomodeset” al kernel. Con ello, al menos habrá video y se podrá configurar como se desee el GRUB, ya sea con las variables gfxmode y/o gfxpayload.

KDE 4

Nota: recomiendo desinstalar KDE 3, previamente a intentar la actualización a KDE 4, debido a las enormes diferencias entre uno y otro. De hecho, conviene hacerlo como primer paso de la migración. Para ello, se puede comenzar desinstalando lo siguiente:

aptitude purge kdeartwork-misc kdeartwork-theme-icon kdeedu-data kdegames-card-data kdewallpapers kdebase-data kdelibs-data kdelibs4c2a kdm

Squeeze viene con KDE versión 4.4.5, por fin. Hay dos metapaquetes para instalarlo: kde-minimal y kde-full.

El primero instala un subgrupo de paquetes que incluye:

kdebase-runtime: componentes esenciales de tiempo de ejecución kdebase-workspace: entorno de escritorio kdebase: aplicaciones principales

Mientras que el segundo incluye muchísimos otros.

Realicé para empezar una instalación mínima:

aptitude install kde-minimal

Bajó unos 132MB de paquetes, incluyendo X Window System (Xorg).

Reiniciando

Comprobado esto, se puede reiniciar el equipo.

Tareas en Squeeze

Una vez iniciado Squeeze, recomiendo revisar con aptitude los paquetes instalados manualmente y obsoletos. Si no son necesarios, es recomendable desinstalarlos para evitar futuros conflictos.

Es muy útil también eliminar archivos de configuración y otros ya sin uso de los paquetes que han sido eliminados pero no purgados. Para ver qué paquetes han dejado archivos al ser desinstalados, se puede utilizar el siguiente comando:

aptitude search '~c'

Y para purgarlos en forma definitiva:

aptitude purge '~c'

También se debe ejecutar una nueva actualización, por si quedó algún paquete por renovar:

aptitude update && aptitude safe-upgrade -V

Es probable que algunos paquetes existentes en Lenny, no se encuentren en Squeeze, o tengan otro nombre. En este caso, deberán instalarse por separado.

Solucionando problemas

  • Si algún paquete falla porque hay archivos que están también en otro paquete antiguo previamente instalado, se debe forzar la instalación del paquete nuevo tantas veces como sea necesario. Esto ocurre típicamente con CUPS, NTP, y algunos otros:
    dpkg -i --force-all /var/cache/apt/archives/cups-common_1.3.8-1+lenny7_all.deb
  • Es probable que falte un comando “mktemp”. Se debe instalar el paquete que lo contiene:
    aptitude install mktemp
  • Si se había configurado la autenticación de Squid contra Samba, el sistema deja de funcionar. Para resolverlo, se debe editar el archivo /usr/lib/squid/smb_auth.sh reemplazando:
    # Pass password to smbclient through environment. Not really safe.
    USER="$SMBUSER%$SMBPASS"
    export USER

    por lo siguiente:

    # Pass password to smbclient through environment. Not really safe.
    USER="$SMBUSER"
    PASSWD="$SMBPASS"
    export USER
    export PASSWD 

Bibliografía

  1. Cómo resolver posibles inconvenientes. Muy importante: http://www.debian.org/releases/stable/amd64/release-notes/ch-information.en.html
  2. Shorewall: debido a que se cambió de Shorewall 4.0 a 4.4, se deben tener en cuenta varias cosas. Leer el siguiente documento: http://www.shorewall.net/LennyToSqueeze.html
servidores/general/actualizando_lenny_a_squeeze.txt · Última modificación: 2012/08/25 11:45 por fmolinuevo