"No se puede localizar el paquete" al intentar instalar paquetes con APT

209

Cuando intento instalar cualquier paquete a través de la línea de comando, aparece un error.

$ sudo apt-get install <package>
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package <package>

¿Puede alguien ayudarme con esto?

CodeGeeky
fuente
55
Esto está surgiendo mucho recientemente porque 18.04 Server tiene universo, multiverso y backports deshabilitados de forma predeterminada.
wjandrea
1
¿Hay algún problema con el launchpad para mejorar la sugerencia útil que se da al ingresar un comando no instalado? (Sería muy útil insinuar que está en un repositorio no habilitado)
Thorbjørn Ravn Andersen
Esto es algo que golpeo mucho cuando construyo contenedores, generalmente con Docker y Singularity. En los contenedores Singularity tienes diferentes opciones de BootStrap, entre ellas, debootstrapy docker. Por alguna razón, si uso debootstrappara comenzar con una imagen base de Ubuntu (por ejemplo xenial), me aparece este error donde no se pueden encontrar algunos paquetes apt-get. La solución termina siendo cambiar a dockerBootStrap, luego vuelve a funcionar.
user5359531
Esto está deteniendo mi progreso durante los últimos días, y no se debe a que el universo, multiverso o backports estén deshabilitados, como sugiere wjandrea.
Jackalope
@Jackalope Entonces quizás el nombre del paquete sea incorrecto o necesite ejecutarlo sudo apt update. Use apt-cache searchseguido de un término de búsqueda para buscar el nombre de paquete correcto.
mchid

Respuestas:

156

Primero, verifique si el paquete realmente existe:

  1. Vaya a packages.ubuntu.com con un navegador web.
  2. Desplácese hacia abajo hasta "Buscar directorios de paquetes"
  3. Ingrese el paquete que está intentando instalar en el campo "Palabra clave".

    Habilite "Mostrar solo coincidencias exactas:"

    Cambia la "Distribución" a la versión de Ubuntu que estás usando.

    ingrese la descripción de la imagen aquí

Si no hay resultados , el paquete que está buscando no existe y los siguientes pasos no funcionarán. Puede requerir un PPA de terceros o un método de instalación alternativo.

Si se encuentran resultados , el paquete existe y puede continuar con estos pasos:

  1. Abra las Fuentes de software (o Software y actualizaciones en 13.04+) buscándolo en el Tablero.
  2. Abra la pestaña "Software de Ubuntu".
  3. Asegúrese de que las primeras 4 casillas de verificación en esta pestaña estén habilitadas:

    ingrese la descripción de la imagen aquí

  4. Actualice las listas de paquetes, luego pruebe con estos comandos:

    sudo apt-get update
    sudo apt-get install <TEST_PACKAGE>
    
kiri
fuente
44
Descubrí que un simple sudo apt-get updateera suficiente para solucionarlo. Su experiencia puede ser diferente.
Edward Falk
1
sudo apt-get updateTambién funcionó para mí en Ubuntu en Windows 10 (esto es importante porque la IU a la que se hace referencia en la segunda mitad de esta respuesta no existe en ese sistema).
James
1
¡la captura de pantalla del software y las actualizaciones me salvó!
Kalpesh Soni
¡No olvides buscar launchpad.net también!
Jonathan
1
Estoy ejecutando mi servidor desde el shell y no puedo abrir las GUI. ¿Es posible resolver esto solo con la línea de comando?
Ulises Alves
82

Hay muchas preguntas sobre este tema. Aquí proporciono una respuesta básica / general.

Cuando apt-get installno puede encontrar un paquete, el paquete que desea instalar no se puede encontrar en los repositorios que ha agregado (los que están dentro /etc/apt/sources.listy debajo /etc/apt/sources.list.d/).

El siguiente procedimiento (general) ayuda a resolver esto:

  1. Asegúrese de haber habilitado los repositorios de Ubuntu:

    Para permitir que todos los repositorios ( main, universe, restricted, multiverse), utilice los siguientes comandos:

    sudo add-apt-repository main
    sudo add-apt-repository universe
    sudo add-apt-repository restricted
    sudo add-apt-repository multiverse
    

    Visite la Ayuda para más información.

  2. Para encontrar PPA para más paquetes:

  3. Agregar PPA (por línea de comando) :

    Usa este comando:

    sudo add-apt-repository ppa:<repository-name>
    

    Visite la ayuda de la comunidad de Ubuntu para obtener más información.

  4. No olvide actualizar (informe a sus cambios):

    Es esencial ejecutar este comando después de cambiar cualquier repositorio:

    sudo apt-get update
    

    Seleccionar el mejor servidor de descarga puede ayudar a acelerar la actualización.

  5. Finalmente instale el paquete:

    sudo apt-get install <package>
    

    Consulte Gestión de paquetes por línea de comandos .

    Adicional / Consejo : puede encontrar el nombre de paquete correcto (es decir, el nombre en el repositorio) usando apt-cache search <package-name>.



