Contenu | Rechercher | Menus

Annonce

La nouvelle clé USB Ubuntu-fr est en prévente
Rendez-vous sur la boutique En Vente Libre

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#26 Le 17/11/2017, à 13:02

youraty

Re : comment supprimer les paquets installé par un meta paquet?[RESOLU]

c'est clair!
car entre le nombre de paquet et le nombre de dépots installé, c'est impressionant!
moi qui etait fier de n'avoir rajouté quasiment aucun dépot jusqu'a present..

Hors ligne

#27 Le 02/12/2017, à 14:12

moko138

Re : comment supprimer les paquets installé par un meta paquet?[RESOLU]

N.B. : la méthode qui suit sera intéressante
- dans les cas où ppa-purge n'aura pas suffi à régler un problème du type :

E: Impossible de corriger les problèmes, des paquets défectueux sont en mode « garder en l' état »

- et dans les cas où un remove mon-paquet aura eu des effets plus étendus que prévu.
  - -


En #9, je me demandais, au sujet des 285 paquets :

Avec un peu de chance, une bonne âme te trouvera une commande pour transformer :
drumgizmo:amd64 (1:0.9.14-1kxstudio1, automatic), libfltk1.1:amd64 (1.1.10-22, automatic), (...)
     en
drumgizmo  libfltk1.1  (...)

j'ai fini par trouver (oui, un peu tard... smile)

