Como verificar se um pacote virtual está instalado?

5

Na pergunta a seguir, há uma solução para a verificação de um pacote antes de instalá-lo:

Como eu verifico se um pacote está instalado no meu servidor?

No entanto, descobri que isso não funciona para os Pacotes Virtuais .

Existe uma maneira de percorrer o nome do pacote que o apt-get seleciona automaticamente e verificar o nome correto?

    
por Noki 28.09.2015 / 01:46

3 respostas

4

Você pode usar grep-status (pacote dctrl-tools , não instalado por padrão) para encontrar todos os pacotes instalados que fornecem algum pacote virtual:

$ grep-status -FProvides,Package -sPackage,Provides,Status awk 
Package: mawk
Provides: awk
Status: install ok installed

Package: gawk
Provides: awk
Status: install ok installed
    
por Florian Diesch 28.09.2015 / 04:56
3

O Apt não instalará um pacote virtual a menos que haja apenas um provedor para ele. Se outro pacote depende de um pacote virtual, ele geralmente também nomeia um pacote real como uma alternativa (isto é, build-essential depende de "libc6-dev | libc-dev" - o segundo é um pacote virtual).

Os pacotes virtuais não estão instalados, portanto, você não pode verificar o status deles. Você pode usar apt-cache showpkg <pkg-name> para ver quais pacotes fornecem o pacote virtual e, em seguida, verificar se algum deles está instalado.

    
por user448115 28.09.2015 / 02:37
-3

Você pode consultar o banco de dados de pacotes instalados para nome do pacote com

dpkg -l packagename   

E você pode listar todos os arquivos em nome do pacote com

dpkg -L packagename

Leia man dpkg para mais informações, como como usar curingas.

    
por waltinator 28.09.2015 / 02:42