“Não foi possível localizar o pacote” ao tentar instalar pacotes com o APT

209

Quando tento instalar qualquer pacote pela linha de comando, recebo um erro.

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

Alguém pode me ajudar nisso?

CodeGeeky
fonte
5
Isso está surgindo muito recentemente porque o servidor 18.04 possui o universo, o multiverso e o backports desativados por padrão.
wjandrea
1
Existe um problema na barra de ativação para melhorar a dica útil fornecida ao inserir um comando não instalado? (Just insinuando que ele está em um repositório não habilitado seria muito útil)
Thorbjørn Ravn Andersen
Isso é algo que me impressiona bastante quando estou construindo contêineres, geralmente com o Docker e a Singularity. Nos contêineres Singularity, você tem diferentes opções de BootStrap, entre elas sendo debootstrape docker. Por alguma razão, se eu debootstrapcomeçar com uma imagem base do Ubuntu (por exemplo xenial), encontrei este erro em que alguns pacotes não podem ser encontrados apt-get. A solução acaba sendo mudar para o dockerBootStrap e, em seguida, funcionar novamente.
user5359531
Isso está interrompendo meu progresso nos últimos dois dias, e não se deve ao fato de o universo, o multiverso ou os backports serem desativados, como sugere wjandrea.
Jackalope
@ Jackalope Então talvez o nome do pacote esteja incorreto ou você precise executar sudo apt update. Use apt-cache searchseguido por um termo de pesquisa para procurar o nome do pacote correto.
mchid 29/08

Respostas:

156

Primeiro, verifique se o pacote realmente existe:

  1. Vá para packages.ubuntu.com com um navegador da web.
  2. Role para baixo até "Pesquisar diretórios de pacotes"
  3. Digite o pacote que você está tentando instalar no campo "Palavra-chave".

    Ative "Mostrar apenas correspondências exatas:"

    Mude a "Distribuição" para qual versão do Ubuntu você está usando.

    insira a descrição da imagem aqui

Se não houver resultados , o pacote que você está procurando não existe e as próximas etapas não funcionarão. Pode exigir um PPA de terceiros ou um método de instalação alternativo.

Se forem encontrados resultados , o pacote existe e você pode continuar com estas etapas:

  1. Abra fontes de software (ou software e atualizações em 13.04+) pesquisando-o no Dash.
  2. Abra a aba "Software Ubuntu".
  3. Verifique se as 4 primeiras caixas de seleção nesta guia estão ativadas:

    insira a descrição da imagem aqui

  4. Atualize as listas de pacotes e teste com estes comandos:

    sudo apt-get update
    sudo apt-get install <TEST_PACKAGE>
    
kiri
fonte
44
Eu achei que um simples sudo apt-get updateera o suficiente para consertar isso para mim. Sua milhagem pode variar.
Edward Falk
1
sudo apt-get updatetambém funcionou para mim no Ubuntu no Windows 10 (isso é importante porque a interface do usuário referenciada na segunda metade desta resposta não existe nesse sistema).
James
1
a captura de tela do software e das atualizações me salvou !!
Kalpesh Soni 28/02
Não se esqueça de pesquisar no launchpad.net também!
Jonathan
1
Estou executando meu servidor a partir do shell e não consigo abrir GUIs. É possível resolver isso apenas com linha de comando?
Ulysses Alves
82

Há muitas perguntas sobre este tópico. Aqui eu forneço uma resposta básica / geral.

Quando apt-get installnão é possível localizar um pacote, o pacote que você deseja instalar não pôde ser encontrado nos repositórios que você adicionou (aqueles dentro /etc/apt/sources.liste abaixo /etc/apt/sources.list.d/).

O procedimento (geral) a seguir ajuda a resolver isso:

  1. Certifique-se de ter ativado os repositórios do Ubuntu:

    Para permitir que todos os repositórios ( main, universe, restricted, multiverse), use os seguintes comandos:

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

    Visite a Ajuda para mais informações.

  2. Para encontrar o PPA para mais pacotes:

  3. Adicione PPA (por linha de comando) :

    Use este comando:

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

    Visite a ajuda da comunidade Ubuntu para obter mais informações.

  4. Não se esqueça de atualizar (lembre-se de suas alterações):

    É essencial executar este comando depois de alterar qualquer repositório:

    sudo apt-get update
    

    Selecionar o melhor servidor de download pode ajudar a acelerar a atualização.

  5. Por fim, instale o pacote:

    sudo apt-get install <package>
    

    Consulte Gerenciamento de pacotes por linha de comando .

    Adicional / Dica : você pode encontrar o nome do pacote correto (ou seja, o nome no repositório) usando apt-cache search <package-name>.



