Por Félix Molinuevo, FMSI Sistemas de Informática ::: Fecha creación: 20100505
El proceso de actualización es similar a otros descritos en este mismo sitio, de Debian Etch a Lenny o de Debian Sarge a Etch. Es necesario notar que al día de hoy Debian Squeeze es aún testing, por lo cual no se recomienda su uso en producción.
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.
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 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.
Para ello, editar el archivo /etc/apt/sources.list y cambiar donde dice “lenny” colocando “squeeze”, cuidando de no modificar alguna otra cosa.
deb http://ftp.ar.debian.org/debian/ squeeze main deb-src http://ftp.ar.debian.org/debian/ squeeze main deb http://security.debian.org/ squeeze/updates main contrib deb-src http://security.debian.org/ squeeze/updates main contrib
Y actualizar el listado de paquetes:
aptitude update
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.
En esta ocasión, ejecuté varias veces este comando. En cada ocasión, Aptitude actualizaba nuevos paquetes, hasta que ya no hubo ninguno para actualizar. En ese momento, ya el full-upgrade tampoco tenía paquetes para instalar.
Cabe mencionar que desinstaló una enorme cantidad de software, incluyendo KDE completo (versión 3.5.x), porque la versión que se incluye con Squeeze es KDE 4.3.x en este momento.
En una de esas actualizaciones parciales, ocurrió que Aptitude no podía actualizar udev debido a que la nueva versión utiliza llamadas que se encuentran sólo en kernels más nuevos que el de Lenny. Por ello, tuve que actualizar primero el kernel, poniendo uno de Squeeze (linux-image-2.6.32-3-686) y luego de reiniciar pude recién continuar la actualización:
aptitude install linux-image-2.6.32-3-686
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 Squeeze:
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.
Este comando debe ejecutarse varias veces, debido a que una vez no es suficiente para actualizar todo el software. En las siguientes ocasiones, puede ocurrir que se encuentren nuevos paquetes a ser actualizados, que no pudieron serlo antes por alguna razó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. Sin embargo, como mencioné antes, el kernel hubo de ser instalado para poder actualizar udev. La actualización del kernel en ese momento, y el subsecuente reinicio, no provocó inconveniente alguno, sino que la actualización pudo continuarse luego ya corriendo sobre el nuevo kernel.
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
}
Squeeze viene con KDE versión 4.3.4, 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 las X Window.
Comprobado esto, se puede reiniciar el equipo.
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.
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.
dpkg -i --force-all /var/cache/apt/archives/cups-common_1.3.8-1+lenny7_all.deb
aptitude install mktemp
# 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