From Fedora Project Wiki

Esta página contiene información que explica cómo actualizar Fedora usando yum.

Actualización de Fedora utilizando yum directamente

La actualización de la versión sin usar anaconda - tal como el método de yum descrito aquí - ¡no es compatible y no se recomienda!
El método de instalación recomendado es con un medio de arranque con el instalador Anaconda como se detalla en la Guía de instalación o usando PreUpgrade. PreUpgrade es un método de actualización ligeramente diferente en el que todos los paquetes se descargan antes de que el sistema se reinicie en el instalador Anaconda. Aunque la actualización con yum hace el trabajo, no está explícitamente probado como parte del proceso de liberación por el QA de Fedora y no está documentado en la Guía de instalación de Fedora. Si usted no está preparado para resolver los problemas por su cuenta si las cosas se rompen, probablemente tendrá que usar los métodos de instalación recomendados en su lugar.

Al actualizar con yum no se recibe ninguna ayuda de Anaconda, pero con un sistema típico podría ser capaz de actualizar los sistemas de manera remota a través de ssh y con un tiempo de inactividad limitado. (Usted todavía tendrá que reiniciar para obtener el nuevo kernel y el sistema de bibliotecas/servicios que se ejecutan).

Una actualización con yum en vivo por lo general funciona bien con una instalación típica y cuando se siguen los siguientes consejos.

Participar

Si va a actualizar utilizando Yum y esto muestra cualquier problema de dependencias en general, presentelo en http://bugzilla.redhat.com. Pero por favor, lea esta página, todas las páginas de referencias y busque en los archivos de la lista de correo antes de cursar errores. Y por supuesto, ayude a mantener esta página actualizada.

Si desea ayudar a hacer actualizaciones en vivo para trabajar sin problemas, únase al Grupo de interés especial de actualización en vivo.

Instrucciones para actualizar utilizando yum

1. Copia de seguridad de su sistema

Copia de seguridad de los datos personales a un disco duro externo o en otra máquina. Si hay algún error irrecuperable que requiere una instalación nueva, no querrá perder ningún dato.

2. Leer sobre problemas comunes

Más abajo en esta página hay una lista de problemas comunes específicos de las actualizaciones de yum para versiones específicas. Algunos de ellos requieren atención antes de la actualización.

Consejos generales sobre la actualización de Fedora pueden encontrarse en la página Upgrading/es. También debería leer la Guía de instalación y las Notas de la versión para la versión que planea actualizar - contiene información importante con respecto a cuestiones de actualización. Finalmente, compruebe la lista de Errores comunes.

3. Limpiar cosas

Revise y elimine todos los archivos .rpmsave y .rpmnew antes y después de la actualización. (Y si tiene selinux habilitado entonces recuerde verificar el contexto de seguridad si mueve a otra parte los archivos de configuración).

Encontrar archivos de configuración no utilizados
Combinar y resolver los cambios encontrados en el siguiente script: yum install rpmconf; rpmconf -a Ahora buscar y eliminar las antiguas configuraciones que no pertenecen a nadie: find /etc /var -name '*?.rpm?*'

Este es un buen momento para eliminar los paquetes que no usa - especialmente los paquetes no estándar.

Buscar y revisar los paquetes «sin usar»
Puede encontrar paquetes no requeridos por otros paquetes con la herramienta package-cleanup del paquete yum-utils: yum install yum-utils; package-cleanup --leaves. Estos paquetes podrían ser candidatos para la remoción, pero revise para ver si usted los usa directamente o si se utilizan en aplicaciones que no están respaldadas por paquetes rpm. Retirarlos con yum remove package-name-and-version.
Otra herramienta útil para la limpieza de paquetes no utilizados es rpmreaper. Es una aplicación de ncurses que le permite ver el gráfico de dependencias del rpm y marcar los paquetes para su eliminación. Marcando un paquete se puede crear otra rama de paquetes, que se puede ver inmediatamente, por lo que no es necesario ejecutar la herramienta varias veces para deshacerse de todo el sub-árbol de paquetes no utilizados. Instalar con: yum install rpmreaper.
Buscar y examinar paquetes «perdidos»
Usted puede encontrar paquetes huérfanos (es decir, paquetes que ya no están más en los repositorios) con: package-cleanup --orphans. Esto también mostrará los paquetes que han sido parcialmente desinstalados, excepto donde el script «%postun» ha fracasado.

