[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