Forum Linux.mandriva Enlever les lib*.rpm orphelins

Posté par .
Tags : aucun
0
25
mai
2007
B!

ayant installer/désinstaller pas mal d'appli pour les tester, j'ai remarqué quelque chose qui me gêne.

lorsqu'on installe le soft, urpmi installe toutes les dépendances
lorsqu'on désinstalle le soft, il le désinstalle mais seulement le package principal, laissant les lib sur le disque.

Question :
Comment indentifier les lib inutiles/orphelines?

d'avance merci.
  • # rpmorphan

    Posté par . Évalué à 1.

    URL : http://rpmorphan.sourceforge.net/index.fr.html

    jamais essayé, mais il s'annonce comme un clone de deborphan qui lui fonctionne pas trop mal, donc ça peut valoir le coup
    • [^] # Re: rpmorphan

      Posté par (page perso) . Évalué à 3.

      $ for i in $(rpm -qa); do rpm -e --test $i > /dev/null 2>&1 && echo $i > orphan.list; done

      Après tu regarde orphan.list et tu vire les paquets dont tu veux pas...

      Tu peux changer rpm -qa par rpm -qa | egrep '^lib' si tu veux juste nettoyer les librairies.
      • [^] # Re: rpmorphan

        Posté par . Évalué à 3.

        Il manque un '>' pour ton echo $i > orphan.list, sinon, ca va pas etre tres complet ;)

        $ for i in $(rpm -qa); do rpm -e --test $i > /dev/null 2>&1 && echo $i >> orphan.list; done
        • [^] # Re: rpmorphan

          Posté par (page perso) . Évalué à 2.

          Ok, ça marche niquel. Et si je veux enlever les paquets qui finissent par "-devel" en plus de ceux qui ne commencent pas par "lib"?
          • [^] # Re: rpmorphan

            Posté par . Évalué à 2.

            .... rpm -qa | egrep "(-devel|^lib)" ....

            Après si tu veux plus compliqué, regarde du coté des expression régulière, c'est toujours utile à connaitre, ca dépanne énormément
            • [^] # Re: rpmorphan

              Posté par (page perso) . Évalué à 2.

              Merci pour le coup de main.
              • [^] # Re: rpmorphan

                Posté par (page perso) . Évalué à 2.

                ca n'a pas l'aire de marcher:( :
                for i in $(rpm -qa| egrep '(-devel|^lib)'); do rpm -e --test $i > /dev/null 2>&1 && echo $i >> orphan.list; done
                • [^] # Re: rpmorphan

                  Posté par (page perso) . Évalué à 2.

                  en fait, je voulais ne pas faire figurer dans la liste les paquets avec -devel . Tu as peut etre mal compris
                  • [^] # Re: rpmorphan

                    Posté par . Évalué à 1.

                    rpm -qa | grep '^lib' |grep -v '-devel'
                    • [^] # Re: rpmorphan

                      Posté par (page perso) . Évalué à 2.

                      voila une autre solution, bcp plus rapide:
                      $ for i in $(urpmi_rpm-find-leaves | egrep '^lib' | egrep -v 'devel'); do rpm -e --test $i > /dev/null 2>&1 && echo $i >> orphan.list; done

                      et pour supprimer les paquets
                      # while read i ; do urpme $i ; done < orphan.list
                      • [^] # Re: rpmorphan

                        Posté par (page perso) . Évalué à 2.

                        pardon:
                        $ urpmi_rpm-find-leaves | egrep '^lib' | egrep -v 'devel' >> orphan.list

                        vu que le test d'orphelin est déja fait.
    • [^] # Re: rpmorphan

      Posté par . Évalué à 1.

      j'ai essayé, ça donne une liste selon la date d'acces mais aucune garantie quant à "l'utilité" ou non du paquet.
  • # Normal?

    Posté par (page perso) . Évalué à 2.

    C'est pas vraiment normal que les dépendances ne soient pas désinstallées avec si elles sont inutilisées, non?
  • # urpmi_rpm-find-leaves

    Posté par . Évalué à 2.

    Ce qu'il te faut c'est la commande urpmi_rpm-find-leaves (oui c'est long comme nom de commande). Ça te sort tous les package qui, parmis ceux installés, sont des "feuilles" de l'arbre de dépendances, c'est à dire qu'aucun autre paquet installé ne dépend de ceux-là.
    Après un petit grep permet de filtre la liste:
    $ urpmi_rpm-find-leaves | grep lib
    • [^] # Re: urpmi_rpm-find-leaves

      Posté par . Évalué à 1.

      ici la liste est plus restreinte qu'avec rpmorphan, mais semble ne pas être garanti

      je vois libclamav dans la liste ansi que libtiff, libdb et autres qui me semblent encore utiles.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.