Comment obtenir le nombre de mises à jour disponibles sur un système Ubuntu en tant qu'utilisateur normal


8

J'en ai besoin pour un simple script de surveillance que je ne veux pas exécuter en tant que root ...


1
il y a toujours nopasswd sudo restreint aux commandes
Michael Lowman

Merci à tous pour les nombreuses réponses. Après avoir essayé quelques-unes de vos suggestions et creusé un peu plus, il me semble que la solution qui nécessite le moins de dépendances et qui est la plus sécurisée est simplement l'analyse de / etc / motd - mais cela ne me semble pas très élégant :)
Joe Kandaba

Réponses:


10

Le nombre de mises à jour de sécurité en attente peut être trouvé à l'aide de:

/usr/lib/update-notifier/apt-check 2>&1 | cut -d ';' -f 1

et le nombre de mises à jour régulières en attente peut être trouvé en utilisant:

/usr/lib/update-notifier/apt-check 2>&1 | cut -d ';' -f 2

/superuser/199869/check-number-of-pending-security-updates-in-ubuntu


beaucoup plus élégant que le mien :)
anthonysomerset

Merci pour la réponse, cependant, comme l'a souligné jldugger, il s'agit d'un serveur (sans tête), donc installer> 240 paquets, y compris beaucoup de trucs gui juste pour obtenir le nombre de mises à jour apt, n'est vraiment pas une option.
Joe Kandaba

Il est fourni par le package update-notifier-common. Je ne pense pas qu'il ait de dépendances gui.
sourcejedi

1

en utilisant sudo est votre réponse, vous devrez probablement ajouter l'utilisateur auquel vous souhaitez exécuter le script au fichier sudoers et probablement avec l'indicateur nopasswd afin qu'il ne demande pas votre mot de passe à chaque exécution du script, pour plus d'informations sur sudo, essayez jetez un oeil ici: https://help.ubuntu.com/community/Sudoers


Je préférerais vraiment que rien ne soit exécuté en tant que root sur un serveur qui ne doit pas absolument le faire.
Joe Kandaba

il s'exécute en tant que root assez longtemps pour exécuter la commande, et vous pouvez le limiter à la commande spécifique nécessaire pour obtenir des mises à jour, neutralisant ainsi toute menace de sécurité possible
anthonysomerset

1

Ubuntu possède de nombreux plugins Nagios emballés, y compris le check_apt pratique, un programme C personnalisé. C'est légèrement mieux que update-notifier en ce que ses dépendances sont plus petites; si vous souhaitez surveiller des serveurs, vous l'avez probablement déjà installé! La sortie ressemble à ceci (si vous ne l'aimez pas, il semble trivial de bifurquer le programme pour imprimer ce dont vous avez besoin):

APT OK: 0 packages available for upgrade (0 critical updates).

Si l'alerte nagios n'est pas votre préférence, vous pouvez faire ce que je fais et installer apticron, qui vous enverra des notifications par e-mail sur les mises à jour disponibles sur un système.


Merci! Apticron n'est pas une option car j'ai besoin des informations pour mon propre script, donc un e-mail ne fait pas l'affaire. Pour la même raison, je n'utilise pas nagios, mais votre réponse semble impliquer que "check_apt" peut être utilisé indépendamment?
Joe Kandaba

@Joe tous les plugins nagios peuvent être exécutés indépendamment - c'est la plupart de ce que fait nagios :)
Michael Lowman

Oui. C'est juste un programme installé dans / usr / lib / nagios / check_apt. Fonctionne très bien comme tout ancien utilisateur.
jldugger
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.