4. Hacer la actualización

Si tiene configurado repositorios de terceros, puede que necesite ajustarlos para la nueva versión de Fedora. Si cambia a menudo de una versión de Fedora a otra no hay nada que deba hacer. Si cambia a Rawhide desde una versión estándar de Fedora (o viceversa), la mayoría de las veces también tendrá que instalar los RPM de liberación de Rawhide desde un repositorio de terceros (o uno estándar, si cambia nuevamente).

Tenga en cuenta que probablemente la actualización falle si hay dependencias obsoletas de los paquetes que no están respaldadas por un repositorio yum o avaladas por un repositorio que no está listo para la nueva versión.

Es una buena idea hacer la actualización fuera del entorno gráfico. Salga de su escritorio gráfico y luego

Ir a una consola de texto

ctrl + alt + F2

(o)

inicie una sesión como root y vaya al nivel de ejecución 3

init 3

Actualizar yum a la última versión disponible en su versión de Fedora

yum update yum

Instalar la nueva llave gpg de fedora para la versión a la que está actualizando

Las llaves se pueden encontrar y verificar en

https://fedoraproject.org/keys

o ver algunas instrucciones para actualizar una versión específica en la parte inferior.

Limpiar el caché

Luego elimine todos los rastros de la versión que usted va dejando desde el caché de yum en /var/cache/yum.

yum clean all

Actualizar todos los paquetes

Una vez que se inicia una actualización en vivo, no detenga la actualización reiniciando, matando el proceso, o por cualquier otro método hasta que se complete. Interrumpir una actualización hará que el sistema afectado pase a estar en un estado mixto -- parcialmente de la versión antigua y parcialmente de la nueva. En este estado, el sistema no será confiable y no funcionará como se espera. Puede intentar ejecutar yum distro-sync y package-cleanup --problems para tratar de solucionar los problemas.
yum --releasever=<release_number_you_want_to_sync_to> distro-sync
Si tiene problemas con alguna dependencia, son suyos y debe solucionarlos manualmente. Si no es capaz de hacerlo, ¡use preupgrade! Muy a menudo es suficiente con quitar algunos paquetes problemáticos. Asegúrese de no eliminar la mitad de su instalación.

Nota: Si bien se recomienda actualizar a las versiones intermedias si actualiza desde una versión anterior (por ejemplo actualizar desde Fedora 12 a 13, luego 13 a 14), dependiendo desde qué versión se está actualizando, este paso puede fallar con un error acerca de las llaves GPG si están en un formato incorrecto. Para superar esto, se puede agregar el modificador «--nogpgcheck» al comando anterior yum distro-sync.

5. Asegúrese de que Fedora está actualizado

Distro-sync generalmente se encargará de las actualizaciones de los repositorios de terceros que usted también tenga habilitados. Confirmar con

 yum repolist 

después de finalizado el proceso de actualización. yum podría sufrir de conflictos o requisitos. Esto será probablemente porque haya utilizado repositorios no estándar o instalado paquetes no estándar manualmente. Tratar de adivinar qué paquetes causan el problema (o al menos una parte de la cadena de dependencias) - desinstalarlos y volver a intentarlo. No olvide instalar los paquetes de nuevo si son esenciales.

Asegúrese de que todos los paquetes (nuevos) esenciales de la nueva versión estén instalados con

yum groupupdate 'Minimal Install'

Puede que desee actualizar también otros grupos, consulte

yum grouplist

Por ejemplo

