How To Fedora: Actualizar a la nueva versión con Preupgrade

 

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:

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 ;).


Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   taregon dijo

    Waaaooo!! A la mitad del articulo tuve que abandonar la lectura, no por que sea aburrida, si no mas bien por que esta muy elaborada y mejor seria ir probando cada paso en un escenario real para aprender.

    Sabes que… lo guardare en mi cuenta de box =)

    1.    Perseo dijo

      Gracias 🙂

      1.    alberto dijo

        Bloguero
        Temo que estas entradas magnificas que ha creado hacerca de fedora se pierdan en el tiempo conforme usted vaya agregando entradas nuevas asi que me gustaria que utilizara en pedacito de su blog con un link a los howto de fedora para que queden como referente a la porteridad, perdone mi sugerencia, es solo que estas entradas acerca de fedora son dignas de mantenerlas a la vista sin importar el tiempo que halla pasado desde su publicacion.
        Gracias

        1.    Perseo dijo

          Muchas gracias por sus palabras y por sus sugerencias, expondré su idea con los otros admins para ver si podemos hacer algo al respecto :).

          Saludos ;).

  2.   Merlin El Debianita dijo

    Genial no lo leí todo solo hasta la actualización sí tengo problemas seguiré leyendo.

  3.   Frenetix dijo

    un muy buen articulo para los fedoritas.. lo único es que podrías haber creato varios post con solo este articulo… mantenlo KISS.. jajajajajaa

    Saludos

    1.    Perseo dijo

      XD, sí, tienes mucha razón. El articulo es muy amplio :P, pero no quise que alguien se perdiera en algo y tuviese que esperar en obtener la respuesta a su problema :).

      Saludos ;)-

  4.   Diego Campos dijo

    Vaya!!
    Enserio, que bueno que te sirvió el link 😀

    Saludos(:

    1.    Perseo dijo

      Claro, cualquier aporte es bienvenido, gracias bro ;).

      1.    alberto dijo

        Buenas noches bloguero
        Solo queria preguntar si por ejemplo hago la actualizacion un mes despues de salir la version final de fedora esta se actualiza hasta el dia que salio o tambien instala las actualizaciones incluyendo las del mes despues de haber salido
        Gracias

        1.    Perseo dijo

          Que tal alberto, un gusto, preupgrade actualiza completamente el sistema hasta la ultima actualización disponible :).

          Saludos.

  5.   FIRPO dijo

    Juac!!!
    Que pedazo de tuto, por favor….impresionantemente hecho con ganas !

    Felicitaciones CAPO !

    Mis respetos.-

    1.    Perseo dijo

      Que tal FIRPO, muchas gracias por tu comentario :D, un placer tenerte por acá.

      Saludos ;).

  6.   Dr, Byte dijo

    Yo actualicé de fedora 16 a 17 por medio de preupgrade vía wifi y sin ningún problema todo bien, tardó algo, me imagino por que fue por wifi y el mismo día que se lanzó la versión, pero al final, allí tenía mi fedora 17, tal y cual como estaba antes, sin reinstalar nada. con todos los codecs y plugins.

    Pronto pondré unas capturas de esta actualización en mi blog.

    Saludos.

  7.   AlejandroD dijo

    gracias por la nota, pero no creo que me sirva ya que necesitaria actualizar la version desde el 1 yarrow al actual. Pasa que tengo un server sin capacidad en el disco y necesito trasladar la version a otro HD con mayor capacidad para ahi si poder actualizarla. Pero me esta costando un «0» encontrar distribuciones tan antiguas.
    Si alguien tiene algun dato, se agradecera cualquier info que me puedan pasar.

    saludos.

  8.   mfcollf77 dijo

    Bueno como soy nuevo en LINUX hasta ahora estoy leyendo muchos post.

    Me surge una pregunta y es la siguiente: ¿ En caso de FEDORA cada cuánto tiempo actualiza o mejor dicho sale una nueva versión?, actualmente está la FEDORA 17.

    Y cuando salen estas versiones nuevas es recomendable dar un preupgrade?, o reinstalar todo?

    Es igual que en windows?, bueno no quisiera comparar con windows pero soy nuevo y termino comparando todo con windows para darme cuenta de las diferencia entre ambos.

    1.    befa dijo

      mfcollf77

      – lfedora 18 sale el 6 de noviembre

      – fedora cada 6 meses mas o menos, saca version.

      – no no es igual a winbugs como se te ocurre la conparacion es tonta.

      – te recomiendo esperes unas semanas para pasar a la 18, porque tienen que arregalar siempre cosas

      1.    mfcollf77 dijo

        Ok. Gracias por la información.

        Esperaré para noviembre el FEDORA 18

  9.   Elynx dijo

    De Lujo!.. Probando a ver que tal!.

    Gracias!

  10.   lsri8088 dijo

    Hola,

    Muy buen árticulo, se agradece poder leer todo esto en Español 😉

    Una duda: ¿cuando hay que ejecutar «Eliminación de paquetes sin soporte»? ¿antes después del preupgrade?

    Gracias.