Estou trabalhando em alguma automação de administração do sistema usando fabric e gostaria de poder monitorar o número de pacotes que precisam ser atualizados em uma determinada máquina. Esta é a mesma informação que eu posso ver ao fazer o login em uma máquina, ou seja, nesta parte:
35 packages can be updated.
22 updates are security updates.
Existe um comando que eu possa executar (preferencialmente sem sudo
) que forneça exatamente essas informações?
Eu olhei para as ligações apt-python, mas elas parecem ter uma alta curva de aprendizado e também parecem ter mudado bastante - eu gostaria de algo que funcione pelo menos desde lúcido, sem precisar faça coisas diferentes em diferentes versões do Ubuntu.
fonte
cat
O arquivo que você sugere está em branco e o script para o qual você aponta primeiro não existe nesta máquina - está em algum pacote que precisa ser instalado? Eu tenho/usr/lib/update-manager
, mas nenhumupdate-notifier
diretório.update-notifier-common
que foi instalado automaticamente em uma instalação nova (não na atualização da 10.10)./var/lib/update-notifier/apt-check
isso, parece que retornam os dois números, ou seja, 43; 24 (43 atualizações, 24 são de segurança), mas mesmo isso não aparece em todas as minhas máquinas. Suponho que esse arquivo possa ter sido movido entre pacotes em versões diferentes.Por que você não pode simplesmente executar isso?
É o que o / usr / lib / update-notifier / update-motd-updates-available faz para coletar as informações, pelo menos na versão do Ubuntu que estou usando (12.10).
fonte
update-motd
pacote e seu pensamento. Obrigado por apenas dar o comando direto.Também procuro um método correspondente para uma verificação de atualização dentro de contêineres mínimos do docker, quando encontrei um comentário em
/usr/lib/update-notifier/apt-check
:Isso permite uma verificação de atualização com script, sem a necessidade de instalar o
update-notifier-common
pacotefonte
Você pode usar o
check_apt
plug-in demonitoring-plugins-basic
( Nagios ), com a vantagem de obter diferentes códigos de retorno, dependendo da disponibilidade de atualizações:Os códigos de retorno têm os seguintes significados:
0
-> nenhum pacote disponível para atualização1
-> pacotes não críticos disponíveis para atualização2
-> atualizações críticas disponíveisReferências:
fonte