yum groupupdate "GNOME Desktop" \
  "Development Tools" "Sound and Video" \
  "Games and Entertainment" "Administration Tools" \
  "Office/Productivity" "System Tools"

6. Preparación para el reinicio

Antes de arrancar debería normalmente instalar el gestor de arranque de su nuevo grub ejecutando

/sbin/grub-install UNIDADARRANQUE

- donde UNIDADARRANQUE suele ser /dev/sda (Si se produce un error '/dev/sda does not have any corresponding BIOS drive' de este, entonces intente /sbin/grub-install --recheck /dev/sda). Para Fedora 16 y posterior, use /sbin/grub2-install en lugar de /sbin/grub-install. Véase primero más abajo para obtener información importante sobre la actualización a Fedora 16 desde versiones anteriores.

Asimismo, podría haber cambiado el orden de los scripts de inicio desde la versión anterior. Un comando para restablecer el orden es:

cd /etc/rc.d/init.d; for f in *; do [ -x $f ] && /sbin/chkconfig $f resetpriorities; done

Una vez más, ejecutar package-cleanup --orphans para encontrar los paquetes que no han sido actualizados.

Notas específicas de la versión

Desde la versión previa

Si va a actualizar a una versión final desde una alfa, beta, previa, u otra liberación Rawhide, por favor consulte Actualizar desde un pre-lanzamiento a final.

Para la versión de desarrollo

yum update yum
yum --releasever=rawhide distro-sync --nogpgcheck

Fedora 17 -> Fedora 18

Esto hace referencia a una versión aún no liberada de Fedora. Los pasos de aquí pueden cambiar antes del lanzamiento. Nota: Este método falla en los Macbook Pro, probado en un Macbook Pro edición 2011 final. Leer más
  1. Instalar la nueva llave gpg de Fedora 18: su -c 'rpm --import https://fedoraproject.org/static/DE7F38BD.txt '
  2. Establecer SELinux a modo Permissive: su -c 'setenforce Permissive'
  3. Actualizar todos los paquetes:
    1. su -c 'yum update yum'
    2. su -c 'yum clean all'
    3. su -c 'yum --releasever=18 --disableplugin=presto distro-sync'
  4. Reconstruir la base de datos rpm: su -c 'rpm --rebuilddb', o rpm -qa no funcionará debido a una actualización del rpm
  5. Establecer la distribución del teclado X11:
    1. Obtener la configuración antigua: cat /etc/sysconfig/keyboard
    2. Establecer la nueva configuración: su -c 'localectl set-x11-keymap <layout> [<model>] [<variant>] [<options>]'
    3. Eliminar el archivo de configuración antiguo: su -c 'rm /etc/sysconfig/keyboard'

Si no se utiliza el modo Permissive para la actualización, es posible que observe errores en la salida de yum cuando algunos paquetes intenten crear usuarios o grupos, y después de la actualización es posible que tenga problemas relacionados con estos paquetes, incluyendo dificultades con el registro a través de GDM (es posible que sólo vea un cursor girando) o la realización de acciones que requieran privilegios de administrador. Este es el resultado del bug #844167. Si usted tiene este problema, debe volver a instalar los paquetes afectados con su -c 'yum reinstall (packagenames)', y luego reiniciar el sistema. Los paquetes afectados pueden incluir a libvirt-daemon y polkit: su -c 'yum reinstall libvirt-daemon polkit'

Puede probar con el script fedora-upgrade que automatiza todos estos pasos.

Fedora 16 -> Fedora 17

Hay una advertencia general si no se admite la actualización a través de yum en la parte superior de esta página. Sin embargo, Fedora 17 es muy especial. Usted debería considerar seriamente detenerse ahora y sólo utilizar anaconda a través de DVD o pre-actualización, a diferencia de todas las versiones anteriores, es lo que los desarrolladores de yum/rpm recomiendan. Continúe bajo su propio riesgo.

Primero instalar la nueva llave gpg de Fedora 17

rpm --import https://fedoraproject.org/static/1ACA3465.txt

