Heute habe ich versucht, meinen Arch-Linux-Desktop zu aktualisieren, und bin auf ein Perl-Abhängigkeitsproblem gestoßen. Allerdings habe ich diese kaputten Perl-Pakete nie direkt installiert. Ich dachte, es liegt an einem Pacman-Problem. Nach einigem Suchen in Arch Linux-Foren fand ich heraus, dass es nicht mit Pacman, sondern mit AUR zusammenhängt. Hier ist die Fehlermeldung, die ich erhalten habe, als ich versucht habe, mein Arch-System zu aktualisieren.
$ sudo pacman -Syu
Beispielausgabe:
:: Synchronizing package databases... core 124.1 KiB 131K/s 00:01 [----------------------] 100% extra 1667.6 KiB 221K/s 00:08 [----------------------] 100% community 3.8 MiB 375K/s 00:10 [----------------------] 100% multilib 176.6 KiB 189K/s 00:01 [----------------------] 100% archlinuxfr is up to date :: Starting full system upgrade... :: Replace wxgtk with extra/wxgtk2? [Y/n] resolving dependencies... looking for conflicting packages... error: failed to prepare transaction (could not satisfy dependencies) :: gnome-perl: installing perl (5.26.0-1) breaks dependency 'perl<5.25' :: gnome-vfs-perl: installing perl (5.26.0-1) breaks dependency 'perl<5.25' :: gnomecanvas-perl: installing perl (5.26.0-1) breaks dependency 'perl<5.25' :: perl-gnome2-wnck: installing perl (5.26.0-1) breaks dependency 'perl<5.25' :: perl-goo-canvas: installing perl (5.26.0-1) breaks dependency 'perl<5.25' :: perl-gtk2-imageview: installing perl (5.26.0-1) breaks dependency 'perl<5.25' :: perl-gtk2-unique: installing perl (5.26.0-1) breaks dependency 'perl<5.25'
Die oben genannten Pakete sind die Abhängigkeiten des Shutter-Screenshot-Tools. Der eigentliche Grund für dieses Perl-Abhängigkeitsproblem ist, dass der Entwickler von Shutter die Entwicklung vor zwei oder drei Jahren eingestellt hat. Es verwendet viele Abhängigkeiten, was die Wartung sehr schwierig macht.
Um dieses Problem zu lösen, sollten Sie entweder Shutter deinstallieren und sich für die andere Alternative entscheiden oder einfach Shutter und alle seine Abhängigkeiten entfernen und es dann erneut installieren.
Um den Verschluss zu entfernen, führen Sie Folgendes aus:
$ sudo pacman -R shutter
Nachdem Sie Shutter entfernt haben, müssen Sie alle nicht verwendeten Abhängigkeiten mit dem Befehl entfernen:
$ sudo pacman -Rns $(pacman -Qtdq)
Alternativ können Sie problematische Abhängigkeiten nur wie unten gezeigt entfernen. Bitte seien Sie dabei vorsichtig. Stellen Sie nur sicher, dass Sie nur die richtigen problematischen Perl-Pakete entfernen.
$ sudo pacman -R perl-gtk2-unique perl-gtk2-imageview perl-goo-canvas perl-gnome2-wnck gnomecanvas-perl gnome-vfs-perl gnome-perl
Dieses Mal habe ich meine Arch-Linux-Box ohne Probleme aktualisiert. Nach der Aktualisierung des Systems können Sie entweder ein alternatives Tool für Shutter finden oder es einfach mit Yaourt neu installieren oder Packer .
yaourt -S shutter
Oder,
packer -S shutter
Die Neuinstallation von Shutter kann dieses Perl-Abhängigkeitsproblem erneut hervorrufen. Ich empfehle Ihnen, auf die offizielle Lösung zu warten. Diese Methode löst das Problem zeitlich. Oder finden Sie eine Alternative zum Shutter-Screenshot-Tool und entfernen Sie es dauerhaft.
Prost!