[Eisfair] Neues Paket: orphanedlibs

Marcus Röckrath marcus.roeckrath at gmx.de
Do Mär 20 14:16:12 CET 2025


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

-- 
Gruß Marcus
[eisfair-Team]



Mehr Informationen über die Mailingliste Eisfair