Solución a posibles errores que se producen al ejecutar el comando yum (el instalador de paquetes de Linux CentOS). Solución al error: File «/usr/bin/yum», line 30 except KeyboardInterrupt, e: SyntaxError: invalid syntax, al intentar instalar paquetes con yum en Linux CentOS. Mostramos cómo cambiar la versión por defecto de Python en Linux CentOS.

Errores que se producen en Linux CentOS 7 al instalar aplicaciones y paquetes con yum

Uno de los errores que se puede producir cuando intentamos instalar algún software con yum, por ejemplo, nano:

Nos muestra este error:

Errores que se producen en Linux CentOS 7 al instalar aplicaciones y paquetes con yum

El contenido del fichero:

Vemos que, efectivamente, yum usa Python. El error anterior se produce normalmente porque tenemos una versión de Python en Linux por defecto superior a la soportada por el código Python de yum.

Otros errores en la ejecución de yum pueden deberse a que hemos desinstalado Python en el equipo Linux o bien no lo encuentra en su ubicación original: /usr/bin/python. En este caso, al ejecutar yum, puede mostrar el mensaje:

-bash: /usr/bin/yum: /usr/bin/python: intérprete erróneo: No existe el fichero o el directorio

Errores que se producen en Linux CentOS 7 al instalar aplicaciones y paquetes con yum

Solución a los errores que se producen al ejecutar yum en Linux CentOS

Estos errores de ejecución de yum suelen deberse a que yum no encuentra Python en el equipo o bien (esta es la causa principal) a que la versión de Python de nuestro equipo Linux es superior a la compatible con el código de yum, puesto que Python es el intérprete que usa yum para su funcionamiento.

En el caso de que no tengamos Python en el equipo, dado que yum no funciona para instalar paquetes, lo instalaremos siguiendo los pasos del siguiente artículo, que no usa yum para instalar Python:

Deberemos instalar una versión de Python que sea compatible con el código de yum. Para el caso de Linux CentOS 7 hemos verificado que es la versión 2.7.5 de Python, la que necesita.

Tras instalar Python, deberemos asignar este Python como el de defecto para el sistema. Para ello, comprobaremos las versiones que tenemos de Python en el equipo Linux, podemos hacerlo con el comando:

Solución a los errores que se producen al ejecutar yum en Linux CentOS

En nuestro caso hemos instalado Phyton 3.9.10, por lo que usaremos el ejecutable python3.9. A continuación modificaremos el alias para python estableciendo el python3.9, lo haremos ejecutando el comando:

Establecemos el alias en el bashrc con:

Establecemos el Python por defecto que usará el sistema con el siguiente comando:

Este comando nos mostrará todas las instalaciones de Python, con un número a la izquierda. Introduciremos el número de la instalación que queramos usar, en nuestro caso 1 para /usr/bint/python3.9.

Ejecutaremos este último comando para verificar que tenemos la versión correcta de Python:

que nos devolverá, en nuestro caso, Python 3.9.10.

Solución a los errores que se producen al ejecutar yum en Linux CentOS

Ya tenemos un Python por defecto en nuestro sistema, sólo nos quedaría, para solucionar el error anterior de yum, agregar un enlace simbólico de /usr/bin/python a /usr/bin/python3.9:

De esta forma, la primera línea de los ficheros de yum y yum-cli que apunte a /usr/bin/python, será redireccionada a /usr/bin/python3.9.

Solución a los errores que se producen al ejecutar yum en Linux CentOS

Si sigue dando fallo la ejecución de yum será porque, como hemos comentado al principio, el código fuente Python de yum en la versión de Linux CentOS que estamos usando no es compatible con esta versión, por lo que deberemos instalar otra (normalmente más baja).

Con cambiar el enlace simbólico anterior y que apunte a la versión 2.7 de Python, por ejemplo, podría solucionarse el problema: