You are on page 1of 11

ACTUALIZAR DEBIAN LENNY A SQUEEZY

Contenido
1. 2. INTRODUCCIN ........................................................................................................ 1 ANTES DE ACTUALIZAR ............................................................................................. 1 2.1. 2.2. REALIZACIN DE COPIAS DE SEGURIDAD .......................................................... 1 PREPARNDOSE PARA EVITAR POSIBLES PROBLEMAS ..................................... 3 INDISPONIBILIDAD DE SERVICIOS ............................................................... 3 RECUPERACIN DEL SISTEMA .................................................................... 3 PREPARACIN DE UN ENTORNO SEGURO ................................................. 4 ELIMINACIN DE PAQUETES CONFLICTIVOS E INNECESARIOS .................. 5

2.2.1. 2.2.2. 2.2.3. 2.2.4. 2.3. 3. 4. 5. 6.

COMPROBACIN DEL ESTADO DEL SISTEMA .................................................... 5

ACTUALIZACIN MNIMA DEL SISTEMA ................................................................... 7 ACTUALIZACIN DEL KERNEL Y DE UDEV ................................................................. 9 ACTUALIZACIN DEL SISTEMA ................................................................................. 9 BIBLIOGRAFIA ......................................................................................................... 10

ACTUALIZAR DEBIAN LENNY A SQUEEZY


1. INTRODUCCIN
Esta actualizacin no es tan simple como para realizarla cambiando los orgenes del software editando el fichero /etc/apt/sources.list y realizando un apt-get update && apt-get dist-upgrade, hay que tener ciertas consideraciones en todo este proceso. De ah que me haya decidido a realizar este tutorial. Adems, creo que as dispondremos en el futuro de una secuencia para actualizar nuestro sistema de forma coherente y, as, correr con los menores riesgos posibles en este proceso. He de reconocer que tambin lo hago para dejar de apuntarme las notas, los smbolos y los comandos en los sobres de las cartas que las compaas de servicios, entre otras, me envan y que se acumulan en mi despacho (y que, desgraciadamente, nunca encuentro cuando las necesito). Este tutorial se basa en las notas de publicacin de Debian GNU/Linux 6.0 Squeeze, 64-bit PC, en su pgina oficial: http://www.debian.org/releases/stable/amd64/releasenotes/index.es.html, en concreto, en el captulo 4: Actualizaciones desde Debian 5.0 (lenny), en mi caso, para AMD 64, y en otros sitios webs que muestran informacin relacionada sobre esta distribucin Linux, que se citarn ms abajo. Se supone que tenemos conexin a Internet.

2. ANTES DE ACTUALIZAR
2.1.REALIZACIN DE COPIAS DE SEGURIDAD
Es muy recomendable realizar una copia de seguridad completa o al menos una de los datos o informacin de configuracin que no podamos permitirnos perder antes de actualizar nuestro sistema. Las herramientas y el proceso de actualizacin son bastante fiables, pero un fallo de hardware a mitad de una actualizacin implicara que nos podramos encontrar con un sistema muy daado. Por ejemplo, una forma de hacer una copia de seguridad completa del sistema, sera acceder al sistema desde un terminal o desde consola virtual en modo texto (pulsando la combinacin de teclas ALT+Fn, donde n = 1, 2, 3, 4 5 por ejemplo-), como usuario root, para tener acceso total a todos los archivos del sistema y una vez all, dirigirnos al lugar donde queramos crear el archivo de copia de seguridad, por ejemplo, el directorio raz, /. $ su (o sudo) para entrar como root (nos pedir la contrasea de root). Una vez introducida correctamente, cambiara el smbolo de sistema a: #. Desde ah ejecutamos el comando cd para cambiar de directorio al deseado: # cd /

ACTUALIZAR DEBIAN LENNY A SQUEEZY


Una vez all, ejecutaramos el siguiente comando para crear (-c) la copia de seguridad comprimida (-z) en el fichero (-f) backup_lenny.tgz, manteniendo los permisos (-p) algo importante, visualizando la operacin (-v) y excluyendo de dicha copia la propia copia de seguridad que se estar realizando (para evitar la creacin de un bucle) y los directorios /lost+found y /media: # tar cvpzf backup_lenny.tgz --exclude=/backup_lenny.tgz exclude=/lost+found --exclude=/media / --

