Como listar todos os pacotes em um repositório por nome

0

Eu fiz um clone completo do repositório de pacotes do Ubuntu (cerca de 230 GB) e rodando uma VM local como meu servidor de repo. Qual comando posso usar para listar TODOS os pacotes contidos nesse repositório?

    
por Eugene Goldberg 29.01.2015 / 01:58

2 respostas

2

Localmente (isto é, no servidor), você pode executar:

find /location/of/repo/ -type f -name '*.deb'

Remotamente, você pode buscar o arquivo Packages e aplicá-lo:

wget -qO - http://archive.ubuntu.com/ubuntu/dists/trusty-security/main/binary-amd64/Packages.gz \
  | zgrep -Po '(?<=^Package: ).*'
    
por muru 29.01.2015 / 02:08
1

Além de @muru answer , se você quiser encontrar todo o pacote disponível em seu local repo server de um sistema Ubuntu local, você pode usar o arquivo de metadados de cada recurso de pacote especificado em sources.list que está presente em /var/lib/apt/lists/ . O único requisito é que o seu sistema Ubuntu seja configurado para receber atualizações de seu servidor local.

Por exemplo

cd /var/lib/apt/lists/
grep -oP "(?<=Package: ).*" security.ubuntu.com_ubuntu_dists_utopic-security_main_binary-amd64_Packages 

Substitua o nome do arquivo (por exemplo, security.ubuntu.com_ubuntu_dists_utopic-security_main_binary-amd64_Packages ) pelo nome do arquivo do servidor local. Certifique-se também de que o nome desta lista termine com Packages .

    
por g_p 29.01.2015 / 06:13