Actualizando Fedora con PreUpgrade
De ProyectoFedora
Contenido |
Introducción
PreUpgrade (http://fedoraproject.org/wiki/Features/PreUpgrade) es una aplicación GUI que permite de una manera fácil actualizar Fedora entre versiones recientes sin necesidad de quemar CDs o DVDs. La nueva aplicación se llama Preupgrade http://fedoraproject.org/wiki/Features/PreUpgrade. Antes de actualizar es recomendable hacer un backup de los datos importantes de nuestro sistema.
Instalación
Simple como de costumbre, mostramos la instalación en la línea de comandos con yum, puede igualmente utilizar las herramientas gráficas.
$ su - # Password: # yum install preupgrade ... Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: preupgrade noarch 1.0.0-1.fc9 updates-newkey 87 k Installing for dependencies: anaconda-yum-plugins noarch 1.0-1.fc9 updates-newkey 11 k createrepo noarch 0.9.5-2.fc9 fedora 62 k Transaction Summary ================================================================================ Install 3 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 160 k Is this ok [y/N]: y
Uso
Antes de ejecutar PreUpgrade es recomendable tener actualizado el sistema con las últimas versiones:
# yum update ...
Ejecutamos preupgrade, si no tiene privilegios de superusuario, el sistema le pedirá la contraseña de root:
$ preupgrade
Abajo mostraremos la secuencia gráfica de ventanas que se van desplegando en el proceso de migrar de Fedora 9 a Fedora 10:
Esta primera ventana es informativa, después de leer podemos continuar haciendo clic en el botón Forward.
En esta ventana podremos escoger a cual versión queremos llevar nuestro sistema, en nuestro escenario, Fedora 10 (Cambdrige) y luego presionar el botón Apply para pasar a la siguiente etapa del proceso.
En esta etapa del proceso se realizarán las descargas necesarias para llevar a cabo la migración a la versión deseada, obviamente hay que tener paciencia para que esta etapa termine. Se incluye el análisis de dependencias para determinar qué paquetes bajar y cuales no, esto además es un ahorro de tiempo y ancho de banda ya que sólo se descargará lo requerido y no toda la distribución. También deberá considerar que necesita espacio suficiente en su disco para realizar las descargas, considere 3GBs como un buen tope de seguridad.
Una vez finalizada la actualización reiniciamos y listo presionando el botón correspondiente en la ventana siguiente, no sin antes salvar cualquier trabajo que estemos haciendo para no perder datos. Esto provocará el reinicio del sistema para la culminación de la actualización a la nueva versión de Fedora.
PreUpgrade CLI
preguprade-cli es el equivalente preupgrade en consola pero tiene alternativas avanzadas como que se puede realizar preupgrade sin monitor remotamente con preupgrade-cli --vnc=VNCPASSWORD. Vea preupgrade-cli --help para más información.
# preupgrade-cli "Fedora 10 (Cambridge)"
Abajo un pantallazo de parte del mismo proceso pero en consola.
Respuestas a preguntas comunes
¿Cómo detectar los problemas de dependencias?
Al ejecutar desde consola preupgrade, cuando se resuelven las dependencias, podemos ver cuáles tienen "problemas":
gstreamer-plugins-bad-0.10.7-4.fc9.i386 from installed has depsolving problems --> Missing Dependency: libdirectfb-1.0.so.0 is needed by package gstreamer-plugins-bad-0.10.7-4.fc9.i386 (installed) xine-0.99.5-4.fc9.i386 from installed has depsolving problems --> Missing Dependency: libcucul.so.0 is needed by package xine-0.99.5-4.fc9.i386 (installed) gstreamer-plugins-bad-0.10.7-4.fc9.i386 from installed has depsolving problems --> Missing Dependency: libfusion-1.0.so.0 is needed by package gstreamer-plugins-bad-0.10.7-4.fc9.i386 (installed) audacity-1.3.5-0.7.beta.fc9.i386 from installed has depsolving problems --> Missing Dependency: libvamp-hostsdk.so.2.0.0 is needed by package audacity-1.3.5-0.7.beta.fc9.i386 (installed) gstreamer-plugins-bad-0.10.7-4.fc9.i386 from installed has depsolving problems --> Missing Dependency: libdirect-1.0.so.0 is needed by package gstreamer-plugins-bad-0.10.7-4.fc9.i386 (installed) 6:kdebase-4.1.3-2.fc9.i386 from installed has depsolving problems --> Missing Dependency: libraw1394.so.8 is needed by package 6:kdebase-4.1.3-2.fc9.i386 (installed) gstreamer-plugins-bad-0.10.7-4.fc9.i386 from installed has depsolving problems --> Missing Dependency: libdirectfb-1.0.so.0 is needed by package gstreamer-plugins-bad-0.10.7-4.fc9.i386 (installed) xine-0.99.5-4.fc9.i386 from installed has depsolving problems --> Missing Dependency: libcucul.so.0 is needed by package xine-0.99.5-4.fc9.i386 (installed) gstreamer-plugins-bad-0.10.7-4.fc9.i386 from installed has depsolving problems --> Missing Dependency: libfusion-1.0.so.0 is needed by package gstreamer-plugins-bad-0.10.7-4.fc9.i386 (installed) audacity-1.3.5-0.7.beta.fc9.i386 from installed has depsolving problems --> Missing Dependency: libvamp-hostsdk.so.2.0.0 is needed by package audacity-1.3.5-0.7.beta.fc9.i386 (installed) gstreamer-plugins-bad-0.10.7-4.fc9.i386 from installed has depsolving problems --> Missing Dependency: libdirect-1.0.so.0 is needed by package gstreamer-plugins-bad-0.10.7-4.fc9.i386 (installed) 6:kdebase-4.1.3-2.fc9.i386 from installed has depsolving problems --> Missing Dependency: libraw1394.so.8 is needed by package 6:kdebase-4.1.3-2.fc9.i386 (installed)
En general la mayoría de estos problemas desaparecen al iniciar nuestra máquina y hacer una actualización e incoporando así los paquetes de terceros, como de rpmfusion que no fueron incluidos en el pregupgrade.
kernels previos
Una pregunta a responder es si los kernel previos se "eliminan" y/o se pueden usar con Fedora "n" el kernel "x" de la versión Fedora "n-1". La respuesta es no, los kernels previos de la distro previa son removidos, así que tome precauciones en cuanto al soporte de hardware para su sistema antes de realizar la actualización a la nueva versión de Fedora.
Al menos el grub.conf antes de la migración definitiva sigue teniendo los kernels previos que significa que podemos seguir iniciando el sistema con nuestra versión actual de la distro hasta que deseemos completar la actualización.
title Upgrade to Fedora 10 (Cambridge)
kernel /upgrade/vmlinuz preupgrade repo=hd:UUID=05ea075d-3b5b-49a2-80ab-ade6e99a1f1f:/var/cache/yum/preupgrade stage2=hd:UUID=8f710af7-02f4-4d4c-a303-bec8db00bff4:/upgrade/install.img ks=hd:UUID=8f710af7-02f4-4d4c-a303-bec8db00bff4:/upgrade/ks.cfg
initrd /upgrade/initrd.img
title Fedora (2.6.27.5-41.fc9.i686)
root (hd0,0)
kernel /vmlinuz-2.6.27.5-41.fc9.i686 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.27.5-41.fc9.i686.img
...
¿Puedo no migrar después de todo?
Al teminar el proceso de descargas y preparación para la actualización, cuando reiniciemos tendremos una entrada más en nuestro grub que nos permitirá actualizar nuestro Fedora, pero, y si no quiero después de todo (aún) migrar, qué pasa, ¿sigue funcional mi Fedora 9 por ejemplo?
Al reiniciar realmente "no hay tiempo" para escoger el kernel que queremos así que debe tomar previsiones y editar grub.conf antes de reiniciar y garantizarse de cuál kernel poner como por omisión o de dar tiempo para escoger.
En realidad el proceso de migración ocurre después del reinicio, no antes, por algo se llama "preupgrade".
¿Qué puertos tcp/ip debo tener abiertos?
PreUpgrade utiliza la lista de espejos de Fedora descargada en /var/cache/yum/preupgrade-install-images.
# cd /var/cache/yum/preupgrade-install-images # head mirrorlist.txt # path = pub/fedora/linux/releases/10/Fedora/i386/os country = BR country = CL country = global http://fedora.c3sl.ufpr.br/linux/releases/10/Fedora/i386/os ftp://ftp.telmexchile.cl/pub/fedora/linux/releases/10/Fedora/i386/os http://fedora.univ-nantes.fr/fedora.redhat.com/fedora/linux/releases/10/Fedora/i386/os http://mirrors.kernel.org/fedora/releases/10/Fedora/i386/os http://ftp.twaren.net/Linux/Fedora/linux/releases/10/Fedora/i386/os ftp://alviss.et.tudelft.nl/pub/fedora/linux/releases/10/Fedora/i386/os http://www.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/releases/10/Fedora/i386/os http://fedora.tu-chemnitz.de/pub/linux/fedora/linux/releases/10/Fedora/i386/os ftp://ftp.free.fr/mirrors/fedora.redhat.com/fedora/linux/releases/10/Fedora/i386/os
En resumen, http (tcp/80) y ftp (20/tcp, 21/tcp*) deben estar permitidos como conexiones salientes para poder realizar las descargas correspondientes. Con uno es suficiente, http o ftp.
¿Qué modifica PreUpgrade?
preupgrade modifica datos en 3 sitios:
/var/cache/yum/preupgrade* /boot/upgrade /etc/grub.conf
¿Dónde están los RPMs descargados?
Los RPMs descargados están en /var/cache/yum/preupgrade/packages
# cd /var/cache/yum/preupgrade/packages # ls -l | head total 609604 -rw-r--r-- 1 root root 1355092 2008-11-30 09:00 a2ps-4.14-6.fc10.i386.rpm -rw-r--r-- 1 root root 67746 2008-10-30 16:41 aalib-libs-1.4.0-0.16.rc5.fc10.i386.rpm -rw-r--r-- 1 root root 76760 2008-10-30 16:42 acl-2.2.47-3.fc10.i386.rpm -rw-r--r-- 1 root root 17784 2008-10-30 16:42 acpi-0.09-4.fc10.i386.rpm -rw-r--r-- 1 root root 34925 2008-11-11 20:06 acpid-1.0.6-9.fc10.i386.rpm -rw-r--r-- 1 root root 486648 2008-11-30 08:42 akonadi-1.0.0-4.fc10.i386.rpm -rw-r--r-- 1 root root 128700 2008-10-30 16:44 alacarte-0.11.6-4.fc10.noarch.rpm -rw-r--r-- 1 root root 420433 2008-11-30 08:41 alsa-lib-1.0.18-6.rc3.fc10.i386.rpm -rw-r--r-- 1 root root 1020035 2008-11-30 08:53 alsa-lib-devel-1.0.18-6.rc3.fc10.i386.rpm
¿Puedo agregar SW durante la migración?
¡ Esto me parece es un problema ya que si es posible durante la descarga del sw instalar nuevos paquetes ! Alerta con esto ya que dichos paquetes no serán "instalados" automáticamente en la nueva versión.
Problemas Post Migración
Tengo Muchos Paquetes F9 Instalados
Síntoma, después de migrar F9 -> F10 con preupgrade, aún persisten muchos paquetes antiguos (F9). Usualmente podríamos habernos alertado por ver:
$ rpm -qa | grep fc9 | tail kdebase-workspace-libs-4.1.3-6.fc9.i386 xorg-x11-drv-palmax-1.2.0-1.fc9.i386 xorg-x11-drv-fbdev-0.3.1-7.fc9.i386 gnome-user-docs-2.22.1-1.fc9.noarch python-numeric-24.2-11.fc9.i386 qimageblitz-0.0.4-0.4.svn706674.fc9.i386 childsplay_plugins-0.90-3.fc9.noarch tvtime-1.0.2-2.fc9.i386 gift-gnutella-0.0.11-5.fc9.i386 gstreamer-plugins-ugly-0.10.8-2.fc9.i386
Intentamos luego actualizar para salir de dudas y el "problema" continua.
# yum update ... # rpm -qa | grep fc9 | wc -l 205
Más aún, YUM no parece "quejarse" de su base de datos.
# package-cleanup --problems Setting up yum Loaded plugins: fastestmirror, refresh-packagekit Loading mirror speeds from cached hostfile Reading local RPM database Processing all local requires No problems found # package-cleanup --cleandupes Setting up yum Loaded plugins: fastestmirror, refresh-packagekit Loading mirror speeds from cached hostfile No dupes to clean
En realidad no hay ningún problema, solamente usted está asumiendo que el nombre fc9 implica que es "antiguo" y no es cierto, en los repositorios de F10 hay muchos paquetes que mantienen en su nombre fc9. Esto no es un problema más allá de la confusión que pueda generar.
Repositorios F9 Habilitados
Al iniciar F10 persisten los repositorios Fedora 9 habilitados, deshabilite por el método preferido, vea YUM/Guía_General_de_Uso. Igualmente nos ha dejado las nuevas configuraciones con la extensión .rpmnew. En este wiki hemos deshabilitado simplemente moviendo los archivos habilitados con el sufijo .old y que de esta forma yum no los toma en cuenta.
[root@fricky yum.repos.d]# ls -l fedora* -rw-r--r-- 1 root root 195 2008-07-01 12:05 fedora-dvd.repo -rw-r--r-- 1 root root 1962 2008-11-06 15:36 fedora-rawhide.repo -rw-r--r-- 1 root root 1043 2008-11-30 15:53 fedora.repo -rw-r--r-- 1 root root 1090 2008-09-08 15:16 fedora.repo.rpmnew -rw-r--r-- 1 root root 1216 2008-11-27 00:10 fedora-updates-newkey.repo.rpmsave -rw-r--r-- 1 root root 953 2008-11-30 15:53 fedora-updates.repo -rw-r--r-- 1 root root 1108 2008-09-08 15:16 fedora-updates.repo.rpmnew -rw-r--r-- 1 root root 1181 2008-11-06 15:36 fedora-updates-testing.repo
# mv fedora.repo fedora.repo.old # mv fedora.repo.rpmnew fedora.repo # mv fedora-updates.repo fedora-updates.repo.old # mv fedora-updates.repo.rpmnew fedora-updates.repo
Ya que hemos instalado sin DVD u otro medio físico, es posible que tenga configurado el repositorio fedora-dvd.repo. Aun no he instalado, corrija si me equivoco, pero solo debe editar esta configuración (/etc/yum.repos.d/fedora-dvd.repo) con el siguiente contenido.
Contenido antiguo:
[fedora-dvd] name=Fedora 9 DVD - i386 failovermethod=priority baseurl=file:///media/FC9 enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY
Nuevo contenido:
[fedora-dvd] name=Fedora 10 DVD - i386 failovermethod=priority baseurl=file:///media/FC10 enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY
No todo está actualizado
Después de preupgrade F9->F10, aún faltan paquetes por actualizar. En general esto es normal, Fedora se "mueve" rápido y preupgrade no utiliza los repos "updates" para la instalalación, en el caso de paquetes de repositorios no oficiales es esperable que no séa así ya que al entender del autor no incorporan dichos paquetes en el preupgrade. Verifique sus repositorios habilitados y actualice. Para Nov 30 me toca actualizar 91 paquetes con 210 Megs de peso incluyendo uno que otro paquete de rpmfusion pero la mayoría está en Fedora.





