[Eisfair] Neues Paket: orphanedlibs
Ansgar Püster
ansgar.puester at netcologne.de
So Mär 23 09:12:54 CET 2025
Hallo,
hier sind sich orphanedlibs und eisman irgendwie nicht einig:
eis32test # orphanedlibs.sh
libreadline7 (package not found on configured package servers)
eis32test # eisman uninstall libreadline7
The following packages will be uninstalled:
version status name source
---------------------------------------------------------------------
2.8.4 stable libreadline7 https://www.pack-eis.de
1 package(s) will free approx. 1 MB of disk space.
Continue (y/n) [yes]?
Uninstallation of: libreadline7 (2.8.4) ...
Unable to deinstall package libreadline7!
Package libreadline7 NOT removed!
eis32test # grep libreadline7 /var/lib/eisman/packages.db
[base][base][2.8.25][s][https://www.pack-eis.de]link libreadline7 2.8.4
eis32test # ls -la /var/install/packages/libreadline*
/etc/filelist.d/libreadline*
-rw-r--r-- 1 root root 1248 Mar 13 11:00
/etc/filelist.d/libreadline8-files.txt
-rw-r--r-- 1 root root 673 Nov 16 2019 /var/install/packages/libreadline7
-rw-r--r-- 1 root root 749 Mar 13 11:00 /var/install/packages/libreadline8
Hat libreadline8 das Paket libreadline7 ersetzt?
Danke.
Gruß,
Ansgar
Am 20.03.2025 um 14:16 schrieb Marcus Röckrath:
> Hallo,
>
> als Bereinigungshilfe eines eisfair-Server habe ich dieses Paket gemacht.
>
> Zur Info der im Paket enthaltene Text:
>
> Das Tool ermittelt Lib-Pakete, die von keinem eisfair-Paket mehr benoetigt
> wird.
>
> Die Hilfeseite:
>
> # orphanedlibs.sh help
> Usage: orphanedlibs.sh [eisman] [all] [help]
>
> Options:
> --eisman : Use list of lib packages created by eisman.
> Default: Use list of lib packages from packages info"
> files in /var/install/packages directory."
> --all : Output a list of all lib packages where a "+" or "-" in
> first column indicates whether a lib is required (+) or not (-).
> Default: Print list of orphaned lib packages only.
> --help : This help page.
>
>
> Wie koennen nicht mehr benoetigte auf einem eisfair-Server entstehen:
>
> Die Deinstallation von Anwendungs-Paketen entfernt von diesen benoetigte
> Lib-Pakete nicht aus dem System.
>
> Die Weiterentwicklung von Bibliotheken (Libs) fuehrt bei Wechsel der API-
> Version
> der Bibliothek zu zwei (oder mehr) unabhaengigen Lib-Paketen, z. B. libelf0
> und
> und libelf1. Programme sind entweder gegen die eine oder andere Version der
> Lib
> gelinkt, so dass sogar beide Libs auf einem System vorhanden sein muessen.
> Gegebenenfalls wechseln aber im Laufe der Zeit alle Anwendungen auf die
> neuere
> Version der Lib, so dass die Vorversion nicht mehr benoetigt wird und somit
> auch entfernt werden kann.
>
> Hier setzt dieses Tool an und ermittelt fuer die installierten Pakete, ob
> Lib-
> Pakete eventuell von keinem anderen Paket mehr erfordert wird.
>
> Hat man jedoch ein Lib-Paket installiert hat, weil eine Anwendung diese
> Lib benoetigt, diese Anwendung jedoch nicht als eisfair-Paket installiert
> wurde, kann die Abhaengigkeit nicht festgestellt werden. Diese Lib wuerden
> also
> als unnoetig erkannt.
>
> Die installierten Lib-pakete werden im Normalfall ueber die Dateien
> /var/install/packages ermittelt, mit der Option --eisman wird die Liste der
> installierten Lib-Pakete ueber "eisman query --installed ..." ermittelt.
>
> Die Option "--all" gibt eine Liste aller Lib-Pakete aus, wobei in der ersten
> Spalte ein "+" oder "-" anzeigt, ob die Lib noch benoetigt wird (+) oder
> dies nicht mehr der Fall ist (-).
>
> Beispiele:
>
> # orphanedlibs.sh
> libelf0
> librhash0
>
> Die beiden Pakete libelf0 und librhash0 werden von keinem anderen
> installierten
> Paket mehr erfordert.
>
>
> # orphanedlibs.sh all
> ...
> - libelf0
> + libelf1
> - librhash0
> + librhash1
> ...
>
>
> Gegebenenfalls werden weitere Hinweise ausgegeben.
>
> Ein Lib-Paket hat einen anders benamten Nachfolger:
>
> ... [replaced by: <new lib package name>]
>
> Ein Lib-Paket ist auf keinem konfigurierten Paketservern (mehr) verfuegbar:
>
> ... (package not found on configured package servers)
>
>
> Das Skript macht nur Vorschlaege, deinstalliert aber keine Pakete
> selbststaendig.
> Eine Lib-Deinstallation hat immer manuell odre im Paketmenue zu erfolgen.
>
>
> Marcus Roeckrath, 2025-03-20
>
Mehr Informationen über die Mailingliste Eisfair