Qual é a opção equivalente do apt-get deste comando do dpkg?

7
dpkg -L <package>

Este comando me dá uma lista de todos os arquivos instalados, qual é a opção equivalente do apt-get? Eu li a man page, mas não consegui descobrir.

    
por grokus 24.08.2010 / 19:36

4 respostas

14

Como Dennis disse, apt-get é uma camada em cima de dpkg (ou de outros gerenciadores de pacotes locais, como rpm ). dpkg gerencia os pacotes locais na máquina, enquanto apt-get fornece uma maneira de pegar pacotes de repositórios distantes e resolver dependências entre pacotes que serão entregues a dpkg .

dpkg -L <package_file>

lista os arquivos fornecidos por um pacote já instalado na máquina.

Com o apt-get, você pode querer listar os arquivos que um pacote fornece, mesmo que ele não esteja instalado em seu sistema. Felizmente para você, existe uma ferramenta para isso, chamada apt-file , que precisa ser instalada além de apt-get . Você pode usá-lo desta maneira:

# Install apt-file
$ sudo apt-get install apt-file
# update apt-file's cache (different than apt-get's, namely apt-cache)
$ sudo apt-file update
# display the contents of a package
$ sudo apt-file list <package_name>

Observe que apt-file usa arquivos especiais no repositório de pacotes chamados arquivos de conteúdo. Embora todos os repositórios oficiais tenham esses arquivos, alguns repositórios de terceiros podem não tê-los, portanto, apt-file não poderá listar o conteúdo dos pacotes nesses repositórios.

man apt-file

também listará outras coisas legais que você pode fazer com apt-file , como apt-file search <keyword> , que permite descobrir quais pacotes fornecem um determinado arquivo.

    
por ℝaphink 24.08.2010 / 20:55
3

Não há equivalente. apt-get é uma camada em cima de dpkg , não uma substituição.

    
por Dennis Kaarsemaker 24.08.2010 / 19:41
1

apt-cache pode ser usado para algumas coisas que você pode querer fazer:

Na verdade, listando todos os pacotes:
Para realmente listar todos os pacotes que estão no cache de apt-get , use apt-cache pkgnames . Isso é praticamente o equivalente a dpkg -l para apt-get , exceto que somente mostra nomes de pacotes, e não qualquer outra informação que dpkg possa mostrar.

NOTA: Usando apt-cache pkgnames gerará incrivelmente muita saída, no meu sistema é tanto quanto 39553 linhas. Para ver antecipadamente quantas linhas seriam no seu sistema, tente usar apt-cache stats (veja abaixo).

Pesquisando:
Use apt-cache search <regex> [<regex> [...]] onde <regex> é uma ou mais expressões regulares para procurar.

Contando:
Use apt-cache stats para mostrar algumas estatísticas sobre esse cache desde a última apt-get update .
Por exemplo, um exemplo de saída pode ser:

Total package names: 39553 (1,582k)
  Normal packages: 30033
  Pure virtual packages: 511
  Single virtual packages: 2762
  Mixed virtual packages: 305
  Missing: 5942
Total distinct versions: 32378 (1,813k)
Total distinct descriptions: 32378 (777k)
Total dependencies: 210651 (5,898k)
Total ver/file relations: 34931 (559k)
Total Desc/File relations: 32378 (518k)
Total Provides mappings: 5816 (116k)
Total globbed strings: 169 (2,278)
Total dependency version space: 1,052k
Total slack space: 73.4k
Total space accounted for: 10.0M
    
por Frxstrem 24.08.2010 / 22:53
-1

Não existe. Você pode usar o synaptic da GUI que mostrará todos os pacotes instalados.

Mostrado abaixo.

    
por myusuf3 24.08.2010 / 19:45

Tags