Herramientas de usuario

Herramientas del sitio


servidores:general:actualizando_etch_a_lenny

Actualizando Debian Etch a Lenny

Por Félix Molinuevo, FMSI Sistemas de Informática

El proceso de actualizar una versión a otra es, como siempre en Debian, bastante simple. Basta con ejecutar algunos comandos aptitude y el sistema queda actualizado a la versión nueva.

Sin embargo, dependiendo de cómo haya sido administrado y/o instalado el sistema original, pueden ocurrir inconvenientes. Por eso es necesario realizar el procedimiento con cuidado y con tiempo.

Transcribo aquí el procedimiento usado, y la resolución de los inconvenientes más comunes que he encontrado. Este procedimiento ha sido simplificado para sistemas que tienen instalado Debian Etch en forma cuidadosa, sin incluir paquetes de repositorios de terceros, o distintos de los estables, o software instalado manualmente por métodos distintos de aptitude.

Dado que hace muchos años que “apt-get” está en estado deprecated, usaré exclusivamente “aptitude”. Recomiendo no seguir usando apt-get.

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 Etch.

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 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 Lenny

Para ello, editar el archivo /etc/apt/sources.list y cambiar donde dice “etch” colocando “lenny”, cuidando de no modificar alguna otra cosa.

deb http://ftp.ar.debian.org/debian/ lenny main
deb-src http://ftp.ar.debian.org/debian/ lenny main

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

Y actualizar el listado de paquetes:

aptitude update

Realizando el cambio de versión

Lo primero será actualizar aptitude, dpkg y apt, para poder aprovechar las nuevas características:

aptitude install dpkg aptitude apt -V

Luego, realizar una actualización mínima:

aptitude safe-upgrade -V

Este procedimiento es lento, debido a que aptitude encontrará una enorme cantidad de conflictos entre versiones. Pero es necesario para evitar que algo se rompa al ejecutar un full-upgrade más tarde.

Si es un sistema de escritorio, se debe revisar si libfam0c102 está instalado:

dpkg -l libfam0c102 | grep ^ii

En caso de ser así, se debe instalar la versión de Lenny:

aptitude install libfam0 -V

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

aptitude full-upgrade -V

Aptitude bajará una gran cantidad de paquetes, e instalará, actualizará, o eliminará según corresponda, los paquetes.

He notado que se debe ejecutar este comando varias veces, debido a que una vez no es suficiente para actualizar todo el software. En las siguientes veces, puede ocurrir que se encuentren nuevos paquetes a ser actualizados, que no pudieron serlo antes por alguna razón.

Terminando la actualización

Como pasos finales, se debe tener cuidado en revisar que algún kernel nuevo haya sido instalado:

aptitude search linux-image | grep ^i

Y que sea el que realmente se desea instalar.

Asimismo, es necesario asegurarse que el mismo haya sido agregado al GRUB (o LiLo):

update-grub

O revisar el menu.lst y realizar los cambios a mano.

Es especialmente importante verificar esto si se está actualizando el sistema en forma remota.

Comprobado esto, se puede reiniciar el equipo.

Tareas en Lenny

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

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 Etch, no se encuentren en Lenny, o tengan otro nombre. En este caso, deberán instalarse por separado. Es el caso de XMMS, paquete que en Lenny se llama “xmms2”.

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

servidores/general/actualizando_etch_a_lenny.txt · Última modificación: 2010/01/08 12:28 por fmolinuevo