Evidentemente, podramos escoger otro directorio destino de nuestro backup, como /BACKUPS, creado a tal efecto con el comando mkdir, por ejemplo. La restauracin1 de la copia de seguridad (la extraccin necesita el flag x), si las cosas no han ido como esperbamos, se debera de hacer desde el mismo lugar donde la creamos, siguiendo con el ejemplo anterior, desde el directorio raz, /, donde habremos puesto la copia de seguridad desde un dispositivo de almacenamiento externo2, si la habamos movido a l con anterioridad: # tar xvpfz backup_lenny.tgz -C /

Podramos optar tambin por hacer una copia separada de aquellos directorios que consideremos crticos, excluyendo lo que consideremos oportuno, por ejemplo: # # # # tar cvpzf copia_etc.tgz --exclude=/lost+found /etc tar cvpzf copia_home.tgz --exclude=/lost+found /home tar cvpzf copia_root.tgz --exclude=/lost+found /root tar cvpzf copia_boot.tgz --exclude=/lost+found /boot

Tambin se aconseja salvaguardar los contenidos de:

/var/lib/apt/extended_states
/var/lib/dpkg

y si se utiliza aptitude, tambin de /var/lib/aptitude/pkgstates.

La restauracin reemplazar su archivo homlogo en el sistema, as que se debera ser especialmente cuidadoso durante esta operacin. 2 Estas copias de seguridad sera conveniente copiarlas o moverlas a un dispositivo de almacenamiento externo seguro (un disco externo o a una memoria externa). Evidentemente, podemos conectar este dispositivo al sistema y montarlo en nuestro sistema de archivos, por ejemplo, en /BACKUPS, siguiendo el ejemplo.

ACTUALIZAR DEBIAN LENNY A SQUEEZY


Tambin deberamos guardar la salida, por ejemplo, en un archivo de texto, del siguiente comando, que nos indica los paquetes que tenemos instalados actualmente en el sistema: # dpkg - -get-selections * > paquetes_instalados.txt

Sera aconsejable realizar una copia de la lista de repositorios de nuestro sistema, pues deberemos modificarla para que apunte a Squezze: # cp /etc/apt/sources.list /etc/apt/sources.list.backup

2.2.PREPARNDOSE PARA EVITAR POSIBLES PROBLEMAS


2.2.1. INDISPONIBILIDAD DE SERVICIOS Si el sistema que se pretende actualizar est ofreciendo servicios crticos para sus usuarios o para la red (DNS, DHCP, etc.) se debera minimizar el tiempo de indisponibilidad de estos servicios, realizando una actualizacin mnima del sistema, como se describir ms adelante, seguido de una actualizacin del ncleo (asegurndose que se ejecuta la orden update-grub como parte de la actualizacin del ncleo, caso contrario, ejecutarla manualmente), de una actualizacin del paquete udev y de un reinicio del sistema. Despus se deberan actualizar los paquetes asociados a estos servicios crticos, antes de realizar una actualizacin completa del sistema. 2.2.2. RECUPERACIN DEL SISTEMA Debido a los numerosos cambios introducidos en el ncleo entre lenny y squeeze, relacionados con los controladores, el descubrimiento de hardware y la forma de nombrar y ordenar los archivos de dispositivos, debemos asegurarnos que somos capaces de recuperar el sistema en caso de que ste no pudiera reiniciarse o, para aquellos sistemas gestionados de forma remota, no pudiera arrancar correctamente la configuracin de red. Una opcin sera entrar al sistema en modo de rescate (siempre y cuando, se pudiera conectar con el sistema remoto, es decir, que no se hubiera producido una reordenacin de los dispositivos de red, debido a la instalacin del nuevo paquete udev; en sistemas administrados localmente, este problema sera considerado un problema menor, claro). Para acceder al modo rescate, tenemos que introducir rescue en el cursor boot: o arrancar con el parmetro de arranque rescue/enable=tue. Desde lenny, el mecanismo de descubrimiento de hardware puede provocar cambios en el orden en que los dispositivos se buscan en el sistema en cada arranque, afectando por tanto al nombre de dispositivo asignado a los mismos. 3

ACTUALIZAR DEBIAN LENNY A SQUEEZY


Por ejemplo, si disponemos de 2 adaptadores de red asociados a dos controladores diferentes, los dispositivos a los que se nombraban como eth0 y eth1 en un arranque, podran estar cambiados uno por otro en el siguiente arranque (o encontrarnos con que un fallo o cambio del dispositivo a que hace referencia eth0, produjese que nuestro dispositivo que hace referencia a eth1 pasase a ser nombrado eth0, al no encontrarse el dispositivo al que haca referencia eth0 originalmente). Esta reordenacin se omite (o puede omitirse) para los dispositivos de red a travs de las definiciones en las reglas de udev, en concreto, en /etc/udev/rules.d/70-persistent-net.rules. Dado que estas reglas ya estaban disponibles en lenny, no sera necesaria ninguna accin adicional, pero no estara de ms, antes de actualizar, echar un vistazo a esas reglas para comprobar que cada dispositivo de red est perfectamente identificado y que su nombre est asociado unvoca e inequvocamente a una pieza especfica del hardware de red. En los dispositivos de almacenamiento se puede evitar este reordenamiento usando initramfs-tools y configurndolo para cargar los mdulos de los controladores de los dispositivos en el mismo orden que se cargan actualmente. Actualmente esto no merece la pena y se recomienda utilizar nombres de dispositivo que son estables con el tiempo, como por ejemplo los aliases UUID (Unique Identifier o identificador nico)3, en el directorio /dev/disk/by-uuid o nombres de dispositivos LVM en /dev/mapper. El paquete de squeezy, linux-base, se ofrecer a hacer esta conversin, de forma automtica, en los archivos de configuracin de la mayora de paquetes relacionados con el sistema de ficheros en el sistema, incluidos los distintos cargadores de arranque que utiliza Debian. 2.2.3. PREPARACIN DE UN ENTORNO SEGURO La actualizacin de la distribucin debera hacerse de forma local, frente a una consola virtual en modo texto (o conectado de forma directa mediante un terminal por puerto serie), o de forma remota mediante una conexin ssh. Para aumentar el margen de seguridad durante la actualizacin de nuestro sistema, es recomendable que se realice este proceso en una consola virtual como la que ofrece el programa screen, que nos permitir una reconexin segura y asegura que el proceso de actualizacin no se interrumpe aunque falle el proceso de conexin remota. #
3

apt-get install screen

Algunos dispositivos, como los utilizados por crypt, RAID o LVM, tienen identificadores que no son UUID pero son estables. En estos casos siempre debera utilizar el nombre de los dispositivos, dado que no hay ambigedades con ellos y son estables.

ACTUALIZAR DEBIAN LENNY A SQUEEZY


Ejecutamos screen: # screen

Si se pierde la conexin con el shell de la instalacin, es posible recuperar su acceso mediante la ejecucin del siguiente comando: # screen -Dr

No deberamos actualizar usando telnet, rlogin, rsh, ni desde una sesin de X controlada por xdm, gdm o kdm en la mquina que se est actualizando. Esto se debe a que cada uno de esos servicios puede cerrarse durante la actualizacin, y podra hacer que el sistema se volviese inaccesible y que quede slo actualizado a la mitad. 2.2.4. ELIMINACIN DE PAQUETES CONFLICTIVOS E INNECESARIOS Tiene que borrarse la versin instalada de splashy antes de la actualizacin: # apt-get purge splashy

Para paquetes que se instalaron pero que ya no son necesarios: # apt-get autoremove

2.3.COMPROBACIN DEL ESTADO DEL SISTEMA


En primer lugar debemos tener el sistema lenny puro debidamente actualizado, eliminando paquetes de otros proveedores para asegurarse que el proceso de actualizacin funcione correctamente. Tambin debemos revisar si hay acciones pendientes en el gestor de paquetes. En algunos casos, utilizar apt-get para instalar paquetes en lugar de aptitude puede hacer que aptitude considere que un paquete no est siendo utilizado (marcado como unused) y lo marcar para su eliminacin. Por ello, es necesario que revisemos si existe alguna accin pendiente en el gestor de paquetes aptitude. El procedimiento de actualizacin puede verse afectado negativamente si algn paquete est marcado para eliminarse o actualizarse. Para realizar esta revisin deberamos ejecutar el interfaz de usuario en modo visual de aptitude y pulsar g (Go). Si se muestra cualquier accin, deberamos revisarla y o bien arreglarlas o llevar a cabo las acciones que se nos sugieran. Se nos presentar el mensaje No hay ningn paquete planificado para instalar, eliminar o actualizar si no hay ninguna accin pendiente. Necesitamos desactivar el bloqueo de APT, si hemos configurado APT para que instale ciertos paquetes de una distribucin distinta de la estable, es posible que se haya cambiado la configuracin de bloqueo (o pinning) de APT, almacenada en 5