Au lieu de /var/log/apt/history.log, il faut utiliser
/var/log/apt/term.log  (ou term.log.1.gz, s'il faut remonter au mois précédent).


Étape 1
On copie sur le Bureau term.log (ou le fichier extrait de term.log.1.gz).


1er point clef :
Il ne s'agit surtout pas de sélectionner tous les paquets traités dans ce fichier
(rappel : il y a généralement un mois complet d'utilisation d'apt par fichier).

Étape 2
  On va donc supprimer du fichier tout ce qui a été traité par apt avant et après le jour et l'heure de la manoeuvre malheureuse :

[début à couper]
Log started: 2017-11-22  19:26:01
(...)
Log ended: 2017-11-22  19:26:33
[fin à couper]

et on enregistre.

Dans mon exemple le fichier est "term.log.1", et, après cette découpe, il va en rester ceci :

Log started: 2017-11-22  19:26:01
Sélection du paquet libgee2 précédemment désélectionné.
(Lecture de la base de données... 
(Lecture de la base de données... 5%
(...)
(Lecture de la base de données... 100%
(Lecture de la base de données... 151214 fichiers et répertoires déjà installés.)
Dépaquetage de libgee2 (à partir de .../libgee2_0.6.4-1_i386.deb) ...
Sélection du paquet gir1.2-dbusmenu-glib-0.4 précédemment désélectionné.
Dépaquetage de gir1.2-dbusmenu-glib-0.4 (à partir de .../gir1.2-dbusmenu-glib-0.4_0.6.2-0ubuntu0.2_i386.deb) ...
Sélection du paquet libdee-1.0-4 précédemment désélectionné.
Dépaquetage de libdee-1.0-4 (à partir de .../libdee-1.0-4_1.0.10-0ubuntu1.1_i386.deb) ...
Sélection du paquet gir1.2-dee-1.0 précédemment désélectionné.
Dépaquetage de gir1.2-dee-1.0 (à partir de .../gir1.2-dee-1.0_1.0.10-0ubuntu1.1_i386.deb) ...
Sélection du paquet libunity9 précédemment désélectionné.
Dépaquetage de libunity9 (à partir de .../libunity9_5.12.0-0ubuntu1.1_i386.deb) ...
Sélection du paquet gir1.2-unity-5.0 précédemment désélectionné.
Dépaquetage de gir1.2-unity-5.0 (à partir de .../gir1.2-unity-5.0_5.12.0-0ubuntu1.1_i386.deb) ...
Préparation du remplacement de usb-creator-common 0.2.38.3ubuntu0.1 (en utilisant .../usb-creator-common_0.2.38.3ubuntu0.1_i386.deb) ...
Dépaquetage de la mise à jour de usb-creator-common ...
Sélection du paquet usb-creator-gtk précédemment désélectionné.
Dépaquetage de usb-creator-gtk (à partir de .../usb-creator-gtk_0.2.38.3ubuntu0.1_i386.deb) ...
Traitement des actions différées (« triggers ») pour « desktop-file-utils »...
Traitement des actions différées (« triggers ») pour « man-db »...
Traitement des actions différées (« triggers ») pour « hicolor-icon-theme »...
Paramétrage de libgee2 (0.6.4-1) ...
Paramétrage de gir1.2-dbusmenu-glib-0.4 (0.6.2-0ubuntu0.2) ...
Paramétrage de libdee-1.0-4 (1.0.10-0ubuntu1.1) ...
Paramétrage de gir1.2-dee-1.0 (1.0.10-0ubuntu1.1) ...
Paramétrage de libunity9 (5.12.0-0ubuntu1.1) ...
Paramétrage de gir1.2-unity-5.0 (5.12.0-0ubuntu1.1) ...
Paramétrage de usb-creator-common (0.2.38.3ubuntu0.1) ...
Paramétrage de usb-creator-gtk (0.2.38.3ubuntu0.1) ...
Traitement des actions différées (« triggers ») pour « libc-bin »...
ldconfig deferred processing now taking place
Log ended: 2017-11-22  19:26:33

  - -

On pourrait alors croire que

cd ~/Bureau && cat term.log.1 | grep "Dépaquetage de" | tr -s " " | cut -d" " -s -f3 | grep -v '«' | sort 

suffit :

gir1.2-dbusmenu-glib-0.4
gir1.2-dee-1.0
gir1.2-unity-5.0
la
libdee-1.0-4
libgee2
libunity9
usb-creator-gtk

mais non : la ligne

la

nous met la puce à l'oreille

C'est que nous n'avons pas encore distingué les remplacements/mises à jour des installations :

Préparation du remplacement de usb-creator-common 0.2.38.3ubuntu0.1 (en utilisant .../usb-creator-common_0.2.38.3ubuntu0.1_i386.deb) ...
Dépaquetage de la mise à jour de usb-creator-common ...   #### "la"
Dépaquetage de usb-creator-gtk

  - -

Deuxième point clef
Il faut donc séparer les paquets mis à jour et les paquets installés.


Étape 3, lister les paquets mis à jour
Voici la commande qui va nous trouver en 5ème position les remplacements :

cd ~/Bureau && cat term.log.1 | grep "remplacement" | tr -s " " | cut -d" " -s -f5 | grep -v '«' | sort | tr '\n' ' '

et son retour (dans mon cas, un seul paquet) :

usb-creator-common

Étape 4, lister les paquets installés
Voici la commande qui va nous dégotter en 3ème position les installations :

cd ~/Bureau && cat term.log.1 | grep "Dépaquetage de" | tr -s " " | cut -d" " -s -f3 | grep -v '«' | sort | grep -v la | tr '\n' ' '

et son retour

gir1.2-dbusmenu-glib-0.4 gir1.2-dee-1.0 gir1.2-unity-5.0 libdee-1.0-4 libgee2 libunity9 usb-creator-gtk

  - -

On a ainsi
- obtenu les noms des paquets débarrassés des informations perturbantes ;
- regroupé sur une ligne les noms des paquets à purger ;
- regroupé sur une autre ligne les noms des paquets à purger et, après suppression des ppa et/ou autres dépôts inappropriés, à réinstaller.


EDIT 4 janvier 2018 :
  - une faute de frappe corrigée ;
  - ajouté    | grep -v '«'    devant     | sort
  - remplacé les tabulations '\t' par des espaces ' '
Le guillemet ouvrant a été rencontré en ./viewtopic.php?id=2020057 (message #24) dans les cas d'installation et de désinstallation de libgstreamer1.0-dev, produisant dans le log ces lignes :

Sélection du paquet libgstreamer1.0-dev précédemment désélectionné.
Préparation du dépaquetage de .../libgstreamer1.0-dev_1.2.4-0ubuntu1.1_amd64.deb ...
Ajout de « détournement de /usr/bin/dh_gstscancodecs en /usr/bin/dh_gstscancodecs-gst0.10 par libgstreamer1.0-dev »
Ajout de « détournement de /usr/share/man/man1/dh_gstscancodecs.1.gz en /usr/share/man/man1/dh_gstscancodecs.1.gz-gst0.10 par libgstreamer1.0-dev »
Suppression de libgstreamer1.0-dev (1.2.4-0ubuntu1.1) ...
Suppression de « détournement de /usr/bin/dh_gstscancodecs en /usr/bin/dh_gstscancodecs-gst0.10 par libgstreamer1.0-dev »
Suppression de « détournement de /usr/share/man/man1/dh_gstscancodecs.1.gz en /usr/share/man/man1/dh_gstscancodecs.1.gz-gst0.10 par libgstreamer1.0-dev »

Attention, donc si vos critères de recherche sont
grep Suppression | tr -s " " | cut -d" " -s -f3
  variante :
grep Removing | tr -s " " | cut -d" " -s -f2
... !
  - -

Remarque :
  La recherche visuelle d'intrus (la, « ou autre) est plus facile quand les noms de paquets sont encore en colonne, donc avant d'utiliser

  | tr '\n' ' '

Dernière modification par moko138 (Le 04/01/2018, à 06:18)


%NOINDEX%
Un utilitaire méconnu : ncdu

Hors ligne