Esta página contiene información que explica cómo actualizar Fedora usando yum
.
Actualización de Fedora utilizando yum directamente
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).
Este es un buen momento para eliminar los paquetes que no usa - especialmente los paquetes no estándar.
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
yum --releasever=<release_number_you_want_to_sync_to> distro-sync
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
- Instalar la nueva llave gpg de Fedora 18:
su -c 'rpm --import https://fedoraproject.org/static/DE7F38BD.txt '
- Establecer SELinux a modo Permissive:
su -c 'setenforce Permissive'
- Actualizar todos los paquetes:
su -c 'yum update yum'
su -c 'yum clean all'
su -c 'yum --releasever=18 --disableplugin=presto distro-sync'
- Reconstruir la base de datos rpm:
su -c 'rpm --rebuilddb'
, o rpm -qa no funcionará debido a una actualización del rpm - Establecer la distribución del teclado X11:
- Obtener la configuración antigua:
cat /etc/sysconfig/keyboard
- Establecer la nueva configuración:
su -c 'localectl set-x11-keymap <layout> [<model>] [<variant>] [<options>]'
- Eliminar el archivo de configuración antiguo:
su -c 'rm /etc/sysconfig/keyboard'
- Obtener la configuración antigua:
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'
Fedora 16 -> Fedora 17
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.
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
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 depantalla
de F14. Por lo tanto, si desea ejecutar la actualización porpantalla
, debe actualizar lapantalla
en una operación independiente o hacer una copia separada de lapantalla
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:
setenforce 0
yum remove selinux-policy selinux-policy-targeted
rm -rf /etc/selinux/targeted
Si después de la actualización desea volver a selinux:
yum install selinux-policy selinux-policy-targeted
fixfiles restore
reboot