Ich kann mein System nicht mit „Pacman“ aktualisieren

Ich kann mein System nicht mit „Pacman“ aktualisieren

Beim Versuch, mein System zu aktualisieren, erhalte ich die Fehlermeldung: Die Vorbereitung der Transaktion ist fehlgeschlagen (Abhängigkeiten konnten nicht erfüllt werden).

Das ist, was ich bekomme:

~> sudo pacman -Syu
:: Synchronising package databases...
 gremlins is up to date
 system is up to date
 world is up to date
 galaxy-gremlins is up to date
 galaxy is up to date
 lib32 is up to date
 extra is up to date
 community is up to date
 multilib is up to date
:: Starting full system upgrade...
:: Replace libcanberra-pulse with gremlins/libcanberra? [Y/n] n
resolving dependencies...
looking for conflicting packages...
error: failed to prepare transaction (could not satisfy dependencies)
:: installing expat (2.4.1-1) breaks dependency 'expat=2.3.0' required by lib32-expat
:: installing libcap (2.50-1) breaks dependency 'libcap=2.49' required by lib32-libcap
:: installing libelf (0.185-1) breaks dependency 'libelf=0.184' required by lib32-libelf
:: installing libcanberra (0.30+2+gc0620e4-4) breaks dependency 'libcanberra=0.30+2+gc0620e4-3' required by libcanberra-pulse

Ich versuche dann das Paket zu entfernen expat, erhalte jedoch die Meldung: „Achtung: Es befinden sich verbotene Pakete in der Entfernungsliste!“

Ich habe mir das angesehenWebsite, aber hier können sie das problematische Paket deinstallieren, was ich nicht kann, da expates Teil des Kerns ist.

Was soll ich an diesem Punkt tun?

Antwort1

Pakete im lib32Repository, bei denen es sich um 32-Bit-Versionen verschiedener Bibliotheken usw. handelt, sind von ihren 64-Bit-Gegenstücken derselben Version abhängig.

Sie haben die instabilen Test-Repositorys wie gremlinsund galaxy-gremlins, die neuere Versionen von Paketen wie bereitstellen expat. Sie haben jedoch kein lib32-gremlinsRepository und erhalten daher nicht dieselben Updates für die 32-Bit-Gegenstücke dieser Pakete, d. h. Sie können bei den alten (stabilen) Paketen bleiben. Und da die stabilen 32-Bit-Pakete lib32-expatvon den 64-Bit-Gegenstücken der stabilen Repositorys abhängen, besteht ein Konflikt, da Sie entweder Ihr System auf einem älteren System belassen (um die Abhängigkeiten der alten 32-Bit-Pakete zu erfüllen) oder die neueren 64-Bit-Pakete installieren können (wodurch die Abhängigkeiten der 32-Bit-Pakete aufgehoben werden, was nur durch Deinstallation möglich ist).

Alternativ können Sie lib32-gremlinsdas Repository aktivieren, das 32-Bit-Versionen von Paketen in den 64-Bit-Test-Repositorys bereitstellt, oder alle Test-Repositorys deaktivieren – mit jeder dieser beiden Aktionen werden Ihre 64-Bit- und 32-Bit-Repositorys synchronisiert und Abhängigkeiten können mit den neuesten verfügbaren Paketen gelöst werden.

verwandte Informationen