¿Que es FedUp?
FedUp (FEDora UPgrader por sus siglas en Engles) es el nombre del sistema para modernizar Fedora a la siguiente versión se incluye desde la versión de Fedora 18 en adelante. Remplaza todos los métodos recomendados anteriormente (PreUpgrade y DVD) y que se utilizaron en versiones previas. Anaconda, el instalador de Fedora, no tiene la funcionalidad para subir de versión a partir de Fedora 18 o mayor. Esto a sido completamente delegado a FedUp.
Actualmente, FedUp es capas de subir de versión entre todas las versiones soportadas de Fedora usando un repositorio en la Red o una imagen de DVD como fuente de paquetes. Subir de versión de versiones no soportadas puede funcionar, pero no es soportado. Mas metodos de modernización se tienen planeados y esta pagina se actualizara tan pronto como estén disponibles.
¿Que hace FedUp?
El sistema FedUp consite de dos partes - el cliente utilizado para descargar los paquetes y preparar la actualización y el ambiente de pre inicio que realiza la actualización usando systemd y yum. Mas detalles se encuentran disponibles en un articulo escrito por el desarrollador principal de FedUp.
Los archivos son descargados a /var/tmp/system-upgrade (o el directorio expecificado con la variable --cachedir [¿por implementar?]) y sera limpiado automáticamente al finalizar la actualización.
El Cliente de FedUp
El cliente de FedUp ejecuta la actualización del sistema. El recolecta los paquetes necesarios para la actualización y descargas los paquetes requeridos del initramfs y el kernel para realizar la actualización. Hasta el momento, solo la linea de comandos fedup han sido implementados pero la interface grafica se espera en un tiempo.
La Actualizacion
El proceso de actualización se realiza luego que el sistema es reiniciado después de ejecutar el cliente FedUp. El sistemas de archivo es montado durante el inicio, los paquetes han sido pre descargados y algunas tareas de actualización son realizadas. Durante el proceso de actualizacion el tema plymouth es usado el cual tiene un barra de progreso para indicar el avance del proceso de actualización.
La Secuela
Una vez la actualización ha sido completada, FedUp reiniciara el sistema automáticamente. Esto es para que usted pueda correr esta parte del proceso sin atencion y regresar a un sistema actualizado, pero si usted deja alguna medio de inicio durante el proceso de actualizacion, su sitema podria iniciar desde ese medio en lugar del disco duro de su sistema una vez terminado. Si usted deja su sistema actualizando, y al regresar ve el instalador de Fedora o algo similar lo mas probable es que paso eso.
Preguntas Frecuetes
¿Porque mi actualización a Fedora 20 falla (inmediatamente reinicia a la version anterior de Fedora)?
Porque nosotros nos equivocamos, discúlpenos por ello. FedUp 0.7, que era la version estable en los repositorios de Fedora 18 y 19 en el momento de la liberación de Fedora 20, no puede actualizar directamente a Fedora 20. FedUp 0.8, puede hacerlo correctamente sin inconveniente. Usted tiene que usar FedUp 0.8 para actualizar a Fedora 20. Si usted se esta actualizando desde Fedora 18, require pasar este parametro --nogpgcheck. Ver la pagina de los errores comunes de Fedora para mas información.
¿Como reporto los inconvenientesHow que encuentre en las actualizaciones?
Primero vea Common F19 bugs o Common F20 bugs para verificar que el problema no se encuentre allí o sea un problema conocido. Si no se encuentra allí, el componente para reportar el problema exacto depende del problema que se encontro:
Inconvenientes con la preparación de la actualización
Si usted encuentra problemas despues de la preparación de la actualización y el arranque inicial, search o someta un reporte de error contra fedup-dracut
usando la versión a la cual usted desea actualizarse to.
Detalles después de la Actualización
Si usted encuentra detalles después de la actualización de un paquete especifico, someta un reporte de bug en contra del paquete con el que tiene problemas.
¿Como depurar problemas durante la Actualización?How do I Debug Issues During Upgrade?
Una guía de depuración y solución de problemas sera escrita en algún momento y ligada aquí
¿FedUp verifica el software que ejecuta e instala durante la actualización?
A partir de la versión 0.8, lo realiza por defecto. Las llaves de firma de los paquetes para una nueva versión de Fedora son enviados al las versiones anteriores de Fedora para permitir que FedUp verifique la integridad de los paquetes que descarga. Usted puede deshabilitar esta función con el parámetro --nogpgcheck si usted necesita realizar esto por alguna razon.
¿Los paquetes de los repositorios de terceros se actualizaran?
Si, siempre que se configuren como repositorios yum normales y que la ruta del repositorio no tenga una ruta fija. Los repositorios de terceros usados comúnmente trabajan bien, pero si usted intenta actualizar antes de o inmediatamente antes de la liberación de Fedora, puede ser que no se encuentre rutas para esos repositorios todavía, por lo que FedUp puede que no encuentre los paquetes de ese repositorio. Esto no necesariamente previene que la actualización se ejecute exitosamente, usted puede actualizar los paquetes de terceros después.
¿Puedo utilizar FedUp para actualizar a las versiones pre liberación (ej. beta)?
Si, luego que la rama de la nueva versión ha sido creada, es posible actualizar a esa versión usando FedUp. Tambien puede trabajar con las versiones Alfa y Beta. Claro, estas versiones estan sujetas a rompimientos temporales como cualquier aspecto de las versiones previas.
Ver enviar un correo a la lista de desarrollo para mas detalles.
¿Como puedo actualizar mi systema con FedUp?
Como se menciono anteriormente, hay tres partes para la actualización con FedUp - preparación, ejecución y limpieza.
Antes de que empiece a realizar algo, asegúrese de ver Common F20 bugs#Upgrade_issues y lea los errores mas comunes.
Cambios Importantes en el Proceso de Actualización a Fedora 21
Aparentemente existira una nueva opción "--product=<PRODUCT>" y antes de la actualización se requiere que escoja una de las posibilidades. Para obtener el comportamiento anterior se debe usar --product=nonproduct/
Aquí una explicación dada en el código fuente de fedup (https://github.com/wgwoods/fedup/blob/master/fedup/commandline.py):
Esta instalación de Fedora no pertenece a un producto, por lo que usted tiene que proporcionar la opción --product=PRODUCTNAME para especificar que producto desea actualizar a. PRODUCTNAME debe ser uno de: workstation: el escritorio por defecto de Fedora para ser usado en computadores de escritorio o computadores portátiles, impulsado por GNOME. server: la experiencia por defecto para servidores de Fedora cloud: una imagen básica para las nubes publicas y privadas nonproduct: escoger una si ninguna de las anteriores aplica en particular, Escoja esta si usted esta utilizando un escritorio alternativo de Fedora Seleccionar un producto tambien instalara los paquetes estándares seleccionados ademas de actualizar los paquetes existentes en el sistema. Si usted prefiere mantener los paquetes actuales, selecione 'nonproduct'
Preparandoce para la actualizarión
- Realice una actualización del sistema y reinicie para asegurarse que todos los cambios en el núcleo estén corriendo
- Instalar
fedup
- Usualmente, es mejor intentar primero con la ultima versión de fedup disponible en el repositorio estable de la versión que este corriendo. Si usted encuentra problemas con la actualización, y una versión nueva de fedup esta disponible en el repositorio de updates-testing de su versión actual, puede intentar con esta nueva versión:
yum --enablerepo=updates-testing install fedup
en la linea de comandos)
Existen tres opciones de fuentes de paquetes necesarios para la actualización - usando un repositorio desde la red. una ISO local o dispositivo local (disco duro, disco óptico, etc)
Red
Usar una fuente de red es el método mas sencillo de actualización y solicitara las actualizaciones durante la mejora - eliminando los detalles potenciales si su sistema tiene una nueva versión del núcleo que la versión de Fedora a la que esta actualizando.
- Inicie la preparación de la actualización ejecutando los siguientes comandos
sudo yum update fedup fedora-release
sudo fedup --network 20
- Cuando las preparaciones estén completas, vea el archivo
/var/log/fedup.log
por si algun error se muestra en la salida defedup
ISO File
In order to use an ISO file, it needs to exist locally on the filesystem of the system to be upgraded. The documentation is written as if that file is /home/user/fedora-20.iso but you will need to replace all instances of that path with the actual path of the ISO. Updates will be pulled in if you have network access on the machine to be upgraded.
- Download the Fedora 41 ISO appropriate for the arch that you are running
- For the sake of example, we will assume that the ISO exists at
/home/user/fedora-20.iso
but it can be anywhere in the filesystem as long as you alter the path below to reflect the actual location of the ISO. Make sure you have downloaded Fedora DVD ISO image otherwise you will get an error "The given ISO probably isn't an install DVD image" when runfedup-cli
command.
- For the sake of example, we will assume that the ISO exists at
- Start the upgrade prep by executing the following command
sudo fedup-cli --iso /home/user/fedora-20.iso
- Once the preparations have completed, check the
/var/log/fedup.log
file if any errors show up in the output fromfedup-cli
Other Device
Optical drives and other mountable storage can also be used as a package source for upgrade preparations.
- Mount the source material
- For the sake of example, we will assume that this source is mounted at
/mnt/fedora
but you can mount it anywhere as long as you replace/mnt/fedora
in the command below with the actual mounted location of the upgrade source.
- For the sake of example, we will assume that this source is mounted at
- Start the upgrade preparations by executing the following command
sudo fedup-cli --device /mnt/fedora --debuglog=fedupdebug.log
- Once the preparations have completed, check the
fedupdebug.log
file if any errors show up in the output fromfedup-cli
Executing the Upgrade
- Reboot the system if
fedup
has completed without error. - Once the system reboots, there should be a new entry in the GRUB menu titled
System Upgrade
.- If you add
rd.upgrade.debugshell
boot argument, you will get a login shell on VT2, allowing you to tinker with the system in case something goes wrong
- If you add
- Select the
System Upgrade
option from the GRUB menu- Remark: If the
System Upgrade
item is not shown in the grublist at boot, it is most often caused by having a different grub, most often installed by another Linux distribution you may have in multiboot. To correct this quickly: reinstall grub:- grub2-mkconfig -o /boot/grub2/grub.cfg
- grub2-install /dev/sda (replace /dev/sda by any other device you prefer to boot from)
- Remark: If the
- The system should boot into the upgrade process and a plymouth boot screen should be displayed
- Press 'esc' to see a more detailed log. If you switch back to the graphical progress indicator, it will show 0% for the remainder of the upgrade but that does not mean the upgrade has stopped.
- Once the upgrade process has completed, the system will reboot and an option to boot Fedora 41 will be on the grub menu
Cleaning Up Post Upgrade
It is worth rebuilding the RPM DB to prevent RPMDB checksum error when doing a distribution sync:
sudo rpm --rebuilddb
There are a collection of post-upgrade things to do. Some of which are fixed by doing a distro sync:
sudo yum distro-sync --setopt=deltarpm=0
If you are using google-chrome from the Google repository, you must re-install google-chrome due to a packaging bug on the Google side of things. Make sure to adjust the command to the build type you would like to install:
sudo yum remove google-chrome-\* && sudo yum install google-chrome-[beta,stable,unstable]
Docs TODO
- Write fedup troubleshooting and debug guide
- add note about blob drivers if needed