web-dev-qa-db-fra.com

Comment puis-je supprimer toutes les mises à jour installées après une date donnée?

J'ai autorisé le gestionnaire de mises à jour à installer 200 Mib de mises à jour, et je pense que ces mises à jour font que mon pilote graphique pose un problème. Donc, j'ai besoin d'un moyen de supprimer les mises à jour qui ont été installées depuis le 30 mai par exemple (ou toute autre date). Si je dois les supprimer manuellement (dans le cas de les désinstaller un par un), vous êtes priés de me donner les instructions pour le faire.

12
creative

Il existe une approche alternative en ligne de commande pour obtenir l'historique d'installation.

Le gestionnaire de paquets apt semble tout consigner dans /var/log/apt/history.log et /var/log/apt/term.log, y compris en séparant tout par des horodatages. Les deux contiennent des informations utilisables similaires, mais term.log est plus détaillé et n’indique pas explicitement ce qui a initié l’opération.

Historique

/var/log/apt/history.log stocke un résumé concis de chaque exécution de apt. Voici un extrait de mon manuel pour une installation manuelle:

Start-Date: 2014-08-22  17:17:52
Commandline: apt-get install nautilus-dropbox
Install: nautilus-dropbox:AMD64 (1.6.1-1), python-gpgme:AMD64 (0.3-0ubuntu3, automatic)
End-Date: 2014-08-22  17:19:13

Le champ Commandline: indique ce qui a déclenché l'exécution. Dans le cas d'installations effectuées par le gestionnaire de mise à jour, il doit ressembler à ceci:

Commandline: aptdaemon role='role-commit-packages' sender=':1.131'

... et voici votre liste de paquets, triés par date, méthode et action (installer/mettre à jour/supprimer). Notez que si vous souhaitez renvoyer ces packages à apt-get remove ...:

  • Comme mentionné , ceci supprime complètement les paquets plutôt que de les annuler. Les informations contenues dans les journaux pourraient certainement être utilisées pour consulter les packages mis à niveau, bien que les restaurer soit un autre problème.
  • Vous devrez supprimer les parenthèses, leur contenu et le séparateur de virgule de la liste en utilisant votre méthode préférée de manipulation de texte (par exemple, sed, vim, etc.). Donc, si je veux supprimer les paquets dans l'extrait ci-dessus, je peux utiliser la ligne relativement directement:

    Sudo apt-get remove nautilus-dropbox:AMD64 python-gpgme:AMD64
    

Journal de terminal

Généralement, /var/log/apt/term.log est moins bien structuré mais, par souci d’exhaustivité, vous pouvez obtenir les mêmes informations. La sortie du terminal est à nouveau délimitée par des horodatages, et les installations de paquet peuvent être obtenues à partir de lignes de la forme suivante:

Selecting previously unselected package nautilus-dropbox.

Voici un moyen d’imprimer une liste des packages installés sur le terminal pour l’ensemble du journal:

$ awk '/^Selecting/ {gsub(/\./,""); print $5}' /var/log/apt/term.log

Cela peut être adapté ou étendu pour obtenir des installations dans une plage de dates.

8
Electric Head

Remarque: Contrairement à Windows, la suppression d'une mise à jour dans Ubuntu entraînera normalement la désinstallation du fait que package/programme et va ne pas simplement revenir (ou rétrograder) à la version précédente.

Vous pouvez ouvrir le Centre logiciel Ubuntu et cliquer sur l'historique.

enter image description here

Une fois que vous faites cela, cliquez sur les mises à jour, et cela vous montrera toutes les mises à jour installées sur votre système. Une fois que vous avez découvert les mises à jour à supprimer, vous devez le faire manuellement.

enter image description here

Pour le supprimer, vous pouvez utiliser le gestionnaire de paquets Synaptic. Si vous ne l'avez pas installé, vous pouvez l'installer à partir de

4
Mitch