Nota : Si el paquete no está disponible en el repositorio de ninguna manera, debe esperar hasta que esté disponible (en el caso de versiones nuevas / actualizadas) o usar otros procesos de instalación que no sean, apt-getpor ejemplo, compilar desde la fuente, descargar binarios ejecutables, etc.

Pandya
fuente
3
También podría ser que el usuario esté buscando libname, cuando está libname2en Debian / Ubuntu.
saiarcot895
3
Primero, depende del paquete y está haciendo una serie de suposiciones. Primero, está asumiendo que el OP ha identificado el nombre correcto del paquete, como lo señala saiarcot895. Segundo, está asumiendo que los paquetes están disponibles. En general, es mejor identificar primero el problema. Luego, si es posible, realice la instalación desde los repositorios. A menos que haya una necesidad específica, ppa es una segunda opción. Si el paquete no está en los repositorios o ppa, es posible que deba compilarse desde la fuente. Realmente no tienes suficiente información.
Panther
@ saiarcot895 @ bodhi.zazen: se revisó la respuesta con la provisión apt-cache searchde encontrar el nombre correcto del paquete en los repositorios.
Pandya
increíble respuesta hombre, eres el que debería ser ganador
sdream
9

xbmc solo está disponible en el repositorio del universo , solo desde Ubuntu 12.04 (preciso). Si tiene una versión anterior de Ubuntu, necesitará actualizar u obtener xbmc de otro lugar.

Si tiene Ubuntu 12.04, asegúrese de haber activado el repositorio del universo . Puede ver qué repositorios ha habilitado en el archivo /etc/apt/sources.list(y en los archivos del directorio /etc/apt/sources.list.d). Verifique que este archivo contenga una línea como

deb http://al.archive.ubuntu.com/ubuntu/ precise universe

o

deb http://zw.archive.ubuntu.com/ubuntu/ precise main restricted universe multiverse

Si solo encuentras una línea como

deb http://mn.archive.ubuntu.com/ubuntu/ precise main restricted

y sin línea con universe, agregue universeal final de esa línea, o una línea separada con precise universe, como se ilustra arriba.

Si necesita modificar /etc/apt/sources.list, ejecute sudo apt-get updatedespués, luego intente instalar nuevamente. Si aún no se encuentra el paquete, publique el contenido completo /etc/apt/sources.listy la salida de sudo apt-get update.

Gilles
fuente
@EliahKagan No había pensado que mi respuesta podría interpretarse de esa manera, traté de aclarar. ¿Por qué no aly zw? (Intento seleccionar un espejo apropiado para el OP cuando dan una pista, pero aquí no tengo idea.)
Gilles
5

Soy nuevo en Ubuntu pero estoy escribiendo esto ya que descubrí algunas soluciones para evitar este error "No se puede localizar el paquete". Hay tres circunstancias en las que esto puede ocurrir con un shock.

  1. Después de instalar Ubuntu si no lo actualiza seguido de Actualizaciones, esto podría ocurrir.
  2. Si hay muchas actualizaciones de software en el futuro, asegúrese de que todas las actualizaciones de seguridad importantes / actualizaciones recomendadas estén desactivadas escribiendo " Update Manager " al presionar Alt+ F2.
  3. Los problemas uno y dos pueden ocurrir incluso después de actualizar o borrar todas las actualizaciones. Pero la solución eterna es: intente los puntos 1 y 2, luego escriba sudo apt-get killmanager, si no funciona no hay problema, continúe escribiendo sudo apt-get update, luego escriba sudo apt-get upgrade.

Ahora debería poder instalar cualquier software a través de la Terminal.

Shaan Sundar
fuente
Si aún recibe un error en la línea "sudo apt-get update", intente usar "sudo apt-get upgrade". Esto funcionará ... Chicos !! Como Linux distingue entre mayúsculas y minúsculas, asegúrese de utilizar todos los comandos en letras más pequeñas como "sudo" en lugar de "Sudo"
Shaan Sundar
5

En el caso donde trató de instalar un archivo:

sudo apt-get install libstdc++.so.6

en lugar de un paquete Recibes el mensaje de error:

E: Unable to locate package libstdc++.so.6
E: Couldn't find any package by regex 'libstdc++.so.6'

porque trató de instalar un archivo libstdc++.so.6que no puede instalar, porque está ubicado en un paquete debian.

Puede usar apt-filepara buscar el paquete que contiene ese archivo. Para instalarlo, escriba:

sudo apt-get install apt-file

Luego tienes que actualizar el índice.

sudo apt-file update

Después de eso, puede buscar el paquete que contiene el archivo libstdc++.so.6:

sudo apt-file find libstdc++.so.6

Luego encontrará muchos paquetes que contienen el archivo buscado. Para este ejemplo, pego solo un resultado de búsqueda:

libstdc++6: /usr/lib/x86_64-linux-gnu/libstdc++.so.6

Luego puede instalar el paquete necesario libstdc++6:

sudo apt-get install libstdc++6
BuZZ-dEE
fuente