Titel: Update pacman abgebrochen
Beitrag von: Dietrich am 11. Mai 2025, 10:28:48
Heute mal wieder ein neues Thema, wollte mit pacman ein update beginnen, diese wurde gleich nach der Prüfung durch pacman abgebrochen.
[sudo] Passwort für dietrich: Das hat nicht funktioniert, bitte nochmal probieren. [sudo] Passwort für dietrich: :: Paketdatenbanken werden synchronisiert … endeavouros 13,5 KiB 76,6 KiB/s 00:00 [-----------------------------------------------------------] 100% core 117,7 KiB 545 KiB/s 00:00 [-----------------------------------------------------------] 100% extra 7,8 MiB 5,63 MiB/s 00:01 [-----------------------------------------------------------] 100% multilib 134,4 KiB 553 KiB/s 00:00 [-----------------------------------------------------------] 100% :: Vollständige Systemaktualisierung wird gestartet … Abhängigkeiten werden aufgelöst … Nach in Konflikt stehenden Paketen wird gesucht … Fehler: Vorgang konnte nicht vorbereitet werden (Kann Abhängigkeiten nicht erfüllen) :: Installation von libxml2 (2.14.2-2) verletzt Abhängigkeit »libxml2.so=2-64«, benötigt von rest [dietrich@dietrich-satellitepro ~]$
Soweit so gut, darf ich jetzt libxml2 "hart" installieren ??
UNd warum habe nur ich die Meldung ? Hat sich noch niemend gemeldet ???
|
Titel: Re:Update pacman abgebrochen
Beitrag von: Andreas am 11. Mai 2025, 10:37:21
Die Meldung dürften alle haben, die ein System von mir haben. Irgendwas (was ich jetzt nicht mehr kenne) hat mal "rest" und ggf. "lib32-rest" als Abhängigkeit auf die Platte gespült. Diese Abhängigkeit ist jetzt aber weg (woher auch immer sie kam) - man kann mit sudo pacman -R rest lib32-rest (falls letzteres auch installiert ist) die beiden Pakete entfernen, dann ist das Problem weg.
Alle anderen scheinen das Problem selbst gelöst zu haben (ich darf mir mal laut lachend auf die Schenkel schlagen...)
Zu deinem Vorgehensvorschlag "hart installieren": Erst die Ursache verstehen - dann Lösungsmöglichkeiten aussuchen! Nicht nach "Schema F" vorgehen - es gibt kein "Schema F"!! Die Entscheidung, etwas "hart zu installieren", muss einen Grund haben, den man verstanden hat - sonst ist das keine gute Idee. Genauso wie "etwas hart zu entfernen" - auch hier muss das "warum" verstanden sein...
Nachtrag / Frage: Wozu dient das Paket "rest" (und lib32-rest)? Wenn man das weiß, kann man entscheiden, ob man es braucht oder nicht.
LG Andreas |
Titel: Re:Update pacman abgebrochen
Beitrag von: Dietrich am 11. Mai 2025, 12:32:27
Ja ok, Du hast Recht, aber es gibt noch mehr Abhängigkeiten.
[dietrich@dietrich-satellitepro ~]$ yay -Qi libxml2 Name : libxml2 Version : 2.13.8-1 Beschreibung : XML C parser and toolkit Architektur : x86_64 URL : https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home Lizenzen : MIT Gruppen : Nichts Stellt bereit : libxml2.so=2-64 Hängt ab von : bash glibc icu readline xz zlib Optionale Abhängigkeiten : python: Python bindings [Installiert] Benötigt von : appstream bind chromium docbook-xml docbook-xsl ebook-tools evolution evolution-data-server ffmpeg ffmpeg4.4 flickcurl foomatic-db-engine gdal gettext gnome-calculator gnome-online-accounts gst-plugins-bad gst-plugins-good gtksourceview3 gtksourceview4 gtksourceview5 gupnp hamlib imagemagick kio lib32-libxml2 libabw libaccounts-glib libakonadi libarchive libbluray libcmis libcroco libe-book libetonyek libglade libgphoto2 libgsf libgweather-4 libical libiio liblangtag libmusicbrainz5 libodfgen libqalculate libreoffice-fresh librest librsvg libsoup libspatialite libvisio libxkbcommon libxklavier libxslt llvm-libs mariadb nemo netcdf netpbm nfs-utils openbox openconnect openscad perl-alien-libxml2 python-xmlsec qt6-webengine raptor rest sane shared-mime-info stoken tinysparql vlc wayland webkit2gtk webkit2gtk-4.1 webkit2gtk-5.0 xmlsec Optional für : graphicsmagick hwloc In Konflikt mit : Nichts Ersetzt : Nichts Installationsgröße : 3,40 MiB Packer : Jan Alexander Steffens (heftig) <heftig@archlinux.org> Erstellt am : Fr 18 Apr 2025 01:10:35 CEST Installiert am : Fr 25 Apr 2025 16:54:55 CEST Installationsgrund : Installiert als Abhängigkeit eines anderen Pakets Installations-Skript : Nein Verifiziert durch : Signatur
[dietrich@dietrich-satellitepro ~]$
heißt das Du prüfst dann all die angegebenen Dateien
|
Titel: Re:Update pacman abgebrochen
Beitrag von: Andreas am 11. Mai 2025, 13:01:35
Nein. Ich prüfe nur die Pakete, die einem Update im Wege stehen. Bei Dir ist das nur das Paket "rest", das auf einer älteren Version von libxml2 beharrt. Sowas ist kontraproduktiv - es steht Updates im Wege. Entweder, das Paket (oder Mehrzahl die Pakete) die im Wege stehen können weg, oder sie müssen neu gebaut werden. Aber die Pakete "rest" oder "lib32-rest" gibt es nicht mehr in den AURs. Nachtigall, ick hör Dir trapsen 8)
LG Andreas |
Titel: Re:Update pacman abgebrochen
Beitrag von: Sebastian am 11. Mai 2025, 17:13:49
Ich wäre auch so vorgegangen:
Fehler: Vorgang konnte nicht vorbereitet werden (Kann Abhängigkeiten nicht erfüllen) :: Installation von libxml2 (2.14.2-2) verletzt Abhängigkeit »libxml2.so=2-64«, benötigt von rest
|
|
Aha das System versucht das Paket libxml2 zu aktualisieren weil dies auch wieder von neueren Paketen in einer aktuellen Form gebraucht wird. Aber das Paket rest benötigt die alte Version von libxml2. Da ist der Paketmanager nun in einem Dilemma, und fragt lieber beim Admin was getan werden soll (der sollte es wissen).
Ich als vergesslicher Admin schaue mir nun das Paket rest an was den Update prozess verhindert hat. Um mir die frage zu beantworten was ist das? Was macht das? Warum habe ich das? Kann das weg?
Wenn ich es selbst nicht installiert habe, also der Installation Grund nicht auf Explizit installiert steht, sondern installiert als Abhängigkeit dann weis ich das es irgendwann mal von ihrgendein anderen Paket mit installiert wurde um zu funktionieren. Ich selbst aber es nicht haben wollte.
Dann schaue ich mir noch die Pakete die unter benötigt von bei dem Paket rest stehen an, und wenn da nichts stehen sollte, dann kann das Paket mit ruhigen Gewissen weg. Zumindest aus der Sicht des Paketmanagers. Ob das Programm dann noch von irgendwelchen selbstgemachten Skripten etc. verwendet wird das kann der Paketmanager nicht wissen. Aber da man es selbst ja auch nicht installiert hat, so ist die Wahrscheinlichkeit dafür gering.
PS:
Um einen bei dieser Art von Abhängigkeits-Recherche unter die Arme zu greifen haben sich findige Menschen das Programm/Skript pactree erfunden, das einen Hilft sich durch den Abhähigkeitsschungel durchzukämpfen, indem es die Abhängigkeiten in einer Baumstruktur darstellt. Somit sieht man dann besser Beziehungen zu Paketen, die man dann vielleicht wieder kennt.
In dem falle, um nachzuschauen, wer das Paket rest benötigt. (Also eine Umgekehrte suche) verwendet man die Option -r, --reverse. Und damit mir pactree nicht ins letzte Detail geht, begrenze ich die Tiefe wie weit er gehen soll mit -d, --depth
Code:
Wenn man möchte kann man pactree auch noch sagen das er Optionale Abhähigkeiten mit anzeigen soll dann die Option -o einfach dazu geben.
Man sollte mit dem Programm pactree einfach ein wenig herumspielen und die Angaben zu den Abhängigkeiten mit pacman -Qi vergleichen, dann sieht man wie das Programm tickt bzw. was einen da angezeigt wird. Somit spart man sich dann in Zukunft ganz viele pacman -Qi Abfragen um sich durch Abhängigkeiten durchzuschlängeln.
PPS:
pactree habe ich vor Jahren auf einen unserer Suletux treffen durch eine Vorführung von Andreas kennengelernt und setzte, es seid dem immer genau für solche Dinge ein.
LG Sebastian |
Titel: Re:Update pacman abgebrochen
Beitrag von: Dietrich am 11. Mai 2025, 17:52:47
Danke Andreas, Sebastian
habe gleich mal pactree mit rest getestet die Ausgabe war "rest" also keine weiteren Abhämgigkeiten. Ups, habe ich etwas falsch eingegeben ? Gleiche Abfrage mit pactree und libxml2 gibt eine lange Auflistung von Abhängigkeiten aus, OK alles richtig gemacht. rest gelöscht, hoffe jetzt geht das update durch .... alles gut update ist durchgelaufen.
pactree habe ich gleich in meine "Schatzkiste" der Tools gepackt :-)
|
Titel: Re:Update pacman abgebrochen
Beitrag von: Andreas am 12. Mai 2025, 05:55:11
...wobei hier der Entscheidungsbaum mit "menschlicher Intelligenz" gegossen werden sollte und nicht mit der Menge der Abhängigkeiten (dann könnte ich es ja mit einer simplen Entscheidung in swupdate einbauen)...- welches Paket blockiert das Update eines Paketes auf die aktuelle Version (hier: rest - es möchte libxml2 in einer älteren Version)
- Was tut das Paket, was die Blockade verursacht? Habe ich es installiert? Brauche ich es? Wenn ich es nicht brauche --> weg damit
Da reicht schon der Aufruf pacman -Qi rest - mehr braucht es an dieser Stelle nicht. Beim einen oder anderen konnte man rest nicht entfernen, weil es von lib32-rest benötigt wurde. Aber spätestens nach Entfernen von lib32-rest "hing rest in der Luft".
Es kommt ab und zu vor, dass menschliches Verständnis und Entscheidung gefragt ist - das kann kein Automat erledigen. Spätestens an so einer Stelle ist man aufgeschmissen, wenn man sich nicht um das Verständnis der Zusammenhänge gekümmert hat. Einige wenige Kommandozeilenbefehle reichen hier aus, um weiterzukommen. Die Kunst besteht darin, die Ausgaben dieser Befehle korrekt interpretieren zu können und eigene Schlüsse aus den Ausgaben zu ziehen, die dann das Weitergehen bestimmen. pacman -Qi <Paketname> eingeben kann jeder - die Ausgaben dieses Befehls richtig verstehen ist eine andere Hausnummer.
swupdate erledigt (so weit ich weiß) alle Probleme, die man automatisch erledigen kann, eigenständig. Wenn swupdate nicht alleine weiterkommt ist immer eine Entscheidung notwendig, die der User an Hand seiner Nutzung des Systems fällen muss, manchmal unter schwierigeren Abwägungen. Die Antwort lautet nie einfach und simpel "kann weg" - das könnte swupdate auch selbst (siehe weiter oben).
LG Andreas
|
Titel: Re:Update pacman abgebrochen
Beitrag von: Sebastian am 12. Mai 2025, 12:25:41
Danke Andreas, dass du das noch mal besser formuliert hast. Bei mir kamm das glaub ich nicht so eindeutig rüber.
...wobei hier der Entscheidungsbaum mit "menschlicher Intelligenz" gegossen werden sollte und nicht mit der Menge der Abhängigkeiten (dann könnte ich es ja mit einer simplen Entscheidung in swupdate einbauen)...
|
|
Das meinte ich damit als ich sagte:
... dann kann das Paket mit ruhigen Gewissen weg. Zumindest aus der Sicht des Paketmanagers. Ob das Programm dann noch von irgendwelchen selbstgemachten Skripten etc. verwendet wird das kann der Paketmanager nicht wissen. Aber da man es selbst ja auch nicht installiert hat, so ist die Wahrscheinlichkeit dafür gering.
|
|
Da können natürlich auch noch vergessene Abhängigkeiten sein, die der Paket Maintainer im Paket nicht angegeben hat. Und somit der Paketmanager dann auch nichts drüber weiß, was ich gehört habe öfter mal bei AUR Paketen vorkommen soll. Sollte Aufgrunddessen ein Programm nicht mehr starten, so gild dann auch hier wieder Fehlermeldung lesen und richtig interpretieren um das feststellen zu können das man zuviel deinstalliert hat.
Was tut das Paket, was die Blockade verursacht? Habe ich es installiert? Brauche ich es? Wenn ich es nicht brauche --> weg damit
|
|
Ich als vergesslicher Admin schaue mir nun das Paket rest an was den Update prozess verhindert hat. Um mir die frage zu beantworten was ist das? Was macht das? Warum habe ich das? Kann das weg?
|
|
What i say ;D
Da reicht schon der Aufruf pacman -Qi rest - mehr braucht es an dieser Stelle nicht.
|
|
Das ist richtig, meistens brauch man nicht mehr. Ich gab den Tipp für pactree nur noch mal mit weil Unterumständen einen Paketnamen am Anfang eines Abhägihkeitsbaum einen nicht auf dem ersten Blick einen etwas sagen (weil man sie meistens nicht selbst installiert hat) aber die Darauffolgenden Pakete dann schon. wobei diese sich meist nie weiter als 2 Ebenen von der Wurzel (Quellpaket) entfernt sind. Und richtig interpriiert bekommt man bei pactree genau die gleiche Abhähigkeits-Information wie über pacman -Qi
Auf jeden Fall fand ich Andreas seinen Post sehr viel verständlicher, und ich glaube so versteht das jeder das diese Aufgabe kein Automat erledigen kann und hier der Admin (Mensch) gefragt ist, die Meldungen richtig zu interpretieren um dann für sich die richtige Entscheidung treffen zu können um das Problem zu lösen.
Denn wer weiß vielleicht wäre für jemanden anderes das Paket rest auch wichtig gewesen und hat es sogar selbst installiert. Dann wäre die Entscheidung eine ganz andere und man hätte eine andere Lösung finden müssen.
In diesen Sinne, es kann kein Lösungsschema F geben. Man kann sich aber ein Schemata erarbeiten welche Punkte abgeklopft werden müssen, wie lese ich diese Meldungen was daraus ist für mich wichtig, wie muss man diese Interpretieren. Und dafür hilft nur das man sich mit der Materie und dem Hintergrundwissen beschäftigt.
Um euch das einmal vor Augen zu führen:
Wer wüsste jetzt den z.B. woher unser Paketmanager (pacman -Qi) diese Informationen hat? Bzw. wie heist die Datei, die wesentlich für den Bau eines Paketes benötigt wird?
Oder anders gefragt habt ihr euch schon mal gefragt, wie man ein Arch Paket selbst baut? Wenn man das weiß wie das geht, dann kann man nämlich auch solche Abhängigkeitsfragen beantworten und man versteht die Zusammenhänge. Und man ist auf einmal in der Lage sich bei sehr vielen Updateproblemen sich selbst zu helfen.
LG Sebastian |
Diskussions- und Newsboard der Linux Interessen Gruppe Suletuxe | Powered by YaBB SE
© 2001-2003, YaBB SE Dev Team. All Rights Reserved.
|