Не удалось разрешить зависимости операции выявлена 1 проблема centos
Обновлено: 02.07.2024
Коллекция материалов по работе с системой Linux С наступающим Новым годом!
понедельник, 26 января 2015 г.
Решение проблем с зависимостями
Иногда, при работе с пакетными менеджерами, возникает проблема с неразрешенными зависимостями пакетов. В данной статье будут рассмотрены варианты решения этой проблемы.
Убедитесь что ни один пакетный менеджер не запущен. Это может быть: apt-get, aptitude, Synaptic, KPackageKit, Центр Приложений Ubuntu и тд.
Обычно ошибка выглядит так:
Неудовлетворённые зависимости. Попытайтесь выполнить 'apt-get -f install', не указывая имени пакета, (или найдите другое решение)
Если вы запутались с зависимостями, поможет интеллектуальное обновление системы:
Если установка была прервана, то следует переустановить пакет
/etc/apt/sources.list - главный список репозиториев
/etc/apt/sources.list.d - каталог для сторонних репозиториев
/var/lib/dpkg/status - список установленных пакетов
/var/lib/dpkg/available - список доступных для скачивания пакетов
Комментариев нет:
Поиск по этому блогу
Понравилось?Поделись с друзьями!
Архив блога
Viber является кросс-платформенным приложением (iPhone, Android, Windows Phone, Blackberry, Windows, Mac, Symbian, Nokia и устройства .
Консольные команды бывают иногда очень полезными (даже для обычных пользователей, которые не любят терминал), в том числе и для новичк.
При установке пакетов из официальных или сторонних репозиториев вы можете столкнуться с проблемой неудовлетворенные зависимости Ubuntu. Чтобы понять причину возникновения этой ошибки сначала надо разобраться как работают пакетные менеджеры в Linux. Здесь всё компоненты системы, библиотеки и сами программы разделены на пакеты. И если какой-либо программе нужна определенная библиотека, она не поставляется вместе с этой библиотекой, а ожидает, что эта библиотека будет уже установлена в системе.
Установкой библиотек и других компонентов занимается пакетный менеджер, отсюда у каждой программы есть ряд зависимостей которые должны быть удовлетворены чтобы программа смогла заработать.
Неудовлетворенные зависимости в Ubuntu
По английски наша ошибка ещё может писаться как the following packages have unmet dependencies. Она может возникнуть в нескольких случаях, давайте сначала рассмотрим основные из них:
- Вы используете dpkg для установки deb пакета. Эта утилита не занимается установкой зависимостей. Вместо неё надо использовать apt install или потом просто установить недостающие зависимости с помощью apt, как это делается описано ниже;
- Вы используете старую версию дистрибутива - в старых версиях могло что-то изменится в репозитории и часть пакетов была удалена или переименована. С LTS версиями такое случается редко, но с обычными релизами вполне может произойти;
- Вы пытаетесь установить программу не от своего дистрибутива - несмотря на родство всех дистрибутивов семейства Debian, не желательно использовать программы из других дистрибутивов, так, как они могут требовать пакеты, которые в этом дистрибутиве называются по другому;
- У вас установлен устаревший пакет, который не позволяет обновить некоторые зависимости - случается, когда в системе уже есть какой-нибудь пакет старый пакет, требующий старую версию библиотеки, а новая программа, которую вы собираетесь установить уже хочет более новую версию и не позволяет её обновить. Эта проблема не очень типична для Ubuntu, так как здесь большинство версий программ в репозиториях заморожено, но часто встречается при использовании дистрибутивов с системой роллинг релизов.
1. Обновление и исправление зависимостей
sudo apt update
sudo apt install -f
Эта команда установит зависимости, которые есть во официальных репозиториях (поможет при использовании dpkg) и если это не решит проблему, то удалит пакеты, для которых зависимости удовлетворить не удалось. Также после этого можно выполнить:
sudo dpkg --configure -a
А потом повторить предыдущую команду. Следующим шагом можно попробовать обновить систему до самой последней версии. Это тоже может помочь если вы пытаетесь установить пакет из официальных репозиториев и при этом возникает проблема с зависимостями:
sudo apt upgrade
sudo apt full-upgrade
Если причиной вашей проблемы стал устаревший пакет надо его удалить или придумать для него замену. Например, если у вас установлена старая версия php, могут возникнуть проблемы с установкой новой версии, потому что будут конфликтовать версии библиотек, от которых зависит программа. Однако можно найти PPA со специально подготовленной старой версией php, которая ни с кем конфликтовать не будет.
Также подобная проблема может возникать при использовании PPA. Эти репозитории поддерживаются сторонними разработчиками, и могут содержать проблемы, если это ваш вариант, то, лучше поискать альтернативные способы установки необходимой программы.
2. Установка зависимостей
После загрузки пакета с сайта его можно установить через тот же dpkg:
sudo dpkg -i ffmpegthumbs_19.04.3-0ubuntu1
После этого можно снова попробовать установить свой пакет. Но устанавливаемая библиотека может потребовать свои неудовлетворенные зависимости, а та ещё свои, поэтому тянуть программы из других дистрибутивов таким образом не рационально.
3. Удаление зависимостей
Если у вас есть скачанный пакет, и он говорит, что он зависит о версии библиотеки, которой в вашей системе нет, но вы уверены, что ему подойдет и другая версия, то можно просто убрать эту зависимость из пакета. Но для этого надо его перепаковать. Такая ситуация была когда-то с популярным менеджером Viber. Рассмотрим на примере того же вайбера.
Сначала распакуйте пакет в подпапку package командой:
dpkg-deb -x ./viber.deb package
Затем туда же извлеките метаданные пакета:
dpkg-deb --control viber.deb package/DEBIAN
В файле package/DEBIAN есть строчка Depends, где перечислены все библиотеки, от которых зависит пакет и их версии. Просто удалите проблемную библиотеку или измените её версию на ту, которая есть в системе.
Затем останется только собрать пакет обратно:
dpkg -b viber package.deb
И можете устанавливать, теперь с зависимостями будет всё верно:
sudo dpkg -i package.deb
Но такое исправление зависимостей Ubuntu следует использовать только для пакетов, которые точно неверно собраны. Важно понимать, что пакетный менеджер вам не враг, а помощник, и то что вы отключите зависимости и установите программу ещё не значит, что она потом будет работать.
4. Распаковать пакет
Следующий способ подойдет, если программа которую вы устанавливаете это библиотека, например, веб-драйвер для Selenium. Пакет можно распаковать и просто разложить исполняемые файлы из него по файловой системе в соответствии с папками внутри архива. Только желательно использовать не корневую файловую систему, а каталог /usr/local/ он как раз создан для этих целей.
5. Использовать snap пакеты
Самый простой способ обойти проблемы с зависимостями - использовать новый формат установщика программ, в котором программа содержит все зависимости в установочном архиве и они устанавливаются аналогично Windows в одну папку. Установка такой программы будет дольше, но зато такие там вы точно не получите проблем с зависимостями Ubuntu. Всё программы, которые поддерживают этот формат есть в центре приложений Ubuntu:
Выводы
Нет похожих записей
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.
Не удалось получить подключение D-Bus: операция не разрешена - решение Docker CentOS Mirror Невозможно использовать систему Systemd .
Решить проблему зеркалирования CentOS в Docker
Создайте контейнер под названием Centos-Systemd по Centos-Systemd: 7 зеркало
Подключиться к контейнеру под названием Centos-Systemd
Тест, если Systemd начинает успех
Вы также можете скачать я поддержал зеркало SystemD.
Интеллектуальная рекомендация
Использование Jmeter Beanshell
Использование Beanshell Что такое бобовая скорлупа Beanshell - это язык сценариев, который полностью соответствует синтаксису Java, и имеет свои собственные встроенные объекты и синтаксис Beans.
Android получить информацию о приложении (пакете) и размере кэша при использовании PackageManager
[size = medium] [b] класс PackageManger [/ b] [/ size] Описание: Получить информацию об установленных приложениях. Его можно получить с помощью метода [color = red] getPackageManager () [/ color]. Общ.
UITextView добавить текст заполнителя
UITextView - это простой и легкий в использовании метод для добавления текста заполнителя. В основном используйте drawRect: метод для рисования текста заполнителя. Создайте файл CustomPlaceholderTextV.
Разница между равным и "= mh-excerpt">
1. Разница между равным и "==" (1) Роль равенства заключается в сравнении одинакового содержимого двух независимых объектов., Другими словами, это для сравнения значений двух объектов. I1, i.
Python + Django + mysql + eclipse Создать новый проект Django
Вам также может понравиться
15 плагинов jQuery для улучшения работы с таблицами
Табличную форму можно рассматривать как один из самых сложных для добавления стиля объектов из-за совместимости с браузером и сложного метода вложения тегов. Большинство интерфейсных разработчиков зам.
Вы знаете, как интерфейс обрабатывает изображения?
Предисловие Как фронтенд-инженеры, мы неизбежно имеем дело с изображениями каждый день. Интерфейсные инженеры, работающие на основных платформах электронной коммерции, могут показаться более очевидным.
Актуальные бои в электронной коммерции -------- Week3
Программирование ADO (C ++)
10 главных ошибок журналов Docker
Docker не только меняет способ развертывания приложений, но и изменяет рабочий процесс управления журналами. Вместо записи журналов в файлы контейнер записывает журналы в консоль (stdout / stderr), а .
Эта ошибка в основном вызвана тем фактом, что среда не может читать yum. Вы можете рассмотреть ошибку конфигурации / etc / sysconfig / network-scripts / ifcfg-eth0, которая приводит к блокировке сети. Или конфигурация DNS в /etc/resolv.conf неверна. Или вы можете рассмотреть влияние yum cache (yum clean all)
nameserver 202.106.0.20 (эта ошибка произошла сегодня снова, просто добавьте этот сервер имен. Не забудьте настроить статический IP-адрес, тогда также необходимо добавить DNS, затем обновите yum, чтобы попытаться успешно, и все будет в порядке)
Сегодня во время установки программного обеспечения yum в среде Linux возникла следующая ошибка:
Перезапустить сетевую службу
Переустановите yum, нормально
Интеллектуальная рекомендация
Использование Jmeter Beanshell
Использование Beanshell Что такое бобовая скорлупа Beanshell - это язык сценариев, который полностью соответствует синтаксису Java, и имеет свои собственные встроенные объекты и синтаксис Beans.
Android получить информацию о приложении (пакете) и размере кэша при использовании PackageManager
[size = medium] [b] класс PackageManger [/ b] [/ size] Описание: Получить информацию об установленных приложениях. Его можно получить с помощью метода [color = red] getPackageManager () [/ color]. Общ.
UITextView добавить текст заполнителя
UITextView - это простой и легкий в использовании метод для добавления текста заполнителя. В основном используйте drawRect: метод для рисования текста заполнителя. Создайте файл CustomPlaceholderTextV.
Разница между равным и "= mh-excerpt">
1. Разница между равным и "==" (1) Роль равенства заключается в сравнении одинакового содержимого двух независимых объектов., Другими словами, это для сравнения значений двух объектов. I1, i.
Читайте также: