Slackware es una de las pocas distribuciones que posee una guia simple para realizar una actualizacion "en caliente" de toda la distribución, sin necesidad de ningun reinicio.
Este tutorial es la traducción del archivo "UPGRADE" que pueden encontrar en su CD1 o DVD de instalación de Slackware 11 escrito por Patrick Volkerding el creador de Slackware.
---------------------------------------------------------------------------------------
De Slackware 10.2 a 11.0 HOWTO <volkerdi@slackware.com>
Este documento explica como actualizar desde Slackware 10.2 a Slackware 11.0
---------------------------------------------------------------------------------------
Antes de comenzar te recomiendo hacer una copia de segurodad de tu sistema, si no es posible hacer una copia del sistema completo, al menos del directorio /etc. Te encontrarás con que tienes que cambiar varias cosas luego de que el proceso de actualización este completo. Has el backup, o juegatela.
OK, ahora que todo tiene su copia de seguridad, comencemos!! :-)
Para hacer esto, necesitarás de los paquetes de Slackware 11.0. Si estos estan en un CD, crea un nuevo directorio para montar el CD de tal manera que no quede en el camino durante la instalación.
mkdir /packages
mount /dev/cdrom /packages
Los paquetes no tienen que estar necesariamente en un CD-ROM, como alternativa, pudes copiar el directorio de slackware (el que tiene varios subdirectorios de paquetes en el, básicamente el directorio llamado "slackware" del CD de instalación) en algun lugar como /root/slackware. Lo importante es que tu sepas en que directorio estan metidos los paquetes de slackware. Bien, usaremos entonces /root/slackware en los siguientes ejemplos.
0. Pon tu maquina en modo monousuario:
telinit 1
1. Actualiza tus bibliotecas compartidas de glibc. Esto es importante, o las cosas se podrían poner dificiles durante la primera parte de la actualización:
upgradepkg /root/slackware/a/glibc-solibs-*.tgz
2. Actualiza tus utilidades para paquetes:
upgradepkg /root/slackware/a/pkgtools-*.tgz
3. Instala sed. Deberías de tenerlo ya, pero debido a que es usado por las utilidades de paquetes es mejor asegurarse:
upgradepkg --install-new /root/slackware/a/sed-*.tgz
4. Actualiza todo lo demas (e instala los nuevos paquetes):
upgradepkg --install-new /root/slackware/*/*.tgz
5. Asegurate de que tu sistema arrancará. Si usas LILO, asegurate de que las rutas en /etc/lilo.conf apunten a un kernel válido, y luego escribe 'lilo' para reinstalar LILO. Si usas un disco de arranque, necesitaras usar el comando 'makebootdisk' para crear un nuevo disco de arranke utilizando un kernel del directorio /boot
6. Corrige tus archivos de configuración. Algunos de los archivos de configuración en /etc van a necesitar que les pongas atención. Encontraras los nuevos archivos de configuración en tu sistema con la extensión ".new". Necesitas actualizar estos con la información de tus antiguos archivos de configuración y despues sobreescribirlos.
¿Te sientes valiente? Puedes usar este pequeño script para instalar todos los archivos de configuración .new en /etc. Si hiciste algun cambio a los archivos locales tiene que hacerlos en los nuevos archivos de configuración instalados. Tus archivos de configuración viejos seran copiados con la extensión *.bak. De todos modos, este puede ser un buen punto de inicio. Aquí esta el script:
#!/bin/sh
cd /etc
find . -name "*.new" | while read configfile ; do
if [ ! "$configfile" = "./rc.d/rc.inet1.conf.new" \
-a ! "$configfile" = "./group.new" \
-a ! "$configfile" = "./passwd.new" \
-a ! "$configfile" = "./shadow.new" ]; then
cp -a $(echo $configfile | rev | cut -f 2- -d . | rev) \
$(echo $configfile | rev | cut -f 2- -d . | rev).bak 2> /dev/null
mv $configfile $(echo $configfile | rev | cut -f 2- -d . | rev)
fi
done
Probablemente también tengas que editar tu archivo /etc/X11/xorg.conf para cambiar el nombre del controlador de teclado de "Keyboard" a "kbd#. Yo no se porque esto ha cambiado, pero cambió.
7. Regresa al modo multi usuario:
telinit 3
8. Remueve los paquetes obsoletos:
Si te vas a /var/log/packages y echas una mirada a la lista de paquetes:
ls -lt | less
Podrías identificar algunos paquetes viejos, obsoletos o descontinuados. Si es así, entonces remuevelos usando 'removepkg'
9. Remueve todo el cumulo de paquetes de lenguajes de KDE. Al instalar todos los paquetes usando --install-new, probablemente instalaste todas las traducciones de lenguajes de la serie KDEI, esto utiliza cerca de 500MB de espacio. Si solo necesitas Inglés EN, puedes remover los paquetes de lenguaje de KDE de esta manera:
cd /var/log/packages
removepkg kde-i18n* koffice-l10n*
Incluso si necesitas algun lenguaje de todos estos, es mejor comienzo borrarlos tods, y luego regresar e instalar los que necesitas con 'installpkg'....
Hasta este punto ya deberías estar corriendo Slackware 11.0 :-)
Les deseo suerte a todos con esto!!
---
Patrick Volkerding
volkerdi@slackware.com