Actualizando de Ubuntu 14.04 a Ubuntu 18.04

Imagen de actualización de Ubuntu 14.04 a Ubuntu 18.04

Actualizando de Ubuntu 14.04 a Ubuntu 18.04

  • Autor: fjavimartin

  • Fecha de Creación: 05/05/2020

  • Categorías:

    • Ubuntu,
    • Actualización,
    • Ubuntu 14.04,
    • Ubuntu 18.04

Recientemente he tenido que actualizar cuatro máquinas desde ubuntu server 14.04 a ubuntu server 18.04 y he hecho la travesía por el desierto. Comparto en este artículo como superar todas y cada una de los problemas con los que me he encontrado.

1. Pasos previos

Comenzamos en nuestra instalación de Ubuntu 14.04 y lo primero que haremos será actualizar nuestro repositorio:

Comenzamos en nuestra instalación de Ubuntu 14.04 y lo primero que haremos será actualizar nuestro repositorio:

#apt-get update

Actualizamos todos los paquetes:

#apt-get upgrade

Finalizamos la instalación eliminando de manera inteligente todos los paquetes que no sean necesarios:

#apt-get dist-upgrade

Sí, es correcto, podíamos haber utilizado directamente apt-get dist-upgrade para actualizar todos los paquetes y eliminar todo lo que sobre, pero, serán manías de viejo, prefiero ejecutar primero el upgrade y después el dist-upgrade.

Os recuerdo las diferencias entre ambos comandos:

  • apt-get upgrade: Solo actualiza cuando hay un nuevo paquete disponible en la plataforma.
  • apt-get dist-upgrade: Instala o elimina paquetes de manera inteligente comprobando las dependencias de cada uno, actualizando los más importantes en detrimento de los que considera menos importantes.

2. Actualizando de Ubuntu 14.04 a Ubuntu 16.04

Ya tenemos ubuntu actualizado correctamente y vamos con el paso de versión:

#do-release-upgrade

Nos encontramos con la primera posible dificultad:

Can not upgrade 

Your python install is corrupted. Please fix the '/usr/bin/python'
symlink.

Una de las cosas que comprueba este script es que la versión de python a la que apunta el enlace /usr/bin/python es correcta. Para esta versión de ubuntu deberá apuntar a python 2.7 y la forma de resolver este problema es relativamente sencilla:
# cd /usr/bin
# ln -s python2.7 python

Una vez superado este problema deberíamos poder actualizar correctamente a Ubunt 16.04.

3. Actualizando Ubuntu 16.04 a Ubuntu 18.04

Repetimos todos los pasos previos que hicimos con Ubuntu 14.04.

#apt-get update
#apt-get upgrade
#apt-get dist-upgrade

Comenzamos con la actualización:

#do-release-upgrade

El primer error posible es muy parecido al de la anterior actualización:

Can not upgrade 

Your python3 install is corrupted. Please fix the '/usr/bin/python3'
symlink.

Chequearemos el fichero de log que está generando el script de actualización en /var/log/dist-upgrade/main.log y revisaremos los mensajes de error donde es posible que encontremos algo parecido a esto:

2019-09-02 20:58:08,686 DEBUG _pythonSymlinkCheck run
2019-09-02 20:58:08,687 DEBUG python symlink points to: '/etc/alternatives/python', but expected is 'python2.7' or
'/usr/bin/python2.7'
2019-09-02 20:58:08,688 ERROR pythonSymlinkCheck() failed, aborting

Aunque en el error nos menciona el enlace python3 vemos que el error está relacionado con el enlace a python que deberá apuntar a la versión 2.7. Repetiremos los comandos del anterior apartado:

# cd /usr/bin
# ln -s python2.7 python

Para el caso en el que continuemos con el mismo error volveremos a chequear el fichero de log porque seguramente ahora tengamos el problema con el enlace a python3. Seguramente que ahora mismo python3 apunte a la versión 3.5 de python por lo que simplemente podemos cambiarla a la versión 3.4 y funcionará:

# cd /usr/bin
# ln -s python3.4 python

Para el caso en el que no tengamos python 3.4 instalado podemos instalarlo desde un repositorio con los siguientes comandos:

#add-apt-repository ppa:deadsnakes/ppa
#apt-get update
#apt-get install python3.4

Lo que estamos haciendo es añadir el repositorio deadsnakes e instalar el paquete desde allí. Encontraremos información relacionada con el repositorio en https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa. El motivo por el que necesitamos instalar python 3.4 de esta manera es que no hay paquete candidato para esta versión en Ubuntu 16.04 y la otra manera de instalarlo es compilarlo manualmente siguiendo las instrucciones de https://github.com/mhbashari/Install-Python3.4-on-Ubuntu-16.04.

El siguiente error con el que nos podemos encontrar al volver a ejecutar do-release-upgrade es el siguiente:

Traceback (most recent call last):
  File "/usr/bin/do-release-upgrade", line 11, in <module>
    from UpdateManager.Core.MetaRelease import MetaReleaseCore
  File "/usr/lib/python3/dist-packages/UpdateManager/Core/MetaRelease.py", line 25, in <module>
    import apt
  File "/usr/lib/python3/dist-packages/apt/__init__.py", line 23, in <module>
    import apt_pkg
ModuleNotFoundError: No module named 'apt_pkg'

La solución no es complicada, tendremos que renombrar una librería:

/usr/lib/python3/dist-packages# cp apt_pkg.cpython-35m-x86_64-linux-gnu.so apt_pkg.so

En este caso nuestra librería corresponde con la versión 3.5 de python, pero puede corresponder con la versión 3.4 y tendríamos que hacer exactamente lo mismo.

4. Conclusiones

Una vez actualizadas cuatro máquinas a la última versión LTS de Ubuntu os puedo asegurar que podría ganarme la vida haciendo solamente esto.

Os dejo referencias a distintos artículo y si habéis tenido algún error más o podéis aportar alguna solución alternativa podéis dejarla en los comentarios.

Disfrutar!!!!!!

Referencias

https://askubuntu.com/questions/802279/how-to-install-python-3-4-5-from-apt

https://askubuntu.com/questions/1069087/modulenotfounderror-no-module-named-apt-pkg-error

https://github.com/mhbashari/Install-Python3.4-on-Ubuntu-16.04

https://unix.stackexchange.com/questions/410579/change-the-python3-default-version-in-ubuntu

Todos los Derechos Reservados © 2016

Funciona con Drupal