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.