Fedora 17 ubica todo el sistema operativo base en /usr. Los directorios /bin, /sbin, /lib, /lib64 sólo son enlaces simbólicos:

/bin → /usr/bin
/sbin → /usr/sbin
/lib → /usr/lib
/lib64 → /usr/lib64

Algunas razones de este cambio se describen aquí:

http://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge

Actualmente los sistemas instalados necesitan algunos pasos manuales para convertir el sistema actual y que coincida con el diseño de Fedora 17. Después de eso, el sistema puede continuar siendo actualizado con YUM como de costumbre.

Algunos paquetes RPM en Fedora 17 están llevando a cabo una protección de dependencias de RPM, lo que asegurará que, sólo puedan ser instalados cuando /bin, /sbin, /lib, /lib64 sean enlaces simbólicos y no directorios como en Fedora 16 y posteriores.

La disposición del sistema de archivos base del sistema instalado no puede ser alterado de forma segura, mientras el propio sistema se esté ejecutando en la parte superior del mismo. Dracut, el initramfs utilizado para encontrar y montar el sistema de archivos raíz, puede recibir instrucciones para convertir el sistema de archivos con el fin de satisfacer las expectativas de Fedora 17.

Si su sistema tiene un /usr independiente, un punto de montaje separado, podría hacer que no funcione la lógica de conversión en dracut para montar el /usr. Si el /usr reside en la red, entonces debe agregar «rd.neednet=1» y la configuración de red como «ip=dhcp» en la línea de comandos del kernel. El /usr en iSCSI, FCoE, NBD también es compatible, siempre y cuando «netroot=...» sea especificado en la línea de comandos del kernel para estos discos (ver man dracut.kernel(7)). Si usted tiene un /usr en LVM, MD raid o DM raid, asegúrese de que la línea de comandos del kernel tiene bien todos los ajustes como «rd.lvm.lv=...» para asegurar que el /usr del dispositivo es accesible en dracut o simplemente eliminar todas las restricciones como «rd.lvm...», «rd.md...», «rd.dm...». De cualquier manera, probablemente tendrá que usar anaconda para actualizar, si está teniendo problemas con un /usr separado.

Si tiene /var en una partición separada, deberá convertir manualmente «/var/run» y «/var/lock» en un enlace simbólico.

# mv -f /var/run /var/run.runmove~
# ln -sfn ../run /var/run
# mv -f /var/lock /var/lock.lockmove~
# ln -sfn ../run/lock /var/lock

Estos son los pasos para preparar su sistema, para convertirlo y para poder continuar actualizando su sistema instalado con yum:

Descargar e instalar los paquetes de dracut más recientes:

# yum update dracut

Usted debe tener por lo menos dracut-009-15.fc15 para Fedora 15 o dracut-013-22.fc16 para Fedora 16.

Inhabilitar cualquier configuración de «hostonly» en /etc/dracut.conf*, si ha activado «hostonly».

Actualizar la imagen de initramfs instalada para su kernel actual, e instruir a dracut para que incluya el módulo propio y convierta el sistema de archivos actual:

# dracut --force --add convertfs

Si su sistema tiene un /usr independiente, un punto de montaje separado, y no sabe el parámetro a agregar en la línea de comandos del kernel, también puede probar (dracut tratará de generarlo internamente), pero usted tiene que instalar por lo menos dracut-018.

# dracut -H --force --add convertfs

Si en el arranque dracut detecta a ‘rd.convertfs’ en la línea de comandos del kernel, se inicia la conversión del sistema de archivos del sistema de archivos raíz. Si ya se ha convertido, simplemente no hará nada.

dracut actualiza de forma predeterminada el initramfs para el kernel que se ejecuta actualmente. Asegúrese de que ningún nuevo kernel se ha instalado desde el último arranque y que realmente se iniciará en el initramfs actualizado.

