En este How To veremos como realizar una actualización de una o varias versiones anteriores de nuestro Fedora a la versión actual o current. Esta una traducción del articulo How to use PreUpgrade mismo que se encuentra disponible en la Wiki de FedoraProject. La traducción a corrido por mi propia cuenta, por lo que si encuentran errores (espero que no sea asĆ) o correcciones, favor de hacĆ©rmelos saber dentro de los comentarios :). Recuerden que todos los comandos contenidos en este post deben de ingresarse como root ;).
Cómo usar Preupgrade?
preupgrade es una aplicación que se ejecuta en una versión existente, resuelve y descarga los paquetes necesarios para actualizar a una nueva versión de Fedora. Durante el proceso de preupgrade, los usuarios pueden seguir utilizando sus sistemas. Esto le da una experiencia similar a una actualización en vivo. Para obtener información adicional, por favor refiĆ©rase a la pĆ”gina: caracterĆsticas de preupgrade.
Actualizar a la versión actual directamente
Preupgrade ofrece una actualización a la última versión de Fedora. No es necesario actualizar a versiones intermedias. Por ejemplo, es posible actualizar de Fedora 14 a Fedora 17 directamente.
Requisitos previos
El sistema no se puede actualizar con preupgrade en el siguiente caso:
- Si su partición /boot estÔ en RAID. Ver bug 500004.
Preparar el sistema
Mientras preupgrade puede proporcionar una experiencia de actualización generalmente suave, los siguientes pasos son recomendados antes de continuar.
- Copia de seguridad ā Antes de realizar cualquier trabajo de mantenimiento del sistema, se recomienda hacer una copia de todos los datos importantes antes de proceder.
- Actualizar ā Aplicar las actualizaciones disponibles antes de proceder con la actualización de Fedora. Como usuario root, ejecute el comando siguiente:
yum update
- Instalación ā A partir de Fedora 10, la utilidad preupgrade se incluye en una instalación de Fedora por defecto. El paquete tambiĆ©n se puede instalar de forma manual utilizando el comando yum:
yum install preupgrade
Realizar la actualización
Por lo general, PackageKit le avisarÔ cuando las actualizaciones estÔn disponibles para su sistema. Sin embargo, si decide actualizar manualmente utilizando preupgrade, siga los pasos que se enumeran a continuación.
- Inicie la utilidad preupgrade como root abriendo un terminal y ejecutando el siguiente comando:
preupgrade
Si usted prefiere una aplicación de lĆnea de comandos interactiva, el comando preupgrade-CLI tambiĆ©n estĆ” disponible.
- En la pantalla Elija la liberación deseada, seleccione la versión de Fedora que desea actualizar, y haga clic en el botón Aplicar.
- Cuando todos los paquetes se hayan descargado, reinicie el sistema para iniciar el instalador de Fedora y actualizar a la próxima versión.
Nota de <°DesdeLinux: Si desean profundizar mÔs en este proceso, por favor visiten el siguiente articulo: Preupgrade: Actualizando entre Fedoras, gracias a Diego Campos por el link ;).
Nota 2 de <°DesdeLinux: El proceso de actualización también puede efectuarse desde el DVD de instalación de Fedora.
Actualización remota
Preupgrade tiene un switch que permite una actualización a distancia a través de VNC. Si estÔs utilizando preupgrade para una actualización a distancia, lo mÔs que probable es que se trate de una mÔquina que tiene una dirección IP estÔtica. Esto se maneja a través del comando preupgrade:
preupgrade-cli --vnc[=password] --ip=[IPADDR] --netmask=[NETMASK] --gateway=[IPADDR] --dns=[DNSSERVER] "Fedora 17 (Beefy Miracle)"
Tareas comunes posteriores a la actualización
Después de la actualización, se recomienda medidas adicionales para completar el proceso.
Eliminación de paquetes sin soporte
Algunos paquetes no podrÔn ser soportados por la nueva versión. Es posible que desee eliminar estos paquetes ya que dejarÔ de recibir actualizaciones de seguridad, y pueden causar conflictos posteriores con los nuevos paquetes. Estos pueden ser identificados con el siguiente comando:
package-cleanup --orphans
Examinar.rpmsave y archivos .rpmnew
Después de completar el proceso de actualización, puede observar algunos nombres de archivos que terminan en .rpmsave y .rpmnew. No se alarme. El proceso de actualización siempre conservar los archivos de configuración modificados localmente. Los nombres de los archivos que terminan en .rpmsave contienen los cambios de configuración locales. Mientras que los nombres de los archivos que terminan en .rpmnew representan el fichero de configuración en su embalaje original con el software.
Debe examinar todos los .rpmsave y los archivos .rpmnew creados por la actualización. En función de las diferencias, es posible que necesite combinar manualmente los archivos de configuración. Usted puede localizar todos los archivos que coinciden con el comando find.
find / -print | egrep "rpm(new|save)$"
Si lo desea, para acelerar las búsquedas repetidas durante la edición, al ejecutar el comando updatedb primero, y luego usar locate para realizar las búsquedas posteriormente.
updatedb
locate --regex "rpm(new|save)$"
Verificar la actualización
Ejecutar:
yum repolist
Para confirmar que la configuración del repositorio es correcta. A continuación, ejecute:
yum distro-sync
Para sincronizar los paquetes con las versiones en el repositorio.
Solución de problemas
No hay suficiente espacio en /boot
Fedora 13 y superiores usan por defecto 500 MB en la partición de arranque (/boot). El valor por defecto para el tamaño del sistema de archivos de /boot es de 200 MB en las versiones anteriores, esto puede ser un problema para los usuarios que actualicen desde esa versión. En muchos casos, el espacio en disco que se libera es probable que sea suficiente para que preupgrade pueda descargar el instalador, pero no es suficiente como para que se ejecute el instalador e instale el nuevo kernel al iniciar el sistema. Esta sección presenta algunos consejos conocidos para poder trabajar. Recuerde que: cuando se realizan tareas administrativas, asegúrese de hacer copias de seguridad de los datos antes de continuar.
Hay dos mƩtodos bƔsicos para hacer funcionar preupgrade en estos casos. En el primer mƩtodo, es necesario liberar espacio suficiente para que el instalador instale los paquetes del nuevo kernel. En el segundo mƩtodo, tiene que ocupar, temporalmente, una parte de espacio suficiente en /boot para forzar a que preupgrade descargue el instalador despuƩs de reiniciar.
MƩtodo 1: Liberar espacio
En primer lugar, trate de eliminar los paquetes de los kernels que no estÔn actualmente en uso en su sistema. El script kernel-prune.py puede utilizarse para identificar los kernels que pueden ser eliminados con seguridad. Si elige eliminar los kernels adicionales, esté preparado con los medios de instalación en caso de que no pueda volver a su sistema instalado anteriormente.
El programa de instalación necesitarÔ aproximadamente 26 MB de espacio libre en /boot. Utilice el comando siguiente para determinar la cantidad de espacio libre en la partición /boot:
df -h /boot
Para identificar los nĆŗcleos que se pueden quitar sin problemas, ejecute lo siguiente desde una lĆnea de comandos:
curl -O 'http://skvidal.fedorapeople.org/misc/kernel-prune.py'
chmod a+x kernel-prune.py
./kernel-prune.py
Ahora, para eliminar realmente las versiones del nĆŗcleo listados por el comando anterior, ejecute lo siguiente como root:
PKGS='./kernel-prune.py'
echo $PKGS
yum remove $PKGS
A continuación, ajuste el número de bloques del sistema de archivos reservados utilizando los comandos tune2fs. En primer lugar, tendrÔ que identificar el dispositivo de bloque para el sistema de archivos /boot. En el ejemplo siguiente, /dev/sda1 es el dispositivo de bloque para el sistema de ficheros /boot.
mount | grep "/boot"
/dev/sda1 on /boot type ext4 (rw)
Ahora bien, ajustar el nĆŗmero de bloques reservados para el sistema de ficheros /boot utilizando los comandos tune2fs. Normalmente, una pequeƱa cantidad de espacio en particiones con sistema de formato de ficheros ext es āreservadoā y sólo puede ser utilizada por el administrador del sistema; esto es para evitar un sistema que no arranca, y permitir que el administrador de un poco de espacio de trabajo con el fin de limpiar completamente las particiones. Sin embargo, ninguno de estos casos realmente se aplica al sistema de ficheros /boot, por lo que la eliminación de este espacio reservado es seguro.
tune2fs -r 0 /dev/sda1
Por último, intente eliminar los archivos innecesarios del sistema de ficheros /boot. Esto dependerÔ en gran medida de cómo estÔ configurado su sistema.
El eliminar los archivos incorrectos puede resultar en un sistema que no arranca. Algunos candidatos para la eliminación incluyen /boot/efi y /boot/grub/splash.xpm.gz.
MƩtodo 2: Truco para que preupgrade descargue el instalador
Este método requiere que usted tenga una conexión por cable a Internet durante la instalación. Si usted estÔ en modo inalÔmbrico y no se puede conectar mediante un cable Ethernet, tendrÔ que utilizar el método 1 en su lugar.
En primer lugar, averiguar cuƔnto espacio hay disponible en el sistema de ficheros /boot. df es el comando deseado para esto:
df /boot
FilesystemĀ Ā Ā Ā Ā Ā Ā Ā Ā Ā 1K-blocksĀ Ā Ā Ā Ā Used Available Use% Mounted on
/dev/sda1Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā 198337Ā Ā Ā Ā 30543Ā Ā Ā 157554Ā 17% /boot
En segundo lugar, crear un archivo que ocupe espacio suficiente como para que preupgrade decida que no se puede instalar stage2 por ahora. Preupgrade necesita aproximadamente 120 MB para la imagen de instalación por lo que vamos a asegurarnos de que tenemos menos de 100 MB de espacio disponible. Por ejemplo, el sistema de archivos, eso significa que necesitamos llenar 60 MB. He aquà cómo hacerlo como root:
dd if=/dev/zero of=/boot/preupgrade_filler bs=1024 count=61440
df /boot
FilesystemĀ Ā Ā Ā Ā Ā Ā Ā Ā Ā 1K-blocksĀ Ā Ā Ā Ā Used Available Use% Mounted on
/dev/sda1Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā 198337Ā Ā Ā Ā 92224Ā Ā Ā Ā 95873Ā 50% /boot
En tercer lugar, ejecute preupgrade de manera normal. En las primeras etapas, antes de descargar los paquetes, preupgrade debe decirle que no existe espacio suficiente para descargar el instalador, pero que lo puede descargar al reiniciar el sistema si usted tiene una conexión por cable. Puede hacer clic en continuar. Cuando preupgrade esté listo no reinicie de inmediato. En su lugar, elimine el fichero /boot/preupgrade_filler y asegúrese de que su ordenador estÔ conectado a la red mediante un cable Ethernet. Entonces, puede reiniciar el sistema.
rm /boot/preupgrade_filler
En cuarto lugar, el equipo debe arrancar en el programa de instalación, conectarse a Internet a través del cable Ethernet y comenzar a descargar la imagen del instalador stage2. Luego se debe continuar con la actualización de manera normal.
La actualización no se instala después del reinicio
Explicación
Si usted tiene una configuración de arranque múltiple, el archivo del menú que utiliza GRUB /boot puede ser diferente en el menú que modifica preupgrade /boot. En este caso, tendrÔ que indicarle a grub para que utilice el archivo correspondiente para completar la actualización en el arranque. Si esto no se hace, una vez preupgrade ha completado la descarga de archivos y la instalación, no habrÔ ningún cambio visible en el arranque. El sistema simplemente se reiniciarÔ sobre la versión anterior.
Preupgrade arranca con un núcleo de actualización como un paso intermedio. Una vez que el sistema se ha actualizado, preupgrade sustituye a la opción de actualización del núcleo temporal, con una opción para el kernel actualizado. En otras palabras, hay dos modificaciones introducidas en el gestor de arranque: una opción de actualización temporal, seguido por una opción que es permanente hasta la próxima actualización.
El gestor de arranque GRUB se puede utilizarse para arrancar desde la lĆnea de comandos, o el archivo /boot/grub/menu.lst puede ser modificado para crear una opción en el menĆŗ de arranque (Ejemplo de una captura de pantalla del menĆŗ de arranque GRUB) (Para mĆ”s detalles sobre GRUB, consulte el manual de grub).
Cualquiera de las opciones respecto al grub puede utilizarse. Para una mejor comprension del tema, a continuación se describen la forma de relizarlo por lĆnea de comandos y editando el archivo menu.lst.
Sin embargo, dado que la actualización sólo se debe ejecutar una vez y la actualización del sistema probablemente requerirĆ” repetir el arranque, el mĆ©todo mĆ”s conveniente es, probablemente, arrancar manualmente la actualización a travĆ©s de la lĆnea de comando del grub, entonces, una vez completada la actualización, aƱadir una opción en el archivo menu.lst para la actualizacion de Fedora. Esto corresponderĆa a el mĆ©todo 1, pasos 1 a 3, seguido por el mĆ©todo 2, paso 4.
PASO 1: Identificar la ubicación de la partición
Identificar la unidad y la partición de su directorio /boot de Fedora. (Véase la Convención de nomenclatura Grub para mÔs detalles). Por ejemplo, si ha instalado Fedora por completo en la partición catorce de un segundo disco duro, /boot se encuentra en root (hd1, 13).
PASO 2: Arrancar desde la ubicación de la partición
Al reiniciar el sistema, escriba «c» para entrar al prompt del grub. Usando los números apropiados de unidades y particiones, escriba los siguientes comandos:
root (hd1,13)
kernel /boot/upgrade/vmlinuz
initrd /boot/upgrade/initrd.img
boot
Esto iniciarÔ la instalación de la actualización.
PASO 3: Seleccione la imagen de instalación
La instalación de la actualización ejecutarÔ un diÔlogo de ncurses. Después de seleccionar el idioma y el tipo de teclado, seleccione el disco duro para el método de instalación. El siguiente cuadro de diÔlogo requerirÔ información de la partición y el directorio de la imagen de instalación. Seleccione la partición en el menú desplegable. (Tenga en cuenta que la numeración partirÔ desde la partición del grub. En otras palabras, root (hd1, 13) aparecerÔ como /dev/sdf14). Por último, introduzca la ubicación del archivo de la imagen de instalación: /boot/upgrade/install.img.
La instalación se ejecutarĆ” normalmente en este punto. DespuĆ©s de completar la actualización, tendrĆ” que arrancar el sistema o bien actualizar manualmente introduciendo el nuevo kernel y los archivos initrd.img en la lĆnea de comando de grub, o aƱadir una entrada al archivo menu.lst. Este paso se detalla en la siguiente sección.
MƩtodo 2: Modificar el archivo GRUB menu.lst
Como alternativa a la entrada de los comandos en el sĆmbolo del GRUB despuĆ©s del reinicio, tambiĆ©n puede editar el archivo menu.lst del GRUB para agregar una opción que le permitirĆ” seleccionar el inicio en el proceso de actualización desde el menĆŗ de arranque del GRUB. Dado que la actualización sólo se debe ejecutar una vez, despuĆ©s de haber actualizado usted necesitarĆ” volver a editar menu.lst, retire del menĆŗ la opción arranque de actualización, y aƱadir una entrada de arranque para el nuevo kernel.
PASO 1: Identificar la ubicación de la partición
Identificar la unidad y la partición de su directorio /boot de Fedora (Véase la Convención de nomenclatura Grub para mÔs detalles). Por ejemplo, si ha instalado Fedora por completo en la partición catorce de un segundo disco duro, /boot se encuentra en root (hd1, 13).
PASO 2: Editar menu.lst
Busque y abra el fichero /boot/grub/menu.lst. Si este archivo estÔ en otra partición, compruebe los archivos en /media. Usando los números apropiados de unidades y particiones, escriba la siguiente entrada en el archivo menu.lst:
title Fedora Upgrade
root (hd,)
kernel /boot/upgrade/vmlinuz
initrd /boot/upgrade/initrd.img
savedefault
boot
Guarde el archivo y reinicie el sistema. Seleccione la actualización de Fedora desde el menú de arranque GRUB.
PASO 3: Seleccione la imagen de instalación
La instalación de la actualización ejecutarÔ un diÔlogo de ncurses. Después de seleccionar el idioma y el tipo de teclado, seleccione el disco duro para el método de instalación. El siguiente cuadro de diÔlogo requerirÔ información de la partición y el directorio de la imagen de instalación. Seleccione la partición en el menú desplegable. (Tenga en cuenta que la numeración partirÔ desde la partición del grub. En otras palabras, root (hd1, 13) aparecerÔ como /dev/sdf14).
Por último, introduzca la ubicación del archivo de la imagen de instalación: /boot/upgrade/install.img. La instalación se ejecutarÔ normalmente en este punto.
PASO 4: Limpieza de menu.lst
DespuĆ©s de completar la actualización, tendrĆ” que arrancar el sistema o bien actualizar manualmente introduciendo el nuevo kernel y los archivos initrd.img en la lĆnea de comando de grub, o mediante la adición de una entrada al archivo menu.lst.
El siguiente es un ejemplo de una entrada del grub para un Fedora Core 10, ubicada en la partición catorce del segundo disco duro.
title Fedora Core 10 (on /dev/sdb14)
root (hd1,13)
kernel /boot/vmlinuz-2.6.27.5-117.fc10.x86_64 ro quiet splash
initrd /boot/initrd-2.6.27.5-117.fc10.x86_64
savedefault
boot
Localice los archivos actualizados del kernel y de initrd, estos se encuentran en la carpeta /boot de la partición de Fedora, y haga una entrada con el mismo tĆtulo que tienen los archivos del kernel y initrd.
Por último, quite la entrada de arranque de actualización de menu.lst.
Fuentes: Citadas dentro del articulo ;).