Comment trouver le nombre de paquets nécessitant une mise à jour à partir de la ligne de commande?

31

Je travaille sur une automatisation de l’administrateur système qui utilise fabric et je souhaite pouvoir surveiller le nombre de paquets à mettre à niveau sur une machine donnée. Ce sont les mêmes informations que je peux voir lorsque je me connecte pour la première fois à une machine, à savoir cette partie:

35 packages can be updated.
22 updates are security updates.

Existe-t-il une commande que je peux exécuter (de préférence sans sudo ) et qui donne uniquement cette information?

J'ai regardé les liaisons apt-python, mais celles-ci semblent avoir une courbe d'apprentissage élevée et elles semblent également avoir beaucoup changé - j'aimerai quelque chose qui fonctionne au moins aussi lucide sans avoir à faire différentes choses sur différentes versions d'Ubuntu.

    
posée KayEss 22.06.2011 - 05:11
la source

4 réponses

30

Pour obtenir cette sortie, vous pouvez utiliser la commande

sudo /usr/lib/update-notifier/update-motd-updates-available

ou, si vous ne souhaitez pas utiliser sudo ,

cat /var/lib/update-notifier/updates-available

Explication

L'application login affiche le résultat trouvé dans le fichier /etc/motd , c'est-à-dire un lien symbolique vers /var/run/motd .

Ce dernier fichier est mis à jour par le service mounted-varrun (voir /etc/init/mounted-varrun.conf ) appelant tous les scripts de /etc/update-motd.d/ , et en particulier

/etc/update-motd.d/90-updates-available

qui à son tour appelle le script

/usr/lib/update-notifier/update-motd-updates-available

ce script exécute différentes actions et écrit enfin la sortie dans le fichier texte

/var/lib/update-notifier/updates-available

EDIT

En ce qui concerne la partie de redémarrage de la question, exécutez cette commande

/usr/lib/update-notifier/update-motd-reboot-required

il ne donnera aucune sortie si le redémarrage n'est pas nécessaire.

    
réponse donnée enzotib 22.06.2011 - 08:05
la source
18

Pourquoi ne pouvez-vous pas simplement lancer ceci?

/usr/lib/update-notifier/apt-check --human-readable

C'est ce que fait / usr / lib / update-notifier / update-motd-updates-available pour collecter les informations, au moins dans la version d'Ubuntu que j'utilise (12.10).

    
réponse donnée Tom Barron 03.04.2013 - 17:06
la source
2

Je recherche également une méthode scripred pour une vérification de mise à jour dans des conteneurs Docker minimaux, lorsque j'ai trouvé un commentaire dans /usr/lib/update-notifier/apt-check :

apt-get -s -o Debug::NoLocking=true upgrade | grep ^Inst

Cela permet une vérification des mises à jour par script sans avoir à installer le package update-notifier-common

    
réponse donnée Simon Sudler 08.06.2017 - 10:49
la source
-2

Eh bien, vous pouvez utiliser

sudo apt-get update

il ne vous donnera pas la liste ... ou vous pouvez utiliser system->administration->update manager mais c'est graphique: P

    
réponse donnée Rohan Bojja 22.06.2011 - 07:52
la source

Lire d'autres questions sur les étiquettes