Устраните «Ошибка зависимости Perl 5.26: не удалось подготовить транзакцию (не удалось удовлетворить зависимости)» в Arch Linux
Сегодня я попытался обновить свой рабочий стол Arch Linux, но столкнулся с проблемой зависимости Perl. Однако я никогда не устанавливал эти сломанные пакеты Perl напрямую. Я думал, это из-за проблемы с pacman. После небольшого поиска на форумах Arch Linux я обнаружил, что это связано не с pacman, а с AUR. Вот сообщение об ошибке, которое я получил, когда попытался обновить свою систему Arch.
sudo pacman -Syu
Пример вывода:
:: 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'
Вышеуказанные пакеты являются зависимостями инструмента создания снимков экрана Shutter. Настоящая причина этой проблемы с зависимостью Perl заключается в том, что разработчик Shutter остановил разработку два или три года назад. Он использует множество зависимостей, что затрудняет его поддержку.
Чтобы решить эту проблему, вам следует либо удалить Shutter и выбрать другую альтернативу, либо просто удалить Shutter и все его зависимости, а затем переустановить его снова.
Чтобы снять шторку, запустите:
sudo pacman -R shutter
После удаления Shutter вам необходимо удалить все неиспользуемые зависимости с помощью команды:
sudo pacman -Rns $(pacman -Qtdq)
Альтернативно вы можете удалить проблемные зависимости, используя только то, что показано ниже. Пожалуйста, будьте осторожны при этом. Просто убедитесь, что вы удаляете только правильные проблемные пакеты Perl.
sudo pacman -R perl-gtk2-unique perl-gtk2-imageview perl-goo-canvas perl-gnome2-wnck gnomecanvas-perl gnome-vfs-perl gnome-perl
На этот раз я без проблем обновил свой Arch Linux. После обновления системы вы можете либо найти любой альтернативный инструмент для Shutter, либо просто переустановить его с помощью Yaourt или Packer.
yaourt -S shutter
Или,
packer -S shutter
Переустановка Shutter может снова вызвать эту проблему с зависимостью Perl. Рекомендую дождаться официального решения. Этот метод временно решит проблему. Или найдите альтернативу инструменту создания снимков экрана Shutter и избавьтесь от нее навсегда.
Ваше здоровье!