[Eisfair] Alte Lib-Pakete aufräumen
Stefan Puschek
stefan.puschek at t-online.de
Fr Aug 2 20:34:42 CEST 2024
Hallo Marcus,
> > eisfair64-dev # eisman query --format "{N}={V}" --installed "lib*"
> > | grep "=3.2." | cut -d= -f1 | xargs -I "%1" eisman usage %1
> > package: libasan6
> > |<-- gcc10
> > package: libcbor0_8
> > package: libcbor0_9
> > package: libicu69-ledata
> > |<-- libicu69
> > ...
> >
> > Nun müsste der Output von "eisman usage" aber nicht angezeigt
> > werden, sondern unbenutzte Pakete wie libcbor0_8 oder libcbor0_9 an
> > "eisman uninstall --auto" weitergegeben werden. Da hänge ich gerade
> > ein wenig fest.
>
> Ich würde eine solche Automatik, die direkt automatisiert
> rausschmeißt, nicht mögen; ein kleiner Fehler und der Ärger kann groß
> werden.
>
> Ich habe mir mal folgendes Skript geschrieben, um Libs zu entdecken,
> die nicht required werden:
>
> #/bin/bash
>
> installedlibs=$(ls -1 /var/install/packages/lib* | \
> grep -v "\-dev$" | \
> grep -v "\-doc$" | \
> grep -v "\-plugins$" | \
> grep -v "\-prog$" | \
> grep -v "\-tools$" | \
> grep -v "\-utils$" | \
> cut -d "/" -f 5)
>
> for i in ${installedlibs}
> do
> if ! egrep -q "<linked-package>${i}[ <]" /var/install/packages/*
> then
> if ! egrep -q "<require-.*>${i}[ <]" /var/install/packages/*
> then
> if [ $(eisman usage ${i} | wc -l) -eq 1 ]
> then
> replacing=$(eisman query --outdated --
> fields="name,substitude" | grep -B 1 ${i} | head -1 | awk '{ print $2
> }') if [ x${replacing} != "x" ]
> then
> if ! egrep -q "<linked-package>${replacing}[ <]"
> /var/install/packages/*
> then
> if eisman query --quiet ${i}
> then
> echo ${i}
> else
> echo ${i} "(package retired or not
> existing)" fi
> fi
> else
> if eisman query --quiet ${i}
> then
> echo ${i}
> else
> echo ${i} "(package retired or not existing)"
> fi
> fi
> fi
> fi
> fi
> done
>
barbrady # ./unusedlibs
libalternatives1
libatomic_ops-dev-static
libcerf
libcroco-0_6-3 (package retired or not existing)
libdjvulibre21
libelf0
libfbclient2
libfftw3-3
libfpx1
libgc1
libglvnd
libheif1
liblqr-1-0
libmhash2
libnetfilter_conntrack3
libpcre16-0
libpdf6
libpdflite_6 (package retired or not existing)
libpipeline1
libpoppler131
libpq5
librsvg-2-2
libsgutils2-1_46-2 (package retired or not existing)
libsgutils2-1_48-2
libsodium23
libssl1_0_0
libstdcpp-libc6-2-2 <-- kann es sein, dass er die braucht :)
libsyslog0
libt1-5 (package retired or not existing)
libtiff5
libunistring2
libwmf-0_2-7
libxdmcp6
libxt6
libzio1
barbrady #
Groetjes
Stefan
Mehr Informationen über die Mailingliste Eisfair