Como pesquiso pacotes disponíveis na linha de comando?

584

Instalei com êxito alguns pacotes usando a linha de comando 'sudo apt-get install ...' quando soube antecipadamente que esses pacotes estão disponíveis. Mas como posso procurar ou obter uma lista do que está disponível nos repositórios?

Mark Thomas
fonte

Respostas:

728

Para procurar um pacote específico por nome ou descrição:

Na linha de comando, use:

apt-cache search keyword

onde a palavra-chave de pesquisa pode ser todo ou parte de um nome de pacote ou qualquer palavra usada em sua descrição.

Por exemplo, apt-cache search proxyinclui ambos os pacotes:

proxy minúsculo - Um proxy HTTP leve, sem cache e opcionalmente anonimizado
tircd - proxy ircd para a API do twitter

Nota: a lista pode ser longa, então você pode canalizar a saída lesspara torná-la rolável uma linha ou uma tela por vez, ou seja apt-cache search something | less.

Para obter uma lista de TODOS os pacotes

apt-cache search .

Use Synaptic se você tiver o encaminhamento X ativado ou estiver em uma área de trabalho

O Synaptic geralmente é uma maneira mais conveniente de fazer isso, mas requer pelo menos um servidor X do seu lado (a menos que você esteja executando um ambiente de desktop). Instale com sudo apt-get install synapticse necessário.

  • Synaptic no servidor ssh'd via encaminhamento X:

    insira a descrição da imagem aqui

  • Synaptic em execução localmente no Ubuntu Desktop:

    insira a descrição da imagem aqui

ish
fonte
@ MarkThomas Experimente apt-cache policytambém, ele fornece mais informações sobre as fontes.
yclian
como apt-get, você pode executar apt-cachesem argumentos e obter as informações curtas sobre ajuda / folha de dicas. Você sempre pode ler as páginas de manual para obter mais ajuda. (ie man apt-cache)
pd12 28/10/2015
Supondo que eu seja tolo o suficiente para querer obter os resultados apt install, existe uma maneira inteligente de fazer isso? A saída desta função é confusa. Pode-se usar a primeira palavra de cada linha, mas deve haver uma maneira mais fácil.
Deleet 04/11
você também pode pesquisar online. packages.ubuntu.com
activedecay 8/17
Se você só precisa os nomes de todos os pacotes disponíveis apenas fazerapt-cache pkgnames
flaz14
42

Usando aptitude, apt-cachee apttudo formatar a saída de forma diferente. (Nenhum desses requer o uso de sudoao procurar um pacote.) Prefiro usar apta legibilidade. Ele destaca o nome do pacote e coloca um espaço entre os diferentes pacotes. Ele também foi [installed]listado ao lado de cada pacote que já está instalado. Uso:

apt search package-name
jbrock
fonte
2
se eu executar dizer '$ apt search firefox', ele produz toneladas de resultados de saída :(
user3804598
Você pode restringir a pesquisa com algo como:apt search firefox | grep -A 3 firefox
jbrock
1
Outra opção para restringir a pesquisa: apt search ^firefoxouapt search ^firefox$
jbrock
25

Você também pode usar o aptitude na linha de comando:

aptitude search xxxxxx
lxx
fonte
2
A coisa chata sobre este é que o Ubuntu não parece dar a você por padrão. Até eu aprender apt-cache, eu sempre o fazia apt-get install aptitudeem cada nova caixa que eu instalava. No entanto, desde que eu não consigo encontrar uma maneira de obter apt-cachepara me mostrar se ele está instalado, eu acho que vou ter que continuar fazendo isso por um pouco :-)
2
@paxdiablo Basta criar dois shell script line (segunda linha someting como dpkg --list | grep "$1") ou adicionar a função shell para este efeito em sua .bash_login... :-)
Foof
5

A ferramenta de linha de comando apt-cache é usada para pesquisar o cache do pacote de software apt. Em palavras simples, essa ferramenta é usada para pesquisar pacotes de software, coletar informações de pacotes e também para procurar quais pacotes disponíveis estão prontos para instalação em sistemas baseados no Debian ou Ubuntu.

Para descobrir o nome do pacote e sua descrição antes da instalação, use o sinalizador 'search'. O uso de "search" com o apt-cache exibirá uma lista de pacotes correspondentes com uma breve descrição. Digamos que você gostaria de descobrir a descrição do pacote 'vsftpd', então o comando seria.

Sintaxe:

apt-cache search SearchTerm
$ apt-cache search vsftpd

A saída possível seria:

vsftpd - lightweight, efficient FTP server written for security
ccze - A robust, modular log coloriser
ftpd - File Transfer Protocol (FTP) server
yasat - simple stupid audit tool

Para localizar e listar todos os pacotes iniciados com 'vsftpd', você pode usar o seguinte comando.

$ apt-cache pkgnames vsftpd

Você também pode querer executar os resultados através de um grep mais. Por exemplo:

apt-cache search firefox | grep plugin
U.Swap
fonte
3

Supondo que você queira fazer tudo isso no terminal, use o seguinte:

primeiro, recomendo que você atualize os arquivos de índice de pacotes para que a lista de todos os arquivos no repositório que você está prestes a criar esteja atualizada

sudo apt-get update

em seguida, use a função " search regex" em apt-cacheque "regex" significa Expressão regular e é o padrão fornecido para a pesquisa. Para obter mais informações sobre padrões de pesquisa, consulte o manual regex (7) por comando man 7 regexou em inglês . Uma variável regex igual a . será suficiente.

apt-cache search .

O item acima fornecerá TODOS os resultados, mas não está em nenhuma ordem particularmente útil para a navegação.

Por fim, podemos ordenar por ordem do dicionário sort -de mostrar apenas uma página de cada vez less.

apt-cache search . |sort -d |less
irmão-bilo
fonte