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 ;).
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 =)
Gracias 🙂
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
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 ;).
Genial no lo leí todo solo hasta la actualización sí tengo problemas seguiré leyendo.
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
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 ;)-
Vaya!!
Enserio, que bueno que te sirvió el link 😀
Saludos(:
Claro, cualquier aporte es bienvenido, gracias bro ;).
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
Que tal alberto, un gusto, preupgrade actualiza completamente el sistema hasta la ultima actualización disponible :).
Saludos.
Juac!!!
Que pedazo de tuto, por favor….impresionantemente hecho con ganas !
Felicitaciones CAPO !
Mis respetos.-
Que tal FIRPO, muchas gracias por tu comentario :D, un placer tenerte por acá.
Saludos ;).
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.
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.
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.
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
Ok. Gracias por la información.
Esperaré para noviembre el FEDORA 18
De Lujo!.. Probando a ver que tal!.
Gracias!
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.