Herramientas de usuario

Herramientas del sitio


servidores:general:actualizando_squeeze_a_wheezy

¡Esta es una revisión vieja del documento!


Actualizando Debian Squeeze a Wheezy (incompleto, en edición)

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

El proceso de actualización es similar a otros descritos en este mismo sitio. Sin embargo, Wheezy provee cambios importantes que deben ser tenidos en cuenta. KDE, Gnome, PHP, OpenSSL, 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 Squeeze.

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 Wheezy

Para ello, editar el archivo /etc/apt/sources.list y cambiar donde dice “squeeze” colocando “wheezy”, 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

No se recomienda utilizar aptitude, sino 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á actualizar APT y otros utilitarios, para tener disponibles las mejoras que se hayan introducido:

apt-get install apt dpkg aptitude -V

Este primero paso actualizará obviamente gran cantidad de paquetes relacionados. Luego se realizará una actualización mínima para que la mayor parte de los paquetes imprescindibles queden en la nueva versión:

apt-get upgrade -V

Recomiendo hacer este paso intermedio para evitar algún inconveniente. Generalmente no es imprescindible, pero prefiero hacerlo y tener paquetes imprescindibles ya migrados antes de realizar la actualización completa a la nueva distribución.

A continuación, ahora sí se puede comenzar el proceso completo de cambio de 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 mismos según corresponda, tras lo cual, si no han ocurrido errores y no hay nada que resolver, se puede reiniciar el sistema con el nuevo kernel.

Terminando la actualización

Kernels viejos

Finalizado el dist-upgrade, será necesario eliminar los kernels viejos, para ello, primero se debe revisar cuáles están instalados:

aptitude search linux-image | grep ^i

Y eliminar aquellos que no se necesiten y paquetes relacionados, cuidando obviamente de dejar el kernel que se ejecuta actualmente:

aptitude purge linux-image-2.6.32-5-amd64 linux-image-2.6-amd64

Bind9

El Bind9 que viene con Wheezy ha sido modificado para hacerlo más seguro. Por ello, si se tiene un DNS dinámico actualizado por DHCP, se debe crear los enlaces correspondientes a la zona configurada, en /var/lib/bind para que DHCP tenga acceso a esos archivos. De otra manera AppArmor impide su actualización.

ln -s /etc/bind/db.dominio /var/lib/bind/
ln -s /etc/bind/db.192.168.10 /var/lib/bind/

Y reiniciar Bind9 y DHCP server:

/etc/init.d/bind9 restart
/etc/init.d/isc-dhcp-server restart

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

PHP y Suhosin

Lamentablemente, en Wheezy el soporte para Suhosin fue quitado, por lo que el paquete php5-suhosin ya no existe. Al mismo tiempo, la configuración de PHP 5.4 ha sido cambiada para brindar seguridad más estricta.

Debido a ello, hay que revisar la nueva configuración de PHP, especialmente si se encuentran inconvenientes con algún sistema instalado.

En el caso de Suhosin, si se desea rehabilitar el soporte para la instalación, se puede configurar la opción PHP5_SUHOSIN=yes en debian/rules y recompilar PHP.

Tareas en Wheezy

Una vez iniciado Wheezy, 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:

apt-get update && apt-get dist-upgrade -V

Es probable que algunos paquetes existentes en Squeeze, no se encuentren en Wheezy, 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

servidores/general/actualizando_squeeze_a_wheezy.1369493157.txt.gz · Última modificación: 2013/05/25 11:45 por fmolinuevo