[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