Actualizando Fedora 20 a Fedora 26

Hace tiempo trabaje con una maquina la cual tenia instalado Fedora 20 (Heisenbug), aun recuerdo que eran los días de las peleas por Systemd y que ya comenzabas usar DNF en lugar de YUM.

A la fecha de hoy Seth Vidal, el creador de YUM, esta muerto, muchas gracias por esta pieza clave en una de mis distribuciones favoritas de GNU/Linux.

Por cosas del destino hoy me toca darle una actualización a esta maquina, en mi trabajo actual tengo una con capacidades similares, pero utiliza Windows y puedo ver como el rendimiento en GNU/Linux es muy superior, esta cosa vuela.

Primero que nada siempre hago mi respaldo con Deja dup, aunque sea en el mismo disco duro, los datos se mantienen a salvo, si algo pasa una distro Live puede entrar al rescate.

Un problema que se me presento es que tenia la partición root llena por una base de datos de MySQL, hice un respaldo y borre las bases de datos, pero el espacio en el disco duro no regreso :( .

La solución fue básicamente, parar el servidor de Mysql y borrar algunos ficheros.

 sudo systemctl stop mysql
 sudo rm /var/lib/mysql/ibdata1 
 sudo rm /var/lib/mysql/ib_logfile
 sudo rm /var/lib/mysql/ib_logfile0 
 sudo rm /var/lib/mysql/ib_logfile1 
 sudo systemctl start mysql

https://stackoverflow.com/questions/3456159/how-to-shrink-purge-ibdata1-file-in-mysql/3456885#3456885

¡Espacio en el disco recuperado!

El segundo problema es que para hacer una actualización de Fedora siempre se tiene que revisar que todos los paquetes estén actualizados, cosa que no podía realizar ya que me pedía actualizar MySQL por MariaDB y yo no quería hacerlo.

Intente bloquear el paquete con package lock pero no me funciono , me lo seguía marcando y no me dejaba avanzar, afortunadamente la solución esta en la guiá de actualización de Mysql a mariadb.

Entras como súper usuario y excluyes todos los paquetes de mariadb de las actualizaciones con el siguiente comando.

echo "exclude=mariadb*" >> /etc/yum.conf

https://fedoraproject.org/wiki/Features/ReplaceMySQLwithMariaDB

El tercer problema es que no es posible actualizar Fedora a su ultima versión, así como así, se debe pasar por Fedora 20 --> 21 --> 22 --> 23 --> 24 --> 25 --> 26 , gracias a Redhat por mantener los repositorios vivos de Fedora 20 y compañía.

Manos a la obra

La guiá de instalación de fedora nos dice que se tiene que tener todo actualizado, ya cumplido, hacer un backup, también ya cumplido y ahora solo toca correr los comandos para instalar Fedup, creo que ya cambio de nombre.

sudo yum install fedup 

Rezamos a java.lang.Object y ejecutamos

sudo fedup --network 21 --product=workstation

Ya solo queda reiniciar y esperar

Una ultima advertencia de MySQL y antes de irnos una captura de pantalla de Firefox 38.

Después de reiniciar en el grub apareció una opción con el nombre de Fedup, al seleccionarla se comienza la actualización del sistema.

Todo parecía bien pero al momento de iniciar sesión solo se quedo allí y tuve que entrar por las terminales CTRL + ALT F2 y me di cuenta que algunos paquetes no se habían actualizado por la culpa de MySQL, así que lo tuve que des-instalar y despues dar un yum update seguido de un yum dist-synch

Y listo ya estamos en Fedora 21

Sigue el 22

Nos apoyaremos en la guiá de actualización.

https://fedoramagazine.org/upgrade-fedora-21-fedora-22/

Nos dice es que el primer comando a ejecutar es

sudo dnf update

Y aquí otro problema

Traceback (most recent call last):
  File "/bin/dnf", line 36, in <module>
    main.user_main(sys.argv[1:], exit_code=True)
  File "/usr/lib/python2.7/site-packages/dnf/cli/main.py", line 185, in user_main
    errcode = main(args)
  File "/usr/lib/python2.7/site-packages/dnf/cli/main.py", line 84, in main
    return _main(base, args)
  File "/usr/lib/python2.7/site-packages/dnf/cli/main.py", line 115, in _main
    cli.configure(map(ucd, args))
  File "/usr/lib/python2.7/site-packages/dnf/cli/cli.py", line 981, in configure
    self.optparser.usage = self.optparser.get_usage()
  File "/usr/lib/python2.7/site-packages/dnf/cli/option_parser.py", line 255, in get_usage
    usage += "%-25s %s\n" % (name, summary)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 40: ordinal not in range(128)

Parece que algo no le gusta y la solución que nos dan es cambiar el nombre a un archivo que se encuentra en la ruta /usr/share/locale/es/LC_MESSAGES/dnf-plugin-system-upgrade.mo, así que solo hay que renombrarlo

sudo mv /usr/share/locale/es/LC_MESSAGES/dnf-plugin-system-upgrade.mo /usr/share/locale/es/LC_MESSAGES/dnf-plugin-system-upgrade.mo.backup

Aquí la fuente

https://ask.fedoraproject.org/es/question/75573/como-solucionar-este-error-solucionado/

Después de tener esto solucionado ahora toca de nuevo instalar Fedup

sudo dnf install fedup

Y de nuevo otro error que se soluciona, des-instalando y reinstalando Fedup

sudo dnf remove fedup
sudo dnf install fedup

Ejecutamos el comando definitivo para la actualización.

sudo fedup --network 22

Ahora solo tengo que reiniciar.

Actualizar a Fedora 23

Ya vamos casi a la mitad del camino, ahora sigue la guiá del 22 al 23.

https://fedoramagazine.org/upgrading-from-fedora-22-to-fedora-23/

Se debe actualizar los paquetes con el siguiente comando, parece que tenemos variación en DNF.

sudo dnf upgrade

También podemos observar que Fedup como tal ya no se recomienda por el siguiente comando

sudo dnf install dnf-plugin-system-upgrade

sudo dnf system-upgrade download --releasever=23

sudo dnf system-upgrade reboot

Mientras corre el primer comando puedo curiosear un poco y darme cuenta del gran salto de versiones de Firefox

Al reiniciar tenemos un Fedora 23 sin problemas, ni sorpresas, todo bien, aunque creo que el proceso de actualización fue un poco mas tardado.

Vamos por la 24

Como siempre tenemos nuestra confiable guiá de Fedora Magazine

https://fedoramagazine.org/upgrading-fedora-23-workstation-to-fedora-24/

En el comando que ejecutamos encontramos mas sorpresas, ya no tenemos un update , ahora es un upgrade acompañado por un novedoso Flag.

sudo dnf upgrade --refresh

sudo dnf install dnf-plugin-system-upgrade

sudo dnf system-upgrade download --releasever=24

Solo el ultimo comando era necesario.

Después del reinicio y de dejar que pasara un tiempo para que se completara la actualización, todo quedo como debería ser y ahora tenemos un Fedora 24 sin ningún problema.

Parece ser que los desarrolladores de esta distribución se han lucido en estos últimos lanzamientos.

Vamos por el 25, ¿ mejor por el 26 ?

Igual que anteriores versiones de Fedora, buscamos la guiá de actualización la cual tiene fecha del 22 de noviembre del 2016 y nos tiene una bonita sorpresa, la recomendación ahora es utiliza Gnome Software.

Adiós a la terminal, aunque tenemos esa opción si queremos, pero hagamos caso a la recomendación.

Al abrir Software debemos dar clic a actualizaciones y esperar a que cargue este apartado, tengamos paciencia.

Después de un momento nos muestra lo siguiente, no se que pensar, ¿Fedora 24 a Fedora 26?.

Leer este hilo me calmo un poco y parece ser que es posible, asi que vamos a por Gnome 3.24.

https://forums.fedoraforum.org/showthread.php?t=314992

Después de un rato, parece que sigue el punto decisivo.

Nos pide reiniciar y solo es necesario armarnos de paciencia y listo.

Fedora 26 desde la versión 24.

Conclusión

Hemos visto como pasar desde fedora 20 a Fedora 26, solo las primeras 2 actualizaciones nos causaron algunos problemas, pero nada que no se pudiera resolver con algo de Google.

Las guías de fedora magazine son excelentes y se puede ver como la gente de Gnome, paso de actualizaciones con base a comandos de terminal hasta una interfaz de usuario que a punta de unos cuantos clics es posible actualizar desde Fedora 24 a 26, sin pasar por 25, un muy gran detalle, no por nada es mi distribución favorita, quizá ahora Fedora con esta madurez pase o tenga una versión Rolling Release, como en la que me encuentro ahora.

Listo para trabajar con Gnome 3.24

La funcionalidad de Luz nocturna es algo que me gusta mucho y que mis ojos agradecen, aunque se puede lograr con F.lux o con Redshift(este mas antiguo) es un gran punto tenerlo Out of the box, no se si KDE lo tenga también, pero es una idea que pueden copiar.