[Eisfair] Neues Paket: orphanedlibs

Marcus Röckrath marcus.roeckrath at gmx.de
So Mär 23 09:38:41 CET 2025


Hallo Ansgar,

Ansgar Püster wrote:

> hier sind sich orphanedlibs und eisman irgendwie nicht einig:

Doch, denn das sind zwei verschiedene paar Schuhe.

oprhanedlibs prüft nur, ob eine lib noch von einem anderen Paket benötigt 
(required) wird und nicht, ob es technisch möglich ist, ob das Paket 
deinstallierbar ist.

> eis32test # orphanedlibs.sh
> libreadline7  (package not found on configured package servers)

Das Paket gibt es also schon nicht mehr - das dürfte schon länger nicht mehr 
existieren.

> 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!

Jetzt ist zu prüfen, warum die Deinstallation fehlschlägt.

Es ist nicht der Grund, das es noch benötigt wird, denn dann hätte eisman 
die Deinstallation mit Verweis auf noch existierende Abhängigkeiten 
verweigert:

eisman usage libreadline7

> 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

Es gibt also keine Fileliste für das libreadline7-Paket, weshalb eisman 
keine Informationen über zu löschende Dateien hat.

Es wird aber auch keine Deinstallroutine /var/install/deinstall/libreadline7 
geben, oder?

Was soll eisman tun?

Ich denke, man wird die zu libreadline7 gehörenden Dateien identifizieren 
und manuell löschen müssen.

/var/lib|lib64/libreadline.so.7...
/var/install/packages/libreadline7

Aus der installed.db sollte man das Paket mit

eisman uninstall --force libreadline7

loswerden, oder den kompletten Abschnitt für libreadline7 manuell aus 
/var/lib/eisman/installed.db löschen.

> Hat libreadline8 das Paket libreadline7 ersetzt?

libreadline7 und libreadline8 haben eine unterschiedliche API-Version der 
libreadline. Beide lib-Pakete können parallel uinstalliert sein, da durchaus 
eine Anwendung gegen die libreadline7 eine andere gegen die libreadline8 
gelinkt sein kann.

Natürlich werden in aller Regel noch betreute Anwendungen dann auch auf die 
neuere API wechseln, womit irgendwann libreadline7 nicht mehr gebraucht 
wird. 

-- 
Gruß Marcus
[eisfair-Team]



Mehr Informationen über die Mailingliste Eisfair