Il n'est pas rare qu'un utilisateur d'Ubuntu (ou d'une autre distribution avec apt package management) rencontre l'erreur :
[email protected] ~ $ sudo apt 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 elles concernent généralement la manière 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 s'assurant que le référentiel se trouve dans apt.sources, ou le pire vient au pire en téléchargeant un .deb ou source à compiler.
Ma question est donc plus générale, et même si je suppose qu'elle a une réponse plutôt simple et donc non excitante, je ne sais pas 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 option que je peux utiliser pour déterminer quel package / quels packages font référence au package manquant ?
Réponse acceptée :
Vous pouvez rechercher le paquet avec apt-cache :
apt-cache search x
Cela affichera tous les packages qui, d'une manière ou d'une autre, font référence à x.