ACTUALIZAR DEBIAN LENNY A SQUEEZY


/etc/apt/preferences para permitir que se actualicen paquetes con versiones ms recientes que los que haya en la distribucin estable. Debemos verificar el estado de los paquetes. Independientemente del mtodo que se use para actualizar, se recomienda que se compruebe el estado de todos los paquetes primero, y que se verifique que todos los paquetes se encuentran en un estado actualizable. La siguiente orden mostrar cualquier paquete que se haya quedado a medio instalar (estado Half-Installed) o en los que haya fallado la configuracin (estado Failed-Config), as como los que tengan cualquier estado de error: # dpkg - -audit

Tambin podemos inspeccionar el estado de todos los paquetes de nuestro sistema usando rdenes tales como: # dpkg - -get-selections * > ~/paquetes_instalados.txt

Es deseable eliminar cualquier paquete retenido (paquete en estado hold,) antes de actualizar. El proceso fallar si un paquete esencial para la actualizacin est bloqueado. Hay que tener en cuenta que aptitude utiliza un mtodo para registrar los paquetes retenidos distinto del que utilizan apt-get y dselect. Podemos utilizar la siguiente orden para identificar los paquetes que estn retenidos en aptitude: # aptitude search "~ahold" | grep "^.h"

Si quiere comprobar los paquetes que tiene retenidos con apt-get debera utilizar: # dpkg - -get-selections | grep hold > ~/paquetes_retenidos.txt

Si se ha cambiado y recompilado un paquete de forma local, y no se le ha cambiado el nombre o marcado con una epoch, en la versin, deberamos retenerlo (ponerlo en hold) para evitar que se actualice. Se puede cambiar el estado de un paquete retenido (hold) para que lo tengan en cuenta apt-get con la siguiente orden: # echo nombre_de_paquete hold | dpkg --set-selections

Se debe cambiar hold por install para borrar la marca del paquete y que ste deje de estar retenido.

ACTUALIZAR DEBIAN LENNY A SQUEEZY


Antes de actualizar el sistema, deberamos eliminar la seccin proposed-updates de nuestro fichero /etc/apt/sources.list si la tenemos listada. Esta medida de precaucin reducir la posibilidad de que se produzcan conflictos. Deberemos asegurarnos que los repositorios no oficiales ofrecen paquetes compilados para squeeze y cambiar la lnea de la fuente al mismo tiempo que se cambian otras lneas de las fuentes de paquetes Debian. Quizs sera una buena idea desactivar estas lneas, as como las de los backports que tengamos en /etc/apt/sources.list. Antes de comenzar la actualizacin, debemos modificar, con un editor de texto nano, por ejemplo las listas de paquetes en el archivo de configuracin de apt: # nano /etc/apt/sources.list

Y aadir esta lnea, por ejemplo: deb http://mirrors.kernel.org/debian squeeze main contrib non-free deb-src http://mirrors.kernel.org/debian squeeze main contrib non-free deb http://security.debian.org/ squeeze/updates deb-src http://security.debian.org/ squeezy/updates Tras aadir las nuevas fuentes, desactivamos las lneas deb que haba en sources.list, colocando el smbolo de sostenido (#) delante de ellas.

3. ACTUALIZACIN MNIMA DEL SISTEMA


Sera recomendable, en primer lugar, si el sistema dispone de entorno grfico (escritorios Gnome, KDE, LXDE, etc.) detenerlo. En el caso de Gnome: # /etc/init.d/gdm stop

Si bien considero ms elegante cambiar el modo de inicio de nuestro sistema, para que se inicie en modo consola (de texto): # update-rc.d -f gdm remove

Seguido de un reinicio de la mquina: # reboot

