«Impossible de localiser le paquet» lors de la tentative d'installation de paquets avec APT


209

Lorsque j'essaie d'installer un package par le biais de la ligne de commande, un message d'erreur s'affiche.

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

Quelqu'un peut-il m'aider à ce sujet?


5
Cela a beaucoup augmenté récemment, car 18.04 Server a un univers, multivers et rétrosport désactivé par défaut.
Wjandrea

1
Existe-t-il un problème dans le tableau de bord pour améliorer l'indicateur utile donné lors de la saisie d'une commande non installée? (Il serait très utile d'indiquer qu'il se trouve dans un référentiel non activé)
Thorbjørn Ravn Andersen le

C'est un problème que je rencontre souvent lorsque je construis des conteneurs, généralement avec Docker et Singularity. Dans les conteneurs Singularity, vous avez différentes options BootStrap, parmi lesquelles debootstrapet docker. Pour une raison quelconque, si je debootstrapcommence par utiliser une image de base Ubuntu (par exemple xenial), je rencontre cette erreur qui empêche de trouver certains paquets apt-get. La solution finit par basculer vers le dockerBootStrap, puis il fonctionne à nouveau.
user5359531

Cela stoppe mes progrès ces derniers jours, et ce n'est pas dû à la désactivation de l'univers, du multivers ou des backports, comme le suggère wjandrea.
Jackalope

@Jackalope Ensuite, le nom du package est peut-être incorrect ou vous devez l'exécuter sudo apt update. Utilisez apt-cache searchsuivi d'un terme de recherche pour rechercher le nom de package correct.
Mchid

Réponses:


156

Tout d’abord, vérifiez si le paquet existe réellement:

  1. Accédez à packages.ubuntu.com avec un navigateur Web.
  2. Faites défiler jusqu'à "Rechercher dans les répertoires de paquets"
  3. Entrez le paquet que vous essayez d'installer dans le champ "Mot clé".

    Activer "Afficher uniquement les correspondances exactes:"

    Changez la "Distribution" selon la version d'Ubuntu que vous utilisez.

    entrez la description de l'image ici

S'il n'y a aucun résultat , le package que vous recherchez n'existe pas et les étapes suivantes ne fonctionneront pas. Cela peut nécessiter un PPA tiers ou une méthode d'installation alternative.

Si des résultats sont trouvés , le package existe et vous pouvez continuer avec ces étapes:

  1. Ouvrez les sources de logiciels (ou Logiciels et mises à jour dans 13.04+) en les recherchant dans le tableau de bord.
  2. Ouvrez l'onglet "Logiciel Ubuntu".
  3. Assurez-vous que les 4 premières cases à cocher de cet onglet sont activées:

    entrez la description de l'image ici

  4. Mettez à jour les listes de paquets, puis testez avec ces commandes:

    sudo apt-get update
    sudo apt-get install <TEST_PACKAGE>
    

44
J'ai trouvé qu'un simple sudo apt-get updatesuffisait pour le réparer pour moi. Votre kilométrage peut varier.
Edward Falk

1
sudo apt-get updatea également travaillé pour moi sur Ubuntu sous Windows 10 (cela est important car l'interface utilisateur référencée dans la seconde moitié de cette réponse n'existe pas sur ce système).
James

1
le logiciel et mises à jour capture d'écran m'a sauvé!
Kalpesh Soni

N'oubliez pas de rechercher launchpad.net également!
Jonathan

1
J'exécute mon serveur à partir du shell et je ne peux pas ouvrir d'interface graphique. Est-il possible de résoudre ce problème en ligne de commande uniquement?
Ulysse Alves

82

Il y a beaucoup de questions sur ce sujet. Ici, je donne une réponse de base / générale.

Lorsqu'il apt-get installest impossible de localiser un package, le package que vous souhaitez installer est introuvable dans les référentiels que vous avez ajoutés (ceux situés dans /etc/apt/sources.listet sous /etc/apt/sources.list.d/).