Nota : Se o pacote não estiver disponível no repositório de qualquer maneira, você deverá esperar até que esteja disponível (no caso de versões novas / atualizadas) ou usar outros processos de instalação que não sejam, apt-getpor exemplo, compilação da fonte, download de binário executável, etc.

Pandya
fonte
3
Também pode ser que o usuário esteja procurando libname, quando estiver libname2no Debian / Ubuntu.
saiarcot895
3
Primeiro, depende do pacote e você está fazendo uma série de suposições. Primeiro, você está assumindo que o OP identificou o nome do pacote correto, conforme indicado por saiarcot895. Segundo, você está assumindo que os pacotes estão disponíveis. Em geral, é melhor primeiro identificar o problema. Então, se possível, instale a partir dos repositórios. A menos que haja uma necessidade específica, o ppa é uma segunda opção. Se o pacote não estiver nos repositórios ou no ppa, pode ser necessário compilar o código-fonte. Você realmente não tem informações suficientes.
Panther
@ saiarcot895 @ bodhi.zazen: Resposta revisada com o fornecimento apt-cache searchpara encontrar o nome do pacote correto nos repositórios.
Pandya
homem resposta incrível, ur quem deve ser o vencedor
sdream
9

O xbmc está disponível apenas no repositório universe , somente desde o Ubuntu 12.04 (preciso). Se você tiver uma versão mais antiga do Ubuntu, precisará atualizar ou obter o xbmc de outro local.

Se você possui o Ubuntu 12.04, certifique-se de ter ativado o repositório do universo . Você pode ver quais repositórios ativaram no arquivo /etc/apt/sources.list(e nos arquivos no diretório /etc/apt/sources.list.d). Verifique se este arquivo contém uma linha como

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

ou

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

Se você encontrar apenas uma linha como

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

e nenhuma linha com universe, adicione universeno final dessa linha ou uma linha separada com precise universe, como ilustrado acima.

Se você precisar modificar /etc/apt/sources.list, execute sudo apt-get updatedepois e tente instalar novamente. Se o pacote ainda não foi encontrado, publique o conteúdo completo /etc/apt/sources.liste a saída de sudo apt-get update.

Gilles
fonte
@EliahKagan Não pensei que minha resposta pudesse ser interpretada dessa maneira, tentei esclarecer. Por que não ale zw? (Eu tento selecionar um espelho apropriado para o OP quando eles dão uma pista, mas aqui eu não tenho idéia.)
Gilles
5

Eu sou novo no Ubuntu, mas estou escrevendo isso, pois descobri algumas soluções para evitar os erros "Não é possível localizar o pacote". Existem três circunstâncias em que isso pode causar choque.

  1. Após a instalação do Ubuntu, se você não o atualizar, seguido de Atualizações, isso pode ocorrer.
  2. Se houver muitas atualizações de software no futuro, verifique se todas as atualizações importantes de segurança / recomendadas estão desativadas, digitando " Gerenciador de Atualizações " ao pressionar Alt+ F2.
  3. O Problema Um e o Dois podem ocorrer mesmo após atualizar ou limpar todas as atualizações. Mas a solução eterna é: tente os pontos 1 e 2 e digite sudo apt-get killmanager; se não estiver funcionando, não há problema, continue digitando sudo apt-get updatee digite sudo apt-get upgrade.

Agora você deve conseguir instalar qualquer software através do Terminal.

Shaan Sundar
fonte
Se você ainda receber um erro na linha "sudo apt-get update", tente usar "sudo apt-get upgrade". Isso vai funcionar .. Gente !! Como o Linux é altamente sensível a maiúsculas Por favor, certifique-se de usar todos os comandos em letras menores como "sudo" em vez de "Sudo"
Shaan Sundar
5

No caso em que tentou instalar um arquivo:

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

em vez de um pacote. Você recebe a mensagem de erro:

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

porque você tentou instalar um arquivo libstdc++.so.6que não pode ser instalado, porque está localizado em um pacote debian.

Você pode usar apt-filepara procurar o pacote que contém esse arquivo. Para instalá-lo, digite:

sudo apt-get install apt-file

Então você precisa atualizar o índice.

sudo apt-file update

Depois disso, você pode procurar o pacote que contém o arquivo libstdc++.so.6:

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

Então você encontra muitos pacotes que contêm o arquivo pesquisado. Neste exemplo, colo apenas um resultado da pesquisa:

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

Então você pode instalar o pacote necessário libstdc++6:

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