Como obtenho uma lista de pacotes disponíveis (por exemplo, desinstalados) no Debian?

18

Essencialmente, o que eu estou procurando é o equivalente de:

yum list available

para me mostrar quais pacotes estão disponíveis (embora não instalados atualmente). Eu prefiro algo que pode ser executado a partir do console, pois isso é em um servidor remoto. Obrigado.

    
por freakwincy 03.04.2012 / 17:28

5 respostas

6

grep-dctrl e suas derivadas fornecem uma ótima maneira de consultar os arquivos do cache do apt. (Você pode instalar essas ferramentas no Ubuntu com     sudo apt-get instala dctrl-tools )

No caso de pacotes disponíveis (mas não necessariamente instalados), você pode usar grep-available . Por exemplo, para listar todos os pacotes disponíveis:

grep-available  -s Package .

Editar:

aptitude pode mostrar uma lista de pacotes não instalados apenas com o lançamento.

Você também pode obter uma lista de pacotes não instalados com aptitude usando:

aptitude -F "%p" search "?not(?installed)"

Note que com os novos pacotes multi-arch, você receberá pacotes para outras arquiteturas listadas neste resultado. Por exemplo, eu recebo:

aptitude -F "%p" search "?not(?installed)"  | grep "^bash:"
bash:i386

Eu tenho o pacote bash instalado, mas é a versão amd64, já que meu sistema operacional é instalado com a versão amd64 do Ubuntu Precise. Se você não quiser ver esses pacotes para outras arquiteturas, poderá excluir linhas que contenham : :

aptitude -F "%p" search "?not(?installed)"  | grep -v ':'
    
por 03.04.2012 / 18:55
16

apt-cache é usado para consultar o cache de pacotes:

apt-cache pkgnames | sort
apt-cache search thing
apt-cache search --names-only thing
    
por 03.04.2012 / 17:34
2

Use apt-cache para essa finalidade:

apt-cache search package

Como apt-cache usa apenas o cache de pacotes no sistema, verifique se esse cache está atualizado:

apt-get update

Você também pode usar o utilitário apt-file se souber o nome de um arquivo que deseja pesquisar; isso tem que ser adicionado ao sistema no entanto. Por exemplo:

apt-file search somefilename

Eu costumo usar apt-cache de uma das seguintes maneiras:

apt-cache search package | sort | grep item

(Isso mostra coisas que têm item atualmente em seus resumos ou nomes.)

apt-cache search thing | sort | less

(Isso pesquisa coisa e o classifica para uma visualização agradável com less .)

    
por 03.04.2012 / 18:09
1

Meu ponto de vista é trabalhar com comandos instalados por padrão e evitar pacotes extras se não houver nenhum motivo em particular.

No meu Debian com GNU bash esses comandos simples

apt list
apt list --all-versions

fornece uma lista de tudo (instalado e não instalado). Eu posso então limitar os resultados com grep "installed" ou grep -v "installed". Ele também pode ser combinado com um ou mais nomes de pacotes (marcas mal-humoradas aceitas).

A opção "-all-versions" fornece linhas separadas de saída para cada versão do pacote (stable, testing, unstable, experimental).

A "lista apt" simples fornece apenas uma versão (a mais alta prioridade).

    
por 25.11.2016 / 11:12
0

Respondendo à sua pergunta com rigor (você quer mostrar uma lista de pacotes não instalados), tente usar

(editado de acordo com comentários abaixo)

# apt-get update
# dpkg -l '*' | egrep --invert-match '^i'

Não tenho certeza da sintaxe exata, pois estou escrevendo isso em uma caixa do Windows e não há como verificar. Talvez tente mudar o que você faz em

    
por 03.04.2012 / 18:16