Como usar o comando apt-cache no Debian, Ubuntu e outras distribuições Linux

29 de outubro de 2020

Com o comando apt-cache, você pode pesquisar os detalhes do pacote no cache local do APT. Aprenda a usar o comando apt-cache neste tutorial.

Para que é usado o comando apt-cache?

O gerenciador de pacotes apt funciona em um cache local de metadados de pacotes. Os metadados geralmente consistem em informações como nome do pacote, versão, descrição, dependências, seu repositório e desenvolvedores. Com o comando apt-cache, você pode consultar esse cache APT local e obter informações relevantes.

Você pode pesquisar a disponibilidade de um pacote, seu número de versão, suas dependências, entre outras coisas. Vou mostrar como usar o comando apt-cache com exemplos.

A localização do cache APT é o diretório /var/lib/apt/lists/. Quais metadados de repositório devem ser armazenados em cache depende dos repositórios adicionados em sua lista de fontes no arquivo /etc/apt/sources.list e arquivos de repositório adicionais localizados no diretório ls /etc/apt/sources.list.d.

Desnecessário dizer que o sistema de empacotamento APT é usado em distribuições Linux baseadas em Debian e Debian como Ubuntu, Linux Mint, sistema operacional elementar, etc. Você não pode usá-lo no Arch ou Fedora.

Usando o comando apt-cache

Comando do Apt Cache

Como qualquer outro comando do Linux, há várias opções disponíveis com o apt-cache e você pode sempre consultar sua página de manual para ler sobre eles.

No entanto, você provavelmente não precisará usar todos eles. É por isso que vou mostrar apenas os exemplos mais comuns e úteis do comando apt-cache neste tutorial.

Atualizar sempre: É sempre uma boa ideia atualizar o cache APT local para sincronizá-lo com os repositórios remotos. Como você faz isso? Você usa o comando sudo apt update.

Procurando por pacotes

O uso mais comum do comando apt-cache é para localizar pacotes. Você pode usar um padrão regex para pesquisar um pacote no cache local do APT.

Comandos para usar no terminal

apt-cache search package_name

Por padrão, ele procura o termo de pesquisa no nome e na descrição do pacote. Ele mostra o pacote correspondente junto com sua breve descrição em ordem alfabética.

Apt Cache Search

Você pode restringir sua pesquisa para procurar o termo de pesquisa apenas em nomes de pacotes.

Comandos para usar no terminal

apt-cache search --names-only package_name

Apenas nomes de pesquisa de cache do Apt

Se você quiser detalhes de todos os pacotes que se enquadram na pesquisa, pode usar o sinalizador --full. Também pode ser usado com o sinalizador --names-only.

Apt Cache Show Full

Obtendo informações detalhadas do pacote

Se você souber o nome exato do pacote (ou se conseguiu encontrá-lo com a pesquisa), pode obter as informações detalhadas dos metadados no pacote.

Comandos para usar no terminal

apt-cache show package_name

Apt Cache Show Pkgname

Poderá ver todos os tipos de detalhes no metadata do pacote, como nome, versão, desenvolvedor, mantenedor, repositório, descrição curta e longa, tamanho do pacote e até o checksum.

Existe outra opção showpkg que exibe informações sobre o nome do pacote, versão e suas dependências diretas e reversas.

Comandos para usar no terminal

apt-cache showpkg package_name

apt-cache policy

Esta é uma das opções raramente usadas do comando apt-cache. As opções de política ajudam a depurar o problema relacionado ao arquivo de preferência.

Se você especificar o nome do pacote, ele mostrará se o pacote está instalado, qual versão está disponível em qual repositório e sua prioridade.

Apt Cache Policy

Por padrão, cada versão de pacote instalada tem uma prioridade de 100 e um pacote não instalado tem uma prioridade de 500. O mesmo pacote pode ter mais de um versão com uma prioridade diferente. O APT instala a versão com maior prioridade, a menos que a versão instalada seja mais recente.

Se isso não fizer sentido, está tudo bem. Será extremamente raro para um usuário regular do Linux se aprofundar tanto no gerenciamento de pacotes.

Verifique as dependências e dependências reversas de um pacote

Você pode verificar as dependências de um pacote antes (ou mesmo depois) de instalá-lo. Ele também mostra todos os pacotes possíveis que podem cumprir a dependência.

Comandos para usar no terminal

apt-cache depends package

Verificação de dependência do Apt-Cache

Você também pode conferir quais pacotes são dependentes em algum pacote específico por verificar as dependências reversas com o apt-cache.

Dependência reversa do cache do Apt

Francamente, eu também fiquei surpreso ao ver que uma ferramenta DevOps como o Ansible tem uma dependência em um comando engraçado no linux como o Cowsay. Acho que talvez seja porque depois de instalar o Ansible, ele exibe alguma mensagem nos nós.

Verifique as dependências não atendidas

Você pode ter problemas com dependências não atendidas no Ubuntu ou outro Linux. O comando apt-cache fornece a opção de verificar todas as dependências não atendidas de vários pacotes disponíveis em seu sistema.

Comandos para usar no terminal

apt-cache unmet

Cache do Apt não atendido

Conclusão

Você pode listar todos os pacotes disponíveis com o comando apt-cache. A saída seria enorme, então eu sugiro combiná-la com comando wc para obter um número total de pacotes disponíveis como este:

Comandos para usar no terminal

apt-cache pkgnames | wc -l

Você percebeu que não precisa ser usuário root para usar o comando apt-cache?

O comando apt mais recente tem algumas opções disponíveis para corresponder aos recursos do comando apt-cache. Como o apt é novo, apt-get e seus comandos associados, como apt-cache, ainda são preferidos para uso em scripts.

Espero que você ache este tutorial útil. Se você tiver dúvidas sobre algum ponto discutido acima ou sugestão para melhorá-lo, por favor me avise nos comentários.

Confira também a versão original desse post em inglês
Esse post foi originalmente escrito por Abhishek Prakash e publicado no site itsfoss.com. Tradução sujeita a revisão.

How to Use apt-cache Command in Debian, Ubuntu and Other Linux Distributions

Propaganda
Blog Comments powered by Disqus.