Как исправить ошибки зависимости пакетов в Linux
Поверяем, не пытаемся ли мы установить устаревший пакет. Возможно, есть более свежий пакет или проверьте репозиторий, на какую дату датируются пакеты и до какой версии доступна.
Если конфликтующий пакет уже установлен, при попытке запустить команду:
sudo apt update
или
sudo apt upgrade
Это проинформирует нас о конфликте и попросит нас выполнить команду для решения проблемы.
Первое решение
Самый прямой способ исправить ошибки Зависимость в Ubuntu от диспетчера пакетов по умолчанию, чтобы начать исправление, просто откройте терминал и выполните команду:
sudo apt install -f
При выполнении вышеуказанной команды Диспетчер пакетов Ubuntu попытается исправить проблемы зависимость, стоящая перед и он напечатает внесенные вами изменения.
Здесь важно учитывать изменения, которые вы печатаете поскольку, если он не разрешается в конфликте с зависимостями, он продолжит удаление конфликтующего пакета или пакетов и сообщит нам, какие зависимости конфликтуют с пакетом.
Второе решение, установка необходимых зависимостей
Принимая во внимание предыдущий шаг, на котором мы записываем пакеты или библиотеки, необходимые для решения ошибок зависимостей, здесь мы собираемся установить пакеты один за другим с терминала, или мы можем помочь себе с помощью Synaptic
Например, в терминале нам показывают что-то вроде этого:
"Error: Dependency is not satisfiable: libgtk-3-0 (>=3.16.2)"
Следует отметить, что Это указывает на то, что выпуск «libgtk 3.0» больше или равен версии «3.16.2». за то, что мы должныs в этом случае загрузите версию указанной библиотеки. Здесь важно учитывать, что для библиотек многие приложения зависят от одной или определенной версии, поэтому лично я не советую вам сюда прикладывать руку.
Чтобы найти конкретную версию, мы можем положиться на страница пакетов ubuntu (packages.ubuntu.com) чтобы проверить, какая это версия Ubuntu и в каком репозитории, поскольку очень часто некоторые из них не включены.
Здесь вы можете скачать и установить нужные вам пакеты.
В качестве рекомендации, если при установке определенной версии библиотеки, которая запрашивается, указывает, что от нее зависит больше пакетов, лучше отказаться, так как вы можете испортить свою графическую среду или в конечном итоге разрушить свою систему.
Третий и последний вариант. При распаковке необходимо изменить зависимости и переупаковку.
Последний вариант по идее лучший вариант, поскольку обычно разработчики обычно указывают, что приложение работает с определенной версией выпуска, но они не принимают во внимание, что указанная библиотека может быть обновлена в течение нескольких дней или в тот момент, когда они выпускают свое приложение.
Итак, если они ограничивают работу приложения под определенной версией, Это тот, который вызывает конфликт.
Итак мы собираемся распаковать пакет deb и изменить зависимости к той версии, которая у нас есть в системе (поэтому было важно отметить, какие зависимости конфликтуют с конкретной версией).
Для этого мы наберем команду:
dpkg-deb -R “ruta-de-paquete-deb” “nombre-de-carpeta-que-tendra-los -archivos”
dpkg-deb -R gimp.deb Gimp
Мы собираемся получить доступ к папке и идем по маршруту "/ ДЕБИАН"
cd Gimp/DEBIAN
И мы собираемся редактировать файл "control" с нашим любимым редактором
sudo gedit control
Здесь мы будем искать строки, указывающие на зависимости с которыми у нас есть конфликты и мы собираемся их редактировать.
Например, мы найдем что-то вроде этого:
Package: XXXX
Version: XXXX
Depends: libgtk3-0 (>= 3.16.xx"
Мы собираемся перейти на ту версию, которая у нас есть. Сохраняем изменения и переупаковываем для переустановки с помощью:
dpkg-deb -b Gimp Gimp-new.deb
Полезные ссылки
https://webhamster.ru/mytetrashare/index/mtb0/1653994707rz6dpijypf