Herramientas de usuario

Herramientas del sitio


servidores:general:actualizando_wheezy_a_jessie

Actualizando Debian Wheezy a Jessie

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

El proceso de actualización es similar a otros descritos en este mismo sitio. Como habitualmente, la nueva versión 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 Wheezy.

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 Jessie

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

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

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

# jessie-updates, previously known as 'volatile'
deb http://ftp.us.debian.org/debian/ jessie-updates main
deb-src http://ftp.us.debian.org/debian/ jessie-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

Multiarch

Una característica interesante nueva, introducida en Wheezy, es el soporte para múltiples arquitecturas.

Para ver qué arquitectura es la principal en el sistema:

dpkg --print-architecture

Para ver qué otras arquitecturas tienen soporte instalado:

dpkg --print-foreign-architectures

Si se tiene una instalación de Debian con arquitectura i386, se puede migrar a arquitectura amd64 en forma fácil, para lo cual publicamos otro instructivo.

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-3.2.0-4-amd64 linux-image-3.2-amd64

Tareas en Jessie

Una vez iniciado Jessie, 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 Wheezy, no se encuentren en Jessie, o tengan otro nombre. En este caso, deberán instalarse por separado.

Solucionando problemas

Systemd

No he tenido inconvenientes con Systemd en ninguna de todas las migraciones e instalaciones que he hecho a y de Jessie (salvo lo mencionado abajo :-) ). En el momento de escribir esto, varios de mis servidores y estaciones de trabajo, incluyendo la notebook desde donde escribo esto, están corriendo bajo Debian Jessie. Algunos migrados, otros instalados desde cero. En mi opinión, si bien aún está en testing, Debian Jessie corre maravillosamente bien, incluso para servidores.

Lo más polémico de Jessie lamentablemente ha sido Systemd. Quizá no sea perfecto, pero resuelve la mayoría de los temas del sistema de inicio, y funciona perfectamente. Incluso en servidores.

Si se tiene algún tema con systemd, recomiendo empezar a buscar por el wiki de Debian: https://wiki.debian.org/systemd

El sistema no inicia con /usr en una unidad LVM separada

Lamentablemente, por la forma en que trabaja Systemd, parece que no puede iniciar unidades LVM cuando /usr se encuentra en una unidad LV por separado. Hay varias posibles soluciones, por ejemplo las listadas en los foros de Arch Linux, pero en un servidor donde tengo una gran cantidad de unidades LV y MD encontré que el sistema no podía iniciar. Lo resolví moviendo todos los archivos de la raíz (/) a la unidad LV donde estaba /usr, y por supuesto acondicionando /usr, fstab y GRUB. Dejé la partición donde estaba la raíz para /boot. Más información en el siguiente enlace:

Sin embargo, el changelog del paquete initramfs-tools informa:

initramfs-tools (0.119) unstable; urgency=medium

  * The initramfs will now run fsck on the root filesystem before
    mounting it.  If the chosen init program is systemd and there is a
    separate /usr filesystem, it will also fsck and mount /usr.
  * If /usr is a separate filesystem on a RAID device and the INITRDSTART
    setting in /etc/default/mdadm is not 'all', you will need to change it
    to include that device.
  * If /usr is a separate filesystem on an LVM logical volume, and the
    line for /usr in /etc/fstab specifies the device by UUID or LABEL,
    you must change this line to specify the device using the format
    /dev/mapper/VG-LV or /dev/VG/LV.
  * It is no longer possible to bind-mount the /usr filesystem.
  * If the RTC (real time clock) is set to local time and the local time is
    ahead of UTC, e2fsck will print a warning during boot about the time
    changing backward (bug #767040).  You can disable this by putting the
    following lines in /etc/e2fsck.conf:
        [options]
        broken_system_clock=1

 -- Ben Hutchings <ben@decadent.org.uk>  Mon, 13 Apr 2015 01:00:21 +0100

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 en el archivo /etc/default/grub

Bibliografía

servidores/general/actualizando_wheezy_a_jessie.txt · Última modificación: 2015/04/18 22:47 por fmolinuevo