Error: Package has no installation candidate

Este es un error que se puede presentar en diferentes sistemas GNU-Linux, y que en un principio parece más frecuente en Debian y sus derivados, por problemas con los repositorios configurados.


En si, no se trata de un error propiamente dicho. Sino más bien de nuestra propia culpa, por no tener configuradas correctamente las fuentes del origen de software. El sistema se limita a hacer lo que nosotros le hayamos configurado.




¿Por qué ocurre?


Concretamente en Debian, durante el proceso de instalación nos da la opción de seleccionar o no, los repositorios de red tipo espejo (mirror). Esto nos brinda la posibilidad de no seleccionarlos, y de instalar software únicamente desde el propio CD o DVD de una imagen .iso descargada. Bien porque no tengamos en ese momento acceso a Internet, o no queramos descargar nada pues ya tenemos en la imagen de CD/DVD lo que necesitamos.

De optar por no activar las fuentes de repositorios en la red, las únicas fuentes externas que dejará configuradas serán exclusivamente para actualizaciones de seguridad. Con lo que cada vez que vayamos a instalar un programa, el sistema pedirá el disco de instalación, y en caso de no tener el programa en dicho disco, generará el error del que hablamos.




¿Cómo se soluciona?


La solución es tan simple como modificar el archivo de fuentes /etc/apt/sources.list usando el editor de texto que te sea más cómodo. Por ejemplo usando por terminal nano:

nano /etc/apt/sources.list


Debemos dejar el contenido del archivo, con las fuentes comentadas con "#" activadas quitándole de delante el "#", y/o añadiendo las fuentes correctas que puedan faltar. 

Siguiendo con el caso de Debian el archivo de la versión "stable" (estable) debería figurar tal y como se muestra en la página web su manual https://debian-handbook.info/browse/es-ES/stable/apt.html#id-1.9.10.7


Para la versión Jessy:

# Actualizaciones de seguridad
deb http://security.debian.org/ jessie/updates main contrib non-free
deb-src http://security.debian.org/ jessie/updates main contrib non-free

## Réplica debian

# Repositorio base
deb http://ftp.debian.org/debian jessie main contrib non-free
deb-src http://ftp.debian.org/debian jessie main contrib non-free

# Actualizaciones de stable
deb http://ftp.debian.org/debian jessie-updates main contrib non-free
deb-src http://ftp.debian.org/debian jessie-updates main contrib non-free

# Retroadaptaciones para stable
deb http://ftp.debian.org/debian jessie-backports main contrib non-free
deb-src http://ftp.debian.org/debian jessie-backports main contrib non-free


Por último, una vez guardado el archivo con la configuración corregida, es una condición sine qua non actualizar los ficheros del sistema:

(por ejemplo usando en el terminal de comandos apt)


apt update


apt upgrade



Finalmente, ya se puede probar a instalar la aplicación que queríamos sin problemas.


apt-get install nombre_del_paquete





Consideraciones a tener en cuenta


Resumen:

  1. Abrir el archivo /etc/apt/sources.list con un editor de texto (gráfico o por consola)
  2. Dejar el contenido del archivo igual que la versión que corresponda y guardarlo
  3. Actualizar con apt update y apt upgrade
  4. Instalar el programa que deseamos



Importante:


  • No se ha incluido la orden 'sudo' delante de cada comando, puesto que en Debian por defecto no se emplea, pero si por ejemplo usas Ubuntu deberás anteponerlo.
  • Cada distribución de Linux puede tener el archivo de fuentes en un lugar diferente.
  • Dependiendo del tipo de versión de la distribución Linux, podemos necesitar unas fuentes adicionales. Aquí se han puesto las de la versión estable con paquetes principales (main), y dando acceso a descarga de paquetes tanto opensource (licencia GPL) como privativos (non free).
  • Se puede obtener fácilmente más información en la página web de cada distro de Linux, ya sabiendo de donde provenía el problema.
  • Las fuentes se van actualizando periódicamente, por lo que ojo con que versión del sistema, y actualizar frecuentemente los archivos de referencia a las actualizaciones.
  • En Debian existen diferentes gestores de paquetes del sistema. En este post se ha puesto APT por ser más flexible (hay otros como apt-get, aptitude o dpkg). Podríamos haber actualizado por ejemplo con apt-get haciendo apt-get update y apt-get upgrade.




Gracias por haber mostrado tu interés por este post!


Comentarios

Entradas populares