Linux - afficher ou mettre à jour les mises à jour de sécurité uniquement en utilisant apt

11

existe-t-il un moyen de répertorier ou d'installer des mises à niveau de sécurité uniquement en utilisant apt?

si je liste les mises à niveau avec:

apt list --upgradable

puis-je également voir sans connaître les packages et les bibliothèques quelles mises à niveau sont des mises à niveau de sécurité pertinentes .

et en outre, existe-t-il une option pour appliquer uniquement celles-ci en en ignorant d'autres, de sorte que les mises à niveau non liées à la sécurité seront à nouveau demandées la prochaine fois que je courrai apt upgrade?

nath
la source
1
vous avez donc deux questions, 1. imprimer les mises à jour de sécurité, 2. mettre à jour uniquement les packages sélectionnés, eh bien je sais qu'il y a 6 liens dans sources.list et deux d'entre eux sont des liens de dépôt liés à la sécurité, vous pouvez voir quels packages évolutifs seraient téléchargés à partir de chaque lien par la commande suivante: sudo apt upgrade --no-upgrade --assume-no --print-uris
Brian SP2
1
mais à propos de la deuxième question, apparemment, vous pouvez choisir un seul package à mettre à niveau par la commande suivante sudo apt upgrade --upgrade-only <nom du package> mais cela ne fonctionne pas pour moi, désolé
Brian SP2

Réponses:

7

aptne peut pas (encore) fournir les informations que vous recherchez. aptitudepeut cependant, quoique un peu confus:

aptitude search '~U ~ODebian' -F "%p %O"|awk '/Debian-Security/ {print $1}'

Cela recherche tous les ~Upaquets évolutifs ( ) des dépôts officiels Debian ( ~ODebian), et affiche leur nom de paquet ( %p) et «origine» ( %O). Ce dernier affiche en fait le libellé du référentiel , qui est «Debian-Security: 9 / stable» pour les référentiels de sécurité Debian 9. Vous vous retrouvez avec une liste de noms de packages pouvant être mis à niveau à partir des référentiels de sécurité.

Il existe plusieurs façons d'installer uniquement des mises à niveau de sécurité, mais aucune n'est idéale.

  • aptitudeL'interface de texte de permet uniquement d'appliquer des mises à niveau de sécurité, simplement en faisant défiler jusqu'à l'en-tête «Security Updates» (qui devrait être le premier) et en appuyant sur +.

  • Vous pouvez alimenter la liste des packages extraits ci-dessus aptpour installer les mises à niveau:

    aptitude search '~U ~ODebian' -F "%p %O" |
    awk '/Debian-Security/ {print $1}' |
    xargs apt-get install --only-upgrade
    

    Cela a pour effet secondaire malheureux d'effacer le marqueur «installé automatiquement» sur les packages mis à niveau.

  • Vous pouvez utiliser unattended-upgrades, dont l'action par défaut consiste à appliquer uniquement les mises à niveau de sécurité:

    unattended-upgrades -v
    

    Si vous ne souhaitez pas que les mises à niveau soient installées automatiquement, vous devrez désactiver unattended-upgradesle travail cron quotidien de.

Stephen Kitt
la source
Le TUI d'Aptitude ne semble plus présenter les mises à jour de sécurité séparément - il y a un an environ le 16.04, et actuellement le 18.04. Quelqu'un d'autre a vu ça?
Greg Bell
@Greg le fait toujours pour moi (sur Debian 10), et je ne vois aucun changement dans Ubuntu qui pourrait affecter cela. Peut-être que les mises à jour de sécurité sont appliquées automatiquement avant que vous ne puissiez les voir aptitude, par exemple par unattended-upgrades...
Stephen Kitt
Non, mes mises à niveau sans assistance se limitent à Thunderbird, sshd et firefox. Ce qui est bizarre, c'est que la recherche d'aptitudes '~ U' en trouve beaucoup. Je peux voir qu'il fonctionne toujours sur l'aptitude 0.7.4; aptitude 0.8.10 est fourni avec Ubuntu 18.04. Quelle version avez-vous?
Greg Bell
@Greg J'ai 0.8.11, et il montre des mises à jour de sécurité dans leur propre section . L'affichage est configurable, ce qui pourrait être le problème ici - lorsque vous appuyez sur G, quel mécanisme de regroupement de packages est affiché? La valeur par défaut est task,status,section(subdirs,passthrough),section(topdir).
Stephen Kitt
Même mécanisme de regroupement ici. Et j'ai mv'd ~ / .aptitude pour m'assurer que ce n'était pas quelque chose de maladroit que je mettrais.
Greg Bell
5

Pour afficher la mise à jour de sécurité, vous pouvez utiliser:

apt-get --just-print upgrade | grep -i security | awk '{print $2}' | awk '!seen[$0]++'

Pour appliquer uniquement les mises à jour de sécurité pour 1 package:

apt-get install --only-upgrade pckg_name

Pour appliquer uniquement les mises à jour de sécurité de la liste:

list=$(apt-get --just-print upgrade | grep -i security | awk '{print $2}' | awk '!seen[$0]++')
apt-get install --only-upgrade $list
GAD3R
la source