Estou procurando uma maneira padrão de obter todos os pacotes instalados em minhas máquinas Linux, mas gostaria de alcançá-los independentemente da distribuição.
Encontrei alguns muito good respostas aqui para algumas distros específicas como o Debian / Ubuntu, Fedora / CentOS, etc., mas eu não tive sucesso em uma maneira independente de distribuição para obter essa informação.
Minha primeira opção foi:
Listar todos os diretórios em alguns locais específicos, como /opt
ou /usr/bin
.
Mas usando essa abordagem, não tenho as informações sobre a versão instalada.
No melhor dos casos, posso obter os nomes dos pacotes instalados e apenas isso.
Alguns antecedentes :
Eu tenho uma lista de endereços IP e portas (em uma planilha) e preciso de SSH em cada sistema e obter os pacotes instalados e suas versões, mas as distribuições podem variar muito.
Será uma tarefa única, mas outras planilhas virão no futuro, então usarei a mesma solução mais de uma vez.
Como conheço algumas das máquinas na planilha e com base nas informações dos clientes, posso inferir que a lista é para servidores, com apenas alguns desktops. Como eu disse antes, as distros podem variar muito, mas é seguro dizer que tenho um grande número de máquinas Ubuntu, Debian e CentOS.
Para desktops, a maioria é Ubuntu com alguns macOS.
Eu posso usar algum script Bash, Python ou PHP se isso ajudar.
Para a primeira versão, decidi ignorar os gerenciadores de pacotes específicos de idiomas, como npm
, rvm
, composer
, etc, mesmo se os pacotes estivessem instalados globalmente.
Resumindo: Existe alguma maneira padrão de obter todos os pacotes instalados independentemente da distribuição?