Cambiar directamente el siguiente parámetro de la línea de comandos del kernel en el menú del gestor de arranque, que se muestra durante el arranque, o modificar la línea en /etc/grub*.cfg para eliminar ro y rhgb, y anexar rw rd.info rd.convertfs enforcing=0

Explicación de las opciones:

- remove “ro” (sólo lectura)
- append “rw” (lectura y escritura) para que dracut monte su sistema de archivos raíz con escritura
- remove “rhgb” (arranque gráfico de Red Hat) para deshabilitar la gráfica de la pantalla de arranque
- append “rd.info” para obtener una salida más detallada de dracut
- append “rd.convertfs” para activar el script de conversión de /usr-move en dracut
- append “enforcing=0” para desactivar la ejecución de SELinux

Durante el arranque, dracut ahora convertirá su sistema de archivos, por lo tanto /lib, /lib64, /bin y /sbin deben entonces ser enlaces simbólicos a los directorios correspondientes en /usr.

Después de la conversión, el sistema debe actualizarse inmediatamente a Fedora 17. No los paquetes de Fedora 16 o Fedora 15, o paquetes anteriores de rawhide que ya deben estar instalados. ¡Asegúrese de desactivar los repositorios de Fedora 15 y Fedora 16 en yum!

Para los archivos con nombres en conflicto, que la conversión no pueda resolver, se creará una copia de seguridad de los archivos con el nombre *.usrmove~ residentes en /usr/lib, /usr/lib64, /usr/bin y /usr/sbin.

Compruebe que dracut haya terminado realmente la conversión. Los mensajes de registro, que dracut haya generado durante el arranque, se pueden recuperar con:

# dmesg | grep dracut

Después de una conversión correcta, revertir los cambios realizados en la línea de comandos del kernel en el archivo de configuración del gestor de arranque /etc/grub*.cfg.

A continuación, ejecute

# rm -f /var/lib/rpm/__*
# rpm --rebuilddb
# yum --releasever=17 update rpm
# rm -f /var/lib/rpm/__*
# rpm --rebuilddb
# yum --releasever=17 --disableplugin=presto distro-sync
# fixfiles onboot  

Después de la actualización, todo debe estar ajustado y listo.

Diviértase con su sistema y dígale «Adiós» a /bin, /sbin, /lib, /lib64 y encuéntrese con ellos en /usr.

Fedora 15 -> Fedora 16

Primero instalar la nueva llave gpg de fedora 16. Puede que desee comprobar este paquete contra https://fedoraproject.org/keys y el certificado ssl de fedora.

rpm --import https://fedoraproject.org/static/A82BA4B7.txt

Luego ejecute chkconfig --list y anote los servicios habilitados; tendrá que volver a activarlos con systemctl enable xxxxx.service después de reiniciar el sistema, ya que la configuración de sysvinit no será heredada por systemd. Ver las notas de la versión para obtener más detalles.

Actualizar todos los paquetes con

yum update yum
yum clean all
yum --releasever=16 --disableplugin=presto distro-sync
Cambio de gestor de arranque
Después de la actualización, tendrá los paquetes grub2 y grub-efi instalados y el paquete grub eliminado. Sin embargo, grub seguirá instalado en el MBR y el arranque aún trabajará. Puede seguir las siguientes instrucciones para cambiar a grub2 si usted lo desea. Si está instalado, el paquete firstaidkit-plugin-grub puede impedir la actualización; simplemente quite ese paquete si es el caso.

Si su sistema utiliza una BIOS, o si ha instalado Fedora a través del modo de emulación de BIOS en un sistema con EFI (modo EFI no nativo), puede cambiar al gestor de arranque grub2 soportado por Fedora 16 con las siguientes instrucciones. Si su sistema fue instalado con arranque EFI nativo, no cambie a grub2, ya que el soporte EFI es todavía poco fiable. El gestor de arranque soportado por Fedora 16 para instalaciones con EFI nativas es todavía el grub-legacy, por lo que simplemente debe seguir usando el sistema sin hacer ningún cambio especial en la configuración del gestor de arranque.

