Não é incomum que um usuário do Ubuntu (ou outra distro com gerenciamento de pacotes apt) encontre o erro:
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
Houve várias perguntas sobre isso em vários sites StackExchange, por exemplo, openvpn no AskUbuntu, mas geralmente são sobre como obter o pacote específico, apesar do erro.
Não encontrei nenhum pacote que não seja encontrado de maneira simples (embora nem sempre fácil), determinando se ele ainda está distribuído e em qual repositório, se houver, e garantindo que o repositório esteja no apt.sources, ou o pior ocorre com o pior download de um arquivo. .deb ou fonte a ser compilada.
Portanto, minha pergunta é mais geral e, embora eu ache que ela tenha uma resposta bastante simples e, portanto, não excitante, não consigo pensar em como encontrá-la pelos métodos convencionais de mecanismo de pesquisa, então volto para o AskUbuntu: Existe um comando ou opção que posso usar para determinar qual pacote / quais pacotes fazem referência ao pacote ausente?
fonte
apt-get install libtinfo6
relatórios indisponíveis, mas referidos por outro pacote, masapt-cache search libtinfo6
não produzem resultados. Existe alguma outra maneira de fazer uma coisa semelhante?terminfo
na próxima vez que isso acontecer; já aconteceu antes e provavelmente acontecerá novamente.Às vezes, isso acontece porque o APT simplesmente não sabe nada sobre o que você está falando, mas isso pode ser resolvido executando:
Depois de executar isso, normalmente o erro desaparece porque
apt
eapt-get
sei como fazer o que peço agora.fonte
apt-get update
seguido porapt-get upgrade -y
causa-y
de confirmação bypasses usuário. Não faz sentido usá-lo comapt-get update
. Mesmo assim, isso não responde à pergunta.apt-get update
.apt-get update
responde à pergunta AB (o pacote existe no repo, masapt-get install
eapt-cache
não sei sobre isso.)sudo apt-get update
está livre de controvérsias e foi a solução correta para mim.