Dans l'outil GUI, vous pouvez obtenir une liste de packages avec des mises à jour de sécurité. Cela peut-il être fait sur la ligne de commande dans Debian ou Ubuntu?
Normalement, je pourrais utiliser "apt-get upgrade" qui me montrerait ce qui est mis à niveau, mais je voudrais savoir lesquels sont des mises à jour de sécurité.
Utilisez l'application de mise à niveau sans assistance.
Sudo unattended-upgrade
Cela vous permet d'installer uniquement les mises à jour de sécurité automatiquement, mais vous pouvez l'appeler manuellement si nécessaire.
apt-get upgrade -s | grep -i security
... est ce que le plug-in Nagios check-apt utilise pour compter les mises à jour de sécurité en attente, ce qui est similaire à ce que vous recherchez.
Sur ubuntu, vous devriez pouvoir utiliser apt-check, c'est celui qui remplit votre motd avec le nombre de mises à jour de sécurité disponibles.
Vous pouvez obtenir une liste avec cette commande:
Sudo unattended-upgrade --dry-run -d 2> /dev/null | grep 'Checking' | awk '{ print $2 }'
J'ai une version modifiée de update-notifier
qui prend un commutateur supplémentaire: --security-package-names
qui affiche uniquement les noms des packages liés à la sécurité. Je l'ai en tant que Gist (jusqu'à ce que je crée une demande de fusion dans le projet correspondant dans le tableau de bord). Jusque-là, il peut être exécuté comme suit:
Exécuter
curl -s https://Gist.githubusercontent.com/ahmadnazir/c2444d6b09fd7bb4963a13bc577d92a3/raw/0231b94a4e46abe0a5959de5f84feda76ad2eb9d/apt-check.py \
| python /dev/stdin --security-package-names \
| column -t -s , \
| sort
Sortie
Cela donne une sortie au format: nom du package, version installée, et version candidate:
...
Thunderbird 1:38.6.0+build1-0ubuntu0.14.04.1 1:38.8.0+build1-0ubuntu0.14.04.1
Thunderbird-gnome-support 1:38.6.0+build1-0ubuntu0.14.04.1 1:38.8.0+build1-0ubuntu0.14.04.1
Thunderbird-locale-en 1:38.6.0+build1-0ubuntu0.14.04.1 1:38.8.0+build1-0ubuntu0.14.04.1
Thunderbird-locale-en-us 1:38.6.0+build1-0ubuntu0.14.04.1 1:38.8.0+build1-0ubuntu0.14.04.1
...
Basé sur la réponse de Fabrizio Regini ci-dessus.
Pour 12.04/Précis:
Sudo unattended-upgrade --dry-run -d 2>&1 /dev/null | grep 'Checking' | grep security | awk '{ print $2 }'
Pour 14.04/Trusty:
Sudo unattended-upgrade --dry-run -d | grep 'Checking' | grep security | awk '{ print $2 }'
Et une variante s'est effondrée après avoir lu les autres réponses - je crois que cela répond au problème des faux positifs et est raisonnablement léger.
Sudo unattended-upgrade --dry-run -d 2>/dev/null | awk '/Checking/ && /archive:..*-security. / {print $2}'
Je pense que la réponse de @smin est fondamentalement une bonne approche, mais un peu lâche avec l'expression régulière, comme l'a noté @Shnatsel.
Que dis-tu de ça:
apt-get upgrade -q --dry-run \
| Perl -ne 'm/^Inst (\S+) \S+ \(([^\)]+) Debian-Security:8/ && print "$1-$2\n"'
Cela répertorie les noms des packages ainsi que les versions que vous souhaitez installer. Vous pouvez prendre -$2
hors de l'instruction print si vous ne voulez pas les versions.
[Cela pourrait probablement être rendu un peu plus léger en utilisant awk au lieu de Perl]
J'ai résolu de modifier le script apt-check sur mon système Ubuntu. Il ne s'occupe que des mises à jour de sécurité, affichant également les noms des packages si l'indicateur -p a été fourni.
Vous pouvez trouver le Gist ici: https://Gist.github.com/thesp0nge/94f9d336a081a3fefba6ca61d787a28b
Je crois que la réponse à la question posée par l'OP est de savoir comment voir les List des packages, et non comment installer uniquement les packages de sécurité. S'appuyant sur la réponse de @topdog Vous devez utiliser: /usr/lib/update-notifier/apt-check -p
Où le -p
flag représente les packages
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 -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