Para cambiar a grub2, ejecute el comando su -c '/sbin/grub2-mkconfig -o /boot/grub2/grub.cfg', luego proceder como se describe arriba para volver a instalar el gestor de arranque, pero llame a grub2-install /dev/XXX en lugar de grub-install /dev/XXX.

Cuestiones específicas conocidas de la actualización (para problemas comunes, vea las referencias anteriores):

  • Bug 743022 - F15->F16 yum update fails with IMSM (BIOS) raid

Fedora 14 -> Fedora 15

Primero instalar la nueva llave gpg de fedora 15. Puede que desee comprobar este paquete contra https://fedoraproject.org/keys y el certificado ssl de fedora.

rpm --import https://fedoraproject.org/static/069C8460.txt

Actualizar todos los paquetes con

yum update yum
yum clean all
yum --releasever=15 --disableplugin=presto distro-sync
  • No ejecutar esto desde dentro de una terminal X. Las pruebas muestran que X puede bloquearse al actualizar los paquetes de fuentes de mapa de bits.
  • Existen .drpms, pero no coinciden, debido a un cambio de formato, así que es mejor desactivar el plugin presto agregando la opción «--disableplugin=presto» (sin comillas) al ejecutar yum.
  • El cliente de pantalla de F15 no es capaz de conectarse a las sesiones de pantalla de F14. Por lo tanto, si desea ejecutar la actualización por pantalla, debe actualizar la pantalla en una operación independiente o hacer una copia separada de la pantalla para usar durante todo el proceso.
  • mysql 5.5.20 suministrado con F15 usa InnoDB como motor de almacenamiento por defecto. Después de la actualización, mysqld podría negarse a la puesta en marcha con el error Unknown/unsupported storage engine: InnoDB si se da el argumento skip-innodb en la línea de comandos o en el archivo de configuración /etc/my.cnf. Las soluciones son quitar la línea (InnoDB se ejecutará como motor predeterminado), o añadir la opción default-storage-engine al comando especificando otros motores de almacenamiento.

Actualizaciones del huésped en VirtualBox

Los pasos anteriores funcionan perfectamente para actualizar un huésped de Fedora 14 a Fedora 15, pero también es necesario quitar el Guest Additions. Si se olvida, las actualizaciones de F14 -> F15 parecen fallar tras el primer reinicio. Si eso sucede, inicie una sesión en la consola con CTRL+ALT+F2 y vuelva a instalar el guest additions manualmente:

mount /dev/cdrom /media
# if /dev/cdrom does not exist, try:
# mount /dev/sr0 /media
/bin/sh /media/VBoxLinuxAdditions.run
reboot

Fedora 13 -> Fedora 14

Primero instalar la nueva llave gpg de fedora 14. Puede que desee comprobar este paquete contra https://fedoraproject.org/keys y el certificado ssl de fedora.

rpm --import https://fedoraproject.org/static/97A1071F.txt

Actualizar todos los paquetes con

yum update yum
yum clean all
yum --releasever=14 distro-sync
  • Si utiliza VirtualBox desde el repositorio de Oracle, debe quitar el paquete VirtualBox-3.1 antes de actualizar. Una vez finalizada la actualización, instale VirtualBox-3.2.

Si está ejecutando SELinux es posible que le haya bloqueado la salida de su máquina y deberá arrancar en modo de usuario único para repararla. Redhat bug 702865 describe una solución como:

  1. setenforce 0
  2. yum remove selinux-policy selinux-policy-targeted
  3. rm -rf /etc/selinux/targeted

Si después de la actualización desea volver a selinux:

  1. yum install selinux-policy selinux-policy-targeted
  2. fixfiles restore
  3. reboot

Actualización de Fedoras oficiales en el final del ciclo de vida (EOL)

Actualización con yum desde versiones anteriores
Actualizar desde versiones anteriores de Fedora están archivadas aquí: Upgrading from EOL Fedora using package manager