Ahora el sistema se habr iniciado en modo texto. En cualquier momento es posible iniciar manualmente el servidor X (entorno grfico) mediante la ejecucin del siguiente comando: 7

ACTUALIZAR DEBIAN LENNY A SQUEEZY


$ startx Esta ejecucin no realiza ningn tipo de cambios en la configuracin, as que este inicio ser temporal, la prxima vez que se reinicie el sistema lo har nuevamente en modo texto. Si quisiramos que el sistema se iniciara normalmente, deberamos introducir esta orden en la lnea de comandos: # update-rc.d -f gdm defaults

Seguido de un reinicio de la mquina: # reboot

De nuevo, tendremos el modo grfico disponible. Podemos grabar la sesin de actualizacin usando el programa /usr/bin/script. Para iniciar la transcripcin, teclearemos: # script -t 2>~/actualiza-a-squeeze.time -a ~/actualiza-a-squeeze.script

Despus de completar la actualizacin, se puede terminar la transcripcin de script escribiendo exit en la lnea de comandos. Desde un terminal virtual, podemos revisar la transcripcin del proceso con: # less R ~root/actualiza-a-squeeze.script

Con scriptreplay se puede reproducir la sesin completa: # scriptreplay ~/actualiza-a-squeeze.time ~/actualiza-a-squeeze.script

En primer lugar, hemos de actualizar la lista de paquetes con las nuevas fuentes: # apt-get update

Para ahorrar espacio y eliminar los paquetes de lenny que an queden, podemos ejecutar el comando: # apt-get autoclean

Llegados a este punto, sera buena idea actualizar los paquetes que se van a encargar de toda la actualizacin a squeeze: # apt-get install apt aptitude dpkg debian-keyring

Recordamos que Debian recomienda el uso de apt y no de aptitude en la actualizacin. 8

ACTUALIZAR DEBIAN LENNY A SQUEEZY


Y realizamos la actualizacin mnima del sistema: # apt-get upgrade

Esto tiene como consecuencia que se actualicen los paquetes que se puedan actualizar en el sistema sin que sea necesario eliminar ni instalar ningn otro paquete. Recordemos que si trabajamos con un servidor remoto, el proceso se debera realizar a travs de ssh y utilizando screen, para mayor seguridad, como ya se ha comentado.

4. ACTUALIZACIN DEL KERNEL Y DE UDEV


Usaremos el siguiente comando: # apt-get install linux-image-$(uname -r)

Comprobamos que se ejecuta la orden update-grub como parte de la actualizacin del ncleo, caso contrario, ejecutarla manualmente. # apt-get install udev

Ahora toca reiniciar la mquina: # reboot

5. ACTUALIZACIN DEL SISTEMA


Se recomienda que ahora se actualicen los paquetes de servicios crticos (DNS, DHCP, MySQL Server, etc.), si no lo han hecho ya con apt-upgrade por ejemplo: # apt-get install bind9 mysql-server locales tzdata ()

Y, por fin, definitivamente: # apt-get dist-upgrade

Si todo ha ido bien, observaremos que se ha actualizado desde grub1 a grub2, aunque el sistema se podr iniciar usando an grub1 (con las opciones de menu.lst). Para eliminar definitivamente a grub1, ejecutamos: # upgrade-from-grub-legacy

Para comprobar que ahora slo disponemos de grub2, reiniciamos: # reboot

Esperemos que todo haya ido bien ;)

ACTUALIZAR DEBIAN LENNY A SQUEEZY


6. BIBLIOGRAFIA
http://www.debian.org/releases/stable/amd64/release-notes/index.es.html http://es.kioskea.net/faq/2516-restaurar-linux-usando-el-comando-tar http://phenobarbital.wordpress.com/2010/08/05/subir-de-debian-lenny-a-squeezemodo-sano-y-paranoico/ http://www.howtoforge.com/upgrade-debian-lenny-to-squeeze-in-a-few-simple-steps http://blog.jorgeivanmeza.com/2011/02/actualizar-debian-lenny-a-squeeze/ http://genioh.wordpress.com/2009/06/18/como-iniciar-en-modo-texto-en-debianubuntu-linuxmint-how-to-boot-with-text-mode-in-debian/ http://blog.jorgeivanmeza.com/2010/09/iniciar-gnulinux-debian-5-en-modo-solotexto/

10

You might also like