Il n'est pas rare qu'un utilisateur d'Ubuntu (ou d'une autre distribution avec la gestion des packages apt) rencontre l'erreur:
user@box ~ $ sudo apt-get install x
[sudo] password for user:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package x is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'x' has no installation candidate
Plusieurs questions ont été posées à ce sujet sur divers sites StackExchange, par exemple openvpn sur AskUbuntu, mais celles-ci concernent généralement la façon d'obtenir le package spécifique malgré l'erreur.
Je n'ai trouvé aucun paquet qui ne soit pas trouvé simplement (mais pas toujours facilement) en déterminant s'il est toujours distribué, et sous quel référentiel le cas échéant, et en veillant à ce que le référentiel se trouve dans apt.sources, ou le pire arrive au pire en téléchargeant un .deb ou source à compiler.
Donc ma question est plus générale, et même si je suppose qu'elle a une réponse assez simple et donc non excitante, je ne peux pas penser comment la trouver par les méthodes conventionnelles des moteurs de recherche, alors je me tourne vers AskUbuntu: y a-t-il une commande ou une option que je peux utiliser pour déterminer quel package / quels packages référencent le package manquant?
la source
apt-get install libtinfo6
rapports non disponibles mais référencés par un autre package, maisapt-cache search libtinfo6
ne produisant aucun résultat. Y a-t-il une autre façon de faire une chose similaire?terminfo
la prochaine fois que cela se produira, cependant; c'est déjà arrivé et cela se reproduira probablement.Parfois, cela se produit car APT ne sait tout simplement pas de quoi vous parlez, mais cela peut être résolu en exécutant:
Après avoir exécuté cela, généralement l'erreur disparaît car
apt
etapt-get
je sais comment faire ce que je demande maintenant.la source
apt-get update
suivi parapt-get upgrade -y
car-y
contourne la confirmation de l'utilisateur. Cela n'a aucun sens de l'utiliser avecapt-get update
. Même ainsi, cela ne répond pas du tout à la question.apt-get update
.apt-get update
AB répond à la question (le paquet existe dans le repo , maisapt-get install
etapt-cache
ne sais pas.)sudo apt-get update
est sans controverse et était la bonne solution pour moi.