La procédure suivante (générale) aide à résoudre ce problème:

  1. Assurez-vous que vous avez activé les référentiels Ubuntu:

    Pour permettre à tous les dépôts ( main, universe, restricted, multiverse), utilisez les commandes suivantes:

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

    Consultez l' aide pour plus d'informations.

  2. Pour trouver PPA pour plus de paquets:

  3. Ajouter PPA (par ligne de commande) :

    Utilisez cette commande:

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

    Consultez l' aide de la communauté Ubuntu pour plus d'informations.

  4. N'oubliez pas de mettre à jour (informez vos modifications):

    Il est essentiel d’exécuter cette commande après avoir changé les référentiels:

    sudo apt-get update
    

    La sélection du meilleur serveur de téléchargement peut aider à accélérer la mise à jour.

  5. Enfin, installez le paquet:

    sudo apt-get install <package>
    

    Reportez-vous à Gestion des packages par ligne de commande .

    Supplément / Astuce : vous pouvez trouver le nom de paquet correct (c'est-à-dire le nom dans le référentiel) en utilisant apt-cache search <package-name>.



Remarque : Si le package n'est pas disponible dans le référentiel, vous devez attendre jusqu'à ce qu'il soit disponible (dans le cas de nouvelles versions / mises à jour) ou utiliser d'autres processus d'installation que apt-getpar exemple la compilation à partir de la source, le téléchargement du binaire exécutable, etc.


3
Il se pourrait aussi que l'utilisateur recherche libname, quand il est libname2dans Debian / Ubuntu.
saiarcot895

3
Premièrement, cela dépend du package et vous formulez un certain nombre d'hypothèses. Tout d'abord, vous supposez que l'OP a identifié le nom correct du paquet, comme indiqué par saiarcot895. Deuxièmement, vous supposez que les forfaits sont disponibles. En général, il est préférable d'identifier d'abord le problème. Ensuite, si possible, installez-le à partir des référentiels. En l'absence d'un besoin spécifique, le PPA est un second choix. Si le paquet ne se trouve pas dans les référentiels ou dans ppa, il peut être nécessaire de le compiler à partir du source. Vous n'avez vraiment pas assez d'informations.
Panther

@ saiarcot895 @ bodhi.zazen: réponse révisée permettant apt-cache searchde trouver le nom de paquet correct dans les référentiels.
Pandya

Réponse géniale homme, ton
futur

9

xbmc est uniquement disponible dans le référentiel de l' univers , uniquement depuis Ubuntu 12.04 (précis). Si vous avez une version plus ancienne d'Ubuntu, vous devrez mettre à niveau ou obtenir xbmc d'un autre endroit.

Si vous avez Ubuntu 12.04, assurez-vous d’avoir activé le référentiel des univers . Vous pouvez voir quels référentiels vous avez activés dans le fichier /etc/apt/sources.list(et dans les fichiers du répertoire /etc/apt/sources.list.d). Vérifiez que ce fichier contient une ligne comme

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

ou

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

Si vous ne trouvez qu'une ligne comme

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

et sans ligne avec universe, ajoutez universeà la fin de cette ligne, ou une ligne séparée avec precise universe, comme illustré ci-dessus.

Si vous avez besoin de modifier /etc/apt/sources.list, lancez sudo apt-get updateensuite, puis essayez à nouveau d'installer. Si le paquet n'est toujours pas trouvé, postez le contenu complet /etc/apt/sources.listet la sortie de sudo apt-get update.


@EliahKagan Je n'avais pas pensé que ma réponse pourrait être interprétée de cette façon, j'ai essayé de clarifier. Pourquoi pas alet zw? (J'essaie de choisir un miroir approprié pour l'OP quand ils donnent un indice, mais ici, je n'en ai aucune idée.)
Gilles

5

Je suis nouveau sur Ubuntu, mais j'écris ceci car j'ai découvert quelques solutions pour éviter les erreurs "Impossible de localiser le paquet". Cela peut provoquer un choc dans trois circonstances.

  1. Après avoir installé Ubuntu si vous ne le mettez pas à jour suivi de mises à jour, cela peut se produire.
  2. Si de nombreuses mises à jour logicielles sont à venir, assurez-vous que toutes les mises à jour de sécurité / mises à jour recommandées importantes sont désactivées en tapant " Gestionnaire de mise à jour " en appuyant sur Alt+ F2.
  3. Les problèmes un et deux peuvent se produire même après la mise à jour ou l'effacement de toutes les mises à jour. Mais la solution éternelle est la suivante: essayez les points 1 et 2, puis tapez sudo apt-get killmanager, si cela ne fonctionne pas, continuez à taper sudo apt-get updatepuis tapez sudo apt-get upgrade.

Vous devriez maintenant pouvoir installer n’importe quel logiciel via Terminal.


Si vous obtenez toujours une erreur sur la ligne "sudo apt-get update", essayez d'utiliser "sudo apt-get upgrade". Cela fonctionnera .. Les gars !! Comme Linux est très sensible à la casse, assurez-vous d’utiliser toutes les commandes en lettres plus petites, comme "sudo" au lieu de "Sudo"
Shaan Sundar

5

Dans le cas où j'ai essayé d'installer un fichier:

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

au lieu d'un paquet. Vous obtenez le message d'erreur:

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

parce que vous avez essayé d'installer un fichier libstdc++.so.6que vous ne pouvez pas installer, car il se trouve dans un paquet Debian.

Vous pouvez utiliser apt-filepour rechercher le paquet contenant ce fichier. Pour l'installer, tapez:

sudo apt-get install apt-file

Ensuite, vous devez mettre à jour l'index.

sudo apt-file update

Après cela, vous pouvez rechercher le paquet contenant le fichier libstdc++.so.6:

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

Ensuite, vous trouvez beaucoup de paquets contenant le fichier recherché. Pour cet exemple, je ne colle qu'un seul résultat de recherche:

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

Ensuite, vous pouvez installer le paquet nécessaire libstdc++6:

sudo apt-get install libstdc++6
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.