Comment obtenir une liste de toutes les mises à jour de sécurité en attente?

14

J'ai besoin de répertorier (sans compter ni installer) toutes les mises à jour de sécurité en attente sur un système Ubuntu 14.04. J'ai lu le post Comment créer une liste des seules mises à jour de sécurité avec apt-get? et sa réponse acceptée ( apt-show-versions | grep upgradeable | grep security) me donne en effet une liste.

Cependant, cette commande répertorie 62 mises à jour de sécurité en attente. /usr/lib/update-notifier/apt-checkme dit que j'ai 75 mises à jour de sécurité en attente, mais ne semble pas avoir un moyen de les répertorier. Comment puis-je concilier ces deux nombres? L'une des deux commandes fait-elle autre chose que ce que je veux?

user3553031
la source

Réponses:

7

Si vous cherchez à le faire rapidement une seule fois, au lieu de créer un référentiel séparé et de créer des scripts d'automatisation et tout cela. Idéal si vous n'êtes pas censé apporter des modifications lors de l'audit d'un système ou autre.

Ces deux commandes cracheront la liste. Dirigez-vous vers wc -l pour voir combien sont derrière. ;-)

grep security /etc/apt/sources.list > /tmp/security.list
sudo apt-get upgrade -oDir::Etc::Sourcelist=/tmp/security.list -oDir::Etc::SourceParts=/some/valid/dir/false -s

Toujours valide pour les distributions plus anciennes ou si vous avez désactivé les référentiels de mise à jour, mais la sécurité est activée:

sudo apt-get upgrade -s| grep ^Inst |grep Security 
flickerfly
la source
pourquoi écrivez-vous « Toujours valide pour les distributions plus anciennes ou si vous avez désactivé les mises à jour, mais la sécurité est activée »? si la solution canalisée ne fonctionne pas, ajoutez peut-être l' option -V( -verbose-versions)?
myrdd
@myrdd Parce que le premier utilise des fonctionnalités qui n'étaient pas disponibles sur les distributions qui se démodaient en 2016. Ce ne serait plus rien.
flickerfly le
donc cette dernière solution devrait toujours fonctionner, non?
myrdd
1
@myrdd Tant que le format de la sortie ne change pas dans une version plus récente. Le premier est meilleur car il ne dépend pas du format de sortie.
flickerfly
2

Cela a fonctionné pour moi:

sudo unattended-upgrade --dry-run -d 2> /dev/null | awk '/Checking/ { print $2 }'
Samuel James
la source
2
Affiche toutes les mises à jour disponibles, mais ne se limite pas aux mises à jour de sécurité si je ne me trompe pas. Toujours utile.
delf
2
sudo apt-get -s --no-download dist-upgrade -V | grep "^Inst.*security.*$" | cut -d " " -f 2

Avec l'aide de cette question

lolcode
la source
2
+---------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|                            Command                            |                                                                               Purpose                                                                               |
+---------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| apt list --upgradable                                         | List all updates available                                                                                                                                          |
| apt list --upgradable | grep "\-security"                     | List all updates that are security.                                                                                                                                 |
| apt list --upgradable 2>/dev/null | grep "\-security" | wc -l | Count number of security updates available. and redirects the stderr like "WARNING: apt does not have a stable CLI interface. Use with caution in scripts." to null |
+---------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
en savoir plus
la source
0
sudo apt list --upgradable |grep "/$(lsb_release -cs)-security"

Cela répertorie toutes les mises à jour disponibles via le référentiel de sécurité.

zerwas
la source
1
apt est à usage interactif. Vous obtenez un avertissement lorsqu'il est utilisé dans un script. Utilisez apt-getplutôt.
Bernard
0

il doit y avoir un moyen de demander combien de packages peuvent être mis à jour et combien de mises à jour de sécurité en ce moment , mais si vous vous contentez de le demander une fois par jour, vous pouvez simplement lire le fichier / var / lib / update-notifier / updates-available , qui semble être mis à jour quotidiennement par le script /etc/cron.daily/update-notifier-common qui appartient au paquet update-notifier-common

Exemple:

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

355 packages can be updated.
1 update is a security update.

Testé en:

  • Ubuntu 14.04 LTS
  • Ubuntu 16.04 LTS
  • Ubuntu 18.04 LTS

Cordialement,

/Ange

ange
la source