При установке пакетов из официальных или сторонних репозиториев вы можете столкнуться с проблемой неудовлетворенные зависимости Ubuntu. Чтобы понять причину возникновения этой ошибки сначала надо разобраться как работают пакетные менеджеры в Linux. Здесь всё компоненты системы, библиотеки и сами программы разделены на пакеты. И если какой-либо программе нужна определенная библиотека, она не поставляется вместе с этой библиотекой, а ожидает, что эта библиотека будет уже установлена в системе.
Установкой библиотек и других компонентов занимается пакетный менеджер, отсюда у каждой программы есть ряд зависимостей которые должны быть удовлетворены чтобы программа смогла заработать.
По английски наша ошибка ещё может писаться как 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. Установка зависимостей
Дальше установка зависимостей Ubuntu. Следующий этап, если вы скачали пакет в интернете, например, от другого дистрибутива с таким же пакетным менеджером, можно попытаться установить таким же способом библиотеки, которые он просит. Это может сработать особенно, если вы пытаетесь установить программу из старой версии дистрибутива. Пакеты можно искать прямо в google или на сайте pkgs.org:
Здесь собрано огромное количество пакетов от различных дистрибутивов, в том числе и от Ubuntu и Debian. Просто выберите нужную версию пакета для вашей архитектуры. Скачать файл можно чуть ниже на странице пакета:
После загрузки пакета с сайта его можно установить через тот же dpkg:
sudo dpkg -i ffmpegthumbs_19.04.3-0ubuntu1~ubuntu19.04~ppa1_amd64.deb
После этого можно снова попробовать установить свой пакет. Но устанавливаемая библиотека может потребовать свои неудовлетворенные зависимости, а та ещё свои, поэтому тянуть программы из других дистрибутивов таким образом не рационально.
3. Удаление зависимостей
Если у вас есть скачанный пакет, и он говорит, что он зависит о версии библиотеки, которой в вашей системе нет, но вы уверены, что ему подойдет и другая версия, то можно просто убрать эту зависимость из пакета. Но для этого надо его перепаковать. Такая ситуация была когда-то с популярным менеджером Viber. Рассмотрим на примере того же вайбера.
Сначала распакуйте пакет в подпапку package командой:
dpkg-deb -x ./viber.deb package
Затем туда же извлеките метаданные пакета:
dpkg-deb --control viber.deb package/DEBIAN
В файле package/DEBIAN есть строчка Depends, где перечислены все библиотеки, от которых зависит пакет и их версии. Просто удалите проблемную библиотеку или измените её версию на ту, которая есть в системе.
vi package/DEBIAN
Затем останется только собрать пакет обратно:
dpkg -b viber package.deb
И можете устанавливать, теперь с зависимостями будет всё верно:
sudo dpkg -i package.deb
Но такое исправление зависимостей Ubuntu следует использовать только для пакетов, которые точно неверно собраны. Важно понимать, что пакетный менеджер вам не враг, а помощник, и то что вы отключите зависимости и установите программу ещё не значит, что она потом будет работать.
4. Распаковать пакет
Следующий способ подойдет, если программа которую вы устанавливаете это библиотека, например, веб-драйвер для Selenium. Пакет можно распаковать и просто разложить исполняемые файлы из него по файловой системе в соответствии с папками внутри архива. Только желательно использовать не корневую файловую систему, а каталог /usr/local/ он как раз создан для этих целей.
5. Использовать snap пакеты
Самый простой способ обойти проблемы с зависимостями — использовать новый формат установщика программ, в котором программа содержит все зависимости в установочном архиве и они устанавливаются аналогично Windows в одну папку. Установка такой программы будет дольше, но зато такие там вы точно не получите проблем с зависимостями Ubuntu. Всё программы, которые поддерживают этот формат есть в центре приложений Ubuntu:
Выводы
В этой статье мы разобрали как исправить проблемы с зависимостями Ubuntu. Некоторые из способов довольно сложные, а другие проще. Но сама эта система, согласно которого пакеты зависят от других, а те ещё от других очень сложная и не удивительно, что время от времени в ней возникают ошибки. А какие способы решения этой проблемы вы знаете? Напишите в комментариях?
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .
Microsoft распространяет UWP (универсальную платформу Windows) и настольные приложения в виде пакетов приложений. msixbundle,. Appx и. AppxBundle в Windows.
Несмотря на то, что установщики Msixbundle, Appx и AppxPackage являются надежными способами загрузки неопубликованных пакетов приложений, некоторые пользователи не могут этого сделать.
Почему я получаю сообщение об ошибке «Пакет приложения не поддерживается»?
Некоторые из наших читателей получают ошибку Этот пакет приложения не поддерживается для установки установщиком приложения при попытке загрузить неопубликованные пакеты приложений, особенно те, которые загружены из неофициальных источников. Существует несколько возможных причин проблемы:
- Пакеты сторонних приложений — пакеты приложений, загруженные со стороннего веб-сайта, вызывают ошибку «Пакет приложения не поддерживается».
- Microsoft Store не поддерживает установщик. Если Microsoft Store не поддерживает установщик Msixbundle, пакет приложения не будет успешно установлен.
- Ограниченные возможности установщика. Установщики с ограниченными возможностями также могут быть причиной ошибки.
- Режим разработчика отключен. Режим разработчика должен быть активен на вашем компьютере с Windows, если вы хотите загрузить пакеты приложений. msixbundle,. Appx и. AppxBundle на свой компьютер.
Интересно, что есть несколько обходных путей для устранения ошибки Этот пакет приложения не поддерживается при установке в Windows 11.
Как я могу исправить ошибку «Пакет приложения не поддерживается»?
1. Включите режим разработчика
- Используйте ярлык Windows + I, чтобы запустить приложение «Настройки».
- Перейдите на вкладку «Конфиденциальность и безопасность» на левой боковой панели и нажмите «Для разработчиков».
- Включите переключатель для режима разработчика.
2. Установите пакеты приложений с помощью Windows PowerShell.
- Нажмите Windows +, S чтобы открыть Windows Search, введите powershell в строке поиска и нажмите «Запуск от имени администратора».
- Нажмите кнопку «Да» в окне «Управление действиями пользователя».
- Введите или скопируйте и вставьте следующую команду в окно PowerShell (замените строку X:PathtoFile.Appx фактическим путем к пакету приложения в вашей системе):
Add-AppxPackage -Path X:PathtoFile.Appx
- Нажмите клавишу Enter, чтобы начать установку пакета.
На этот раз вы не получите сообщение об ошибке «Этот пакет не поддерживается для установки». Закройте окно PowerShell после успешной установки пакета и запустите приложение.
Чтобы избежать проблем с зависимостями, установите пакеты зависимостей перед установкой основного пакета приложения.
3. Используйте установщик приложений
- Запустите Microsoft Store из закрепленных приложений в меню «Пуск» и найдите «Установщик приложений».
- Нажмите кнопку «Установить для загрузки».
- Запустите проводник с помощью ярлыка Windows + E , перейдите к расположению пакета. appx или. msixbundle и дважды щелкните один из них, чтобы запустить установщик приложений.
- Наконец, нажмите кнопку «Установить», расположенную справа от кнопки диалогового окна «Установщик приложений».
Подождите, пока установщик приложений обнаружит и загрузит необходимые пакеты зависимостей и основной пакет приложения. После успешной установки приложение автоматически запустится на вашем ПК.
Эти два обходных пути помогут вам обойти ошибку Этот пакет приложения не поддерживается для установки во время загрузки неопубликованных пакетов приложений с помощью установщиков приложений.
Quickly fix Windows 11, 10, 8 and 7 errors with Outbyte PC Repair
Take the bull by the horns: identify and fix performance issues that may be affecting your PC.
Outbyte PC Repair is a comprehensive computer repair tool designed to solve a number of different system problems, clean up your disk, optimize performance, and improve privacy and security.
- Compatible with: Windows 11, 10, 8 and 7
- Trial: Free trial by category for at least 2 days*
- Full version: from $29.95 (for a 3-month subscription)
*Free trial allows you to fix all detected items in each category
Если у вас есть другие вопросы или решения по этой проблеме, не стесняйтесь использовать раздел комментариев ниже.
При установке пакетов из официальных или сторонних репозиториев вы можете столкнуться с проблемой неудовлетворенные зависимости Ubuntu. Чтобы понять причину возникновения этой ошибки сначала надо разобраться как работают пакетные менеджеры в Linux. Здесь всё компоненты системы, библиотеки и сами программы разделены на пакеты. И если какой-либо программе нужна определенная библиотека, она не поставляется вместе с этой библиотекой, а ожидает, что эта библиотека будет уже установлена в системе.
Установкой библиотек и других компонентов занимается пакетный менеджер, отсюда у каждой программы есть ряд зависимостей которые должны быть удовлетворены чтобы программа смогла заработать.
По английски наша ошибка ещё может писаться как 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. Установка зависимостей
Дальше установка зависимостей Ubuntu. Следующий этап, если вы скачали пакет в интернете, например, от другого дистрибутива с таким же пакетным менеджером, можно попытаться установить таким же способом библиотеки, которые он просит. Это может сработать особенно, если вы пытаетесь установить программу из старой версии дистрибутива. Пакеты можно искать прямо в google или на сайте pkgs.org:
Здесь собрано огромное количество пакетов от различных дистрибутивов, в том числе и от Ubuntu и Debian. Просто выберите нужную версию пакета для вашей архитектуры. Скачать файл можно чуть ниже на странице пакета:
После загрузки пакета с сайта его можно установить через тот же dpkg:
sudo dpkg -i ffmpegthumbs_19.04.3-0ubuntu1~ubuntu19.04~ppa1_amd64.deb
После этого можно снова попробовать установить свой пакет. Но устанавливаемая библиотека может потребовать свои неудовлетворенные зависимости, а та ещё свои, поэтому тянуть программы из других дистрибутивов таким образом не рационально.
3. Удаление зависимостей
Если у вас есть скачанный пакет, и он говорит, что он зависит о версии библиотеки, которой в вашей системе нет, но вы уверены, что ему подойдет и другая версия, то можно просто убрать эту зависимость из пакета. Но для этого надо его перепаковать. Такая ситуация была когда-то с популярным менеджером Viber. Рассмотрим на примере того же вайбера.
Сначала распакуйте пакет в подпапку package командой:
dpkg-deb -x ./viber.deb package
Затем туда же извлеките метаданные пакета:
dpkg-deb --control viber.deb package/DEBIAN
В файле package/DEBIAN есть строчка Depends, где перечислены все библиотеки, от которых зависит пакет и их версии. Просто удалите проблемную библиотеку или измените её версию на ту, которая есть в системе.
vi package/DEBIAN
Затем останется только собрать пакет обратно:
dpkg -b viber package.deb
И можете устанавливать, теперь с зависимостями будет всё верно:
sudo dpkg -i package.deb
Но такое исправление зависимостей Ubuntu следует использовать только для пакетов, которые точно неверно собраны. Важно понимать, что пакетный менеджер вам не враг, а помощник, и то что вы отключите зависимости и установите программу ещё не значит, что она потом будет работать.
4. Распаковать пакет
Следующий способ подойдет, если программа которую вы устанавливаете это библиотека, например, веб-драйвер для Selenium. Пакет можно распаковать и просто разложить исполняемые файлы из него по файловой системе в соответствии с папками внутри архива. Только желательно использовать не корневую файловую систему, а каталог /usr/local/ он как раз создан для этих целей.
5. Использовать snap пакеты
Самый простой способ обойти проблемы с зависимостями — использовать новый формат установщика программ, в котором программа содержит все зависимости в установочном архиве и они устанавливаются аналогично Windows в одну папку. Установка такой программы будет дольше, но зато такие там вы точно не получите проблем с зависимостями Ubuntu. Всё программы, которые поддерживают этот формат есть в центре приложений Ubuntu:
Выводы
В этой статье мы разобрали как исправить проблемы с зависимостями Ubuntu. Некоторые из способов довольно сложные, а другие проще. Но сама эта система, согласно которого пакеты зависят от других, а те ещё от других очень сложная и не удивительно, что время от времени в ней возникают ошибки. А какие способы решения этой проблемы вы знаете? Напишите в комментариях?
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .
Ошибки зависимости могут иногда возникать в Debian Linux, когда пользователь загружает пакет из Интернета, а операционная система не может найти нужные зависимые файлы и библиотеки, необходимые для успешного запуска программы. Итак, если вы столкнулись с ошибками зависимости в Debian при установке приложений, следуйте инструкциям и узнайте, как их исправить.
Обычно большинство пользователей Debian не сталкиваются с такими ошибками при установке пакетов, поскольку они, как правило, устанавливают только программное обеспечение, официально включенное в официальные источники программного обеспечения Apt. Если вы имеете дело со сломанными пакетами в Debian, у нас есть отдельная статья о том, как их исправить.
Примечание: в этом руководстве мы сосредоточимся на Debian Linux. При этом информация, которую мы рассмотрим в этом посте, не является эксклюзивной для Debian. Если вы используете операционную систему на основе Linux, производную от Debian, не стесняйтесь следовать своим указаниям!
Что такое программная зависимость?
Зависимость программного обеспечения — это зависимая библиотека, набор программ или набор инструментов, которые необходимы установленной программе для успешного выполнения. Без зависимостей любое приложение Linux, которое вы загружаете из Интернета для использования на своем ПК с Debian Linux, не будет работать правильно.
В наши дни проблемы с зависимостями встречаются в Debian редко из-за того, что в репозитории программного обеспечения поступает все больше и больше пакетов, а также из-за появления универсальных упаковочных решений, таких как AppImage, Flatpak и Snaps, которые берут на себя заботу о сборе отдельных зависимостей, объединяя все пользователю необходимо запустить приложение прямо из коробки.
Исправление ошибок зависимостей с помощью Apt-get в терминале
Вы можете не знать об этом, но менеджер пакетов Apt-get имеет встроенный механизм для решения этих типов проблем с зависимостями в Debian. Чтобы использовать команду Apt-get в Debian для устранения любых проблем с зависимостями, начните с открытия окна терминала на рабочем столе. Вы можете сделать это, нажав Ctrl + Alt + T или Ctrl + Shift + T на клавиатуре. В открытом окне терминала используйте команду Apt-get ниже.
sudo apt-get install -f
В качестве альтернативы, если вы используете версию Debian Linux, которая включает команду Apt, или, может быть, вы предпочитаете ее Apt-get, вы можете исправить проблемы с зависимостями, используя команду ниже.
sudo apt install -f
Исправление ошибок зависимости с помощью Synaptic Package Manager
Решение проблем с зависимостями в Debian через окно терминала очень полезно, особенно для тех, кто использует Debian Linux в серверной системе или что-то подобное. Однако, если вы предпочитаете использовать графический интерфейс, вам подойдет менеджер пакетов Synaptic.
Большинство систем Debian Linux поставляются с предустановленным и готовым к использованию менеджером пакетов Synaptic. Тем не менее, если у вас еще не установлено приложение, откройте окно терминала, нажав Ctrl + Alt + T или Ctrl + Shift + T на клавиатуре, и введите команду установки ниже.
sudo apt-get install synaptic -y
Когда в системе установлено приложение Synaptic, самое время начать его использовать. Откройте его, выполнив поиск «Synaptic Package Manager» в меню приложения и щелкните, чтобы запустить его.
При запуске приложения Synaptic вас попросят ввести пароль. Введите свой пароль пользователя. Если пароль будет принят, Synaptic будет готов к использованию.
Чтобы исправить проблему зависимости в Synaptic, найдите кнопку «Редактировать» в окне приложения и щелкните ее мышью. В меню «Правка» есть несколько опций. Просмотрите различные варианты «Исправить сломанный» и выберите его.
Выбрав опцию «Исправить сломанный», Synaptic автоматически назначит исправления зависимостей всем пакетам в системе. После выбора опции «Исправить поломку» нажмите кнопку «Применить», чтобы начать процесс исправления.
После нажатия кнопки «Применить» в Synaptic появится окно. В этом окне вы увидите, что идет загрузка. Дайте процессу завершиться. Когда все будет сделано, ваши проблемы с зависимостями исчезнут!
Если вы устали сталкиваться с проблемами программной зависимости в Debian Linux, сделайте себе одолжение и начните чаще использовать пакеты Flatpak и Snap, когда вам нужны приложения, которых нет в официальных репозиториях программного обеспечения.
Flatpak и Snap — отличные новые технологии, которые упрощают работу программного обеспечения в Linux. Они не требуют зависимостей. Все упаковано в аккуратную безопасную песочницу. Лучше всего то, что Debian Linux имеет тенденцию обновлять программное обеспечение не так быстро, как другие дистрибутивы Linux, вы сможете сверхзарядить свою систему, установив последние приложения.
Для получения информации о том, как настроить пакеты Snap в Debian, ознакомьтесь с нашим руководством по этому вопросу. Кроме того, вы можете создать официальный магазин Snap. Наконец, если вы хотите попробовать Flatpaks, следуйте нашему подробному руководству по нему здесь.
Содержание
- пакеты имеют неразрешенные зависимости
- Ubuntu | Неудовлетворенные зависимости
- Как разрешить проблему зависимостей в debian?
- Ошибка у вас зафиксированы сломанные пакеты
- Как исправить у вас зафиксированы сломанные пакеты?
- 1. Обновите списки пакетов
- 2. Установите битые пакеты
- 3. Очистите лишние пакеты
- 4. Используйте dpkg
- 5. Разрешите зависимости
- Выводы
- Оцените статью:
- Об авторе
- 8 комментариев
- Комментарии (20)
пакеты имеют неразрешенные зависимости
перебрал кучу инструкций, а ошибка не решается.
При обработке следующих пакетов произошли ошибки: /var/cache/apt/archives/libwlocate0_0.0git20130108-0ubuntu1_amd64.deb E: Sub-process /usr/bin/dpkg returned an error code (1)
Оформи лоркодом, читать это невозможно.
dpkg: ошибка при обработке архива /var/cache/apt/archives/libwlocate0_0.0git20130108-0ubuntu1_amd64.deb (—unpack): попытка перезаписать «/usr/lib/libwlocate.so», который уже имеется в пакете
Тебе нужно удалить пакет locdemo.
пакет удалил новая ошибка
Ну дак установите зависимости.
deb в них не умеет. Лучше поставьте gdebi-core и потом через deb
попытка перезаписать «/usr/lib/libwlocate.so», который уже имеется в пакете locdemo 2.0-2 При обработке следующих пакетов произошли ошибки: /var/cache/apt/archives/libwlocate0_0.0git20130108-0ubuntu1_amd64.deb E: Sub-process /usr/bin/dpkg returned an error code (1)
dpkg: зависимости пакетов не позволяют настроить пакет marble-plugins: marble-plugins зависит от libwlocate0, однако: Пакет libwlocate0 не установлен.
dpkg: ошибка при обработке пакета marble-plugins (—configure): проблемы зависимостей — оставляем не настроенным При обработке следующих пакетов произошли ошибки: marble-plugins
dpkg: ошибка при обработке архива /var/cache/apt/archives/libwlocate0_0.0git20130108-0ubuntu1_amd64.deb (—unpack): попытка перезаписать «/usr/lib/libwlocate.so», который уже имеется в пакете locdemo 2.0-2 При обработке следующих пакетов произошли ошибки: /var/cache/apt/archives/libwlocate0_0.0git20130108-0ubuntu1_amd64.deb E: Sub-process /usr/bin/dpkg returned an error code (1)
$ sudo gdebi some_your.deb sudo: gdebi: command not found
Блин, ну тебе же дали уже исчёрпывающее решение — пакеты имеют неразрешенные зависимости (комментарий)
Проблемы с зависимостями вызваны пакетом locdemo, который был поставлен хрен знает откуда, потому что в репозиториях его нет.
sudo gdebi some_your.deb sudo: gdebi: command not found
О нет.
gdebi-core сначала установите
sudo gdebi /path/to/deb/ВАШ_ПАКЕТ_ЭТО_ИМЯ_НЕ_НУЖНО_ПРОСТО_КОПИРОВАТЬ.deb
дык удалил пакет новая то ошибка marble-plugins
sudo apt-get install gdebi-core
sudo gdebi /path/to/deb/libwlocate0_0.0git20130108-0ubuntu1_amd64.deb sudo: gdebi: command not found
да в первую очередь пробывал то, что система рекомендует весь выхлоп здесь
Так. Стоп. Вы не установили gdebi. Вы копируете путь /path/to/deb/. Поэтому консоль-way, очевидно, не для вас.
Давайте начнем сначала. В вашем неотредактированном посте вы просто делаете
В этом выхлопе locdemo ни разу не удалён. Пробуем ещё раз, хотя мне уже надоедает:
Зачем нужен какой-то gdebi? Чем он лучше dpkg?
структуры ос и команды терминала мне знакомы минимальны все что мог перепробовал не помогло просто и за ошибки пакетов не могу дать удаленное управление столом не другие установить программы. как выйдет следующая LTS поставлю начисто. всем спасибо кто попытался помочь.
А что, dpkg теперь умеет сам ставить зависимости из репов? Или только подсказывать (если учитывать что ТС копирует путь для примера (/path/to/deb/) ему эти подсказки точно не помогут:))
dpkg: ошибка при обработке пакета marble-plugins (—configure): проблемы зависимостей — оставляем не настроенным При обработке следующих пакетов произошли ошибки: marble-plugins san@san-Ideapad-S205:
Используй лоркод, блин, читать невозможно.
структуры ос и команды терминала мне знакомы минимальны все что мог перепробовал не помогло просто
Понимаете, теперь вы понимаете зачем нужен gdebi в таких ситуациях? 😀
У него еще locdemo не удален, apt должен сначала разрулить зависимость marble. Ждем что скажет dpkg.
Если не прокатит, я б советовал руками перенести конфликтный файл в хомяка, разрешить проблему с марблом (ибо конфликтного файла уже не будет) и потом удалить локдемо и снова поставить пакет с конфликтным файлом.
Ну или удалить сначала марбл, потом локдемо, а потом поставить марбл.
должен убрать марбл и решить конфликт.
больше не должен конфликтовать с libwlocate0
Понимаете, теперь вы понимаете зачем нужен gdebi в таких ситуациях? 😀
По поводу зависимостей:
мне кажется apt лучше с ними справится, тем более что мейнтейнеры его рекомендуют. Вряд ли gdebi лучше aptitude, а его уже задвинули. Зачем плодить очередной велик?
sudo gdebi some_your.deb
error: some_your.deb not found
Тогда только через гуйню. Нажмет правой кнопкой на пакете и откроет с помощью gdebi :)) А gdebi уже сам все сделает. И если вот в этой ситуации gdebi не поможет, то поверьте, с такой клиникой уж точно ничего не поможет.
Вряд ли gdebi лучше aptitude, а его уже задвинули. Зачем плодить очередной велик?
Конечно штатные средства куда эффективнее, спору нет, но только в том случае если вы понимаете что устанавливаете, какие зависимости тянете и т.д. В данной ситуации ТС этого не понимает. Поэтому для него этот велосипед, (особенно с гуйней) будет просто идеальным подарком.
[sudo] password for san: (Чтение базы данных … на данный момент установлено 480349 файлов и каталогов.) Удаляется locdemo (2.0-2) … Killed dpkg: предупреждение: при удалении locdemo каталог «/usr/local/share» не пуст, поэтому не удалён Обрабатываются триггеры для ureadahead (0.100.0-16) … ureadahead will be reprofiled on next reboot Обрабатываются триггеры для gnome-menus (3.10.1-0ubuntu2) … Обрабатываются триггеры для desktop-file-utils (0.22-1ubuntu1) … Обрабатываются триггеры для bamfdaemon (0.5.1+14.04.20140409-0ubuntu1) … Rebuilding /usr/share/applications/bamf-2.index. Обрабатываются триггеры для mime-support (3.54ubuntu1.1) … san@san-Ideapad-S205:
Разметка сообщений (LORCODE)
Параграфы нужно размечать?
Конечно штатные средства куда эффективнее, спору нет, но только в том случае если вы понимаете что устанавливаете, какие зависимости тянете и т.д. В данной ситуации ТС этого не понимает. Поэтому для него этот велосипед, (особенно с гуйней) будет просто идеальным подарком.
У нас разные подходы, я б у него наоборот sudo забрал.
Источник
Ubuntu | Неудовлетворенные зависимости
показывай apt-cache policy gnome-shell
$ apt-cache policy gnome-shell
gnome-shell:
Установлен: (отсутствует)
Кандидат: 3.18.5-0ubuntu0.1
Таблица версий:
3.18.5-0ubuntu0.1 500
500 http://ru.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages
3.18.4-0ubuntu3 500
500 http://ru.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages
$ sudo apt purge gnome-shell
и apt-cache policy gnome-shell-common
apt-cache policy gnome-shell-common
gnome-shell-common:
Установлен: 3.19.4-0ubuntu1
xenial1
Кандидат: 3.19.4-0ubuntu1
xenial1
Таблица версий:
*** 3.19.4-0ubuntu1
xenial1 100
100 /var/lib/dpkg/status
3.18.5-0ubuntu0.1 500
500 http://ru.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages
500 http://ru.archive.ubuntu.com/ubuntu xenial-updates/universe i386 Packages
3.18.4-0ubuntu3 500
500 http://ru.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages
500 http://ru.archive.ubuntu.com/ubuntu xenial/universe i386 Packages
Удоволетвори их, будь мужиком!
sudo apt-get install gnome-shell-common=3.18.5-0ubuntu0.1
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
gnome-shell-common is already the newest version (3.18.5-0ubuntu0.1).
gnome-shell-common установлен вручную.
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено
sudo apt-get install gnome-shellЧтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Некоторые пакеты невозможно установить. Возможно, вы просите невозможного,
или же используете нестабильную версию дистрибутива, где запрошенные вами
пакеты ещё не созданы или были удалены из Incoming.
Следующая информация, возможно, поможет вам:
Пакеты, имеющие неудовлетворённые зависимости:
gnome-shell : Зависит: gir1.2-mutter-3.0 (>= 3.18.1) но он не будет установлен
Зависит: libmutter0g но он не будет установлен
Зависит: mutter (>= 3.18.1) но он не будет установлен
E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты.
Источник
Как разрешить проблему зависимостей в debian?
Началось как мне кажется это после неудачной установки redmine через команду
apt-get install redmine
Второй день не могу найти решения, в администрировании серверов новичек
Нужно доустановить пакеты apache, но не получается, например
обычно подобный пост нужно сопровождать sources.list.
Выложите, пожалуйста.
а что выдаст если:
dpkg-reconfigure apache2.2-common
или
apt-get purge apache2.2-common
apt-get install apache2.2-common
sources.list
# deb ftp.debian.org/debian wheezy main
deb ftp.debian.org/debian wheezy main contrib
deb-src ftp.debian.org/debian wheezy main contrib
deb security.debian.org wheezy/updates main contrib
deb-src security.debian.org wheezy/updates main contrib
—————
# dpkg-reconfigure apache2.2-common
/usr/sbin/dpkg-reconfigure: apache2.2-common is broken or not fully installed
————
# apt-get purge apache2.2-common
Reading package lists. Done
Building dependency tree
Reading state information. Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
apache2-mpm-worker : Depends: apache2.2-common (= 2.2.22-13+deb7u4) but it is not going to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
Источник
Ошибка у вас зафиксированы сломанные пакеты
Во время установки программ с помощью пакетного менеджера apt в любом из дистрибутивов, использующих этот пакетный менеджер, вы можете столкнуться с ошибкой, что у вас зафиксированы сломанные пакеты. Это пакеты, которые не установились полностью потому что им не хватает зависимостей или процесс установки был по какой-либо причине прерван.
В этой статье мы рассмотрим что делать с такой ошибкой, как её исправить, а также я дам ссылки на другие материалы на сайте, которые помогут справится с проблемой.
Как исправить у вас зафиксированы сломанные пакеты?
1. Обновите списки пакетов
Возможно вам не удалось установить нужные пакеты потому что списки репозиториев устарели, и там ещё не было нужных пакетов. Для обновления списка пакетов выполните:
2. Установите битые пакеты
После обновления списка пакетов из репозиториев может помочь установка битых пакетов. Этот шаг поможет особенно если вы устанавливали пакет с помощью dpkg и теперь нужно доустановить его зависимости с помощью пакетного менеджера. Для этого есть специальная команда:
3. Очистите лишние пакеты
Установке могут мешать лишние пакеты, которые больше не нужны в системе. Для их удаления выполните:
sudo apt autoremove
Утилита отобразит список всех битых пакетов, которые не установлены, вы можете попытаться их удалить с помощью команды:
4. Используйте dpkg
Вместо apt вы можете использовать команду dpkg чтобы посмотреть какие пакеты вызывают проблему. Просто выполните:
Команда покажет проблемные пакеты, а потом вы сможете их удалить той же командой:
5. Разрешите зависимости
Битые пакеты чаще всего появляются из-за того, что пакетный менеджер не может найти для них нужные зависимости. Если вам всё же очень нужно установить такой пакет, просто разрешите эти зависимости. Для этого можно скачать и установить их вручную или если вы уверенны, что зависимости в пакете указаны неверно, можно скачать его распаковать и удалить мешающие зависимости. Подробнее об этом читайте в этой статье.
Выводы
В этой небольшой статье мы рассмотрели что делать если в вашей системе появились битые пакеты и как их исправить. Здесь решение проблемы очень сильно зависит от вашей ситуации, но здесь приведены основные варианты решения, которые должны помочь вернуть пакетный менеджер к работе. Иногда рекомендуют удалить пакет вручную из базы данных dpkg /var/lib/dpkg/status, однако лучше этого не делать и найти путь решить проблему по другому, ручное редактирование подобных файлов может создать ещё больше проблем.
Нет похожих записей
Оцените статью:
Об авторе
Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.
8 комментариев
Вот почему я использую Fedora с DNF, за 5 лет использования даже не припомню случаев некорректной работы DNF. APT в Дебиан подобных дистрибутивах это сплошное разочарование.
Если бы все так было просто с зависимостями, что их через форсе принудительно установить, то это был бы не Линукс. Ниче, что система после таких манипуляций не работает? После ваших советов, новичек «уложит» систему точно.
Согласен. С Fedora бубен уже покрылся пылью. Чего все с этой Ubunto’й носятся.
Ничего не помогло. Постоянно пишет, что сломаны пакеты. к примеру хочу установить: apt-get install mariadb-server. Делаю как вы пишите.
Следующие пакеты имеют неудовлетворённые зависимости:
mariadb-server : Зависит: mariadb-server-10.1 (>= 1:10.1.29-6) но он не будет установлен
E: Невозможно исправить ошибки: у вас зафиксированы сломанные пакеты.
root@user-All-Series:
# sudo apt clean
root@user-All-Series:
# sudo apt autoremove
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Обновлено 0 пакетов, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
root@user-All-Series:
Источник
Комментарии (20)
Я тоже сталкивался с описанной ситуацией, выяснял какой пакет вызывает конфликт и понижал его версию через muon
В ответ на такую команду аптитюд всё равно пукнет, слишком много пакетов. Если уж переустанавливать всё, то aptitude reinstall должен получать имена пакетов по одному в цикле, а файл должен содержать версии пакетов. Я генерирую файл с именами-версиями так:
alias aptfixver=»sudo aptitude search
А я пользуюсь связкой из своего скрипта и пары программ. Перед тем как применить изменения аптитюд спрашивает.
$ sudo aptitude search
Последнюю команду иногда приходится повторять, тоже наверно стоит сделать обвязку
Обновил первый скрипт, тут новая версия, если что пишите на мыло.
$ sudo aptitude search
Пару слов, что он делает, если это не совсем очевидно:
Имхо, пакеты, которые недоступны в репозиториях удалять не стоит просто так.
У меня некоторые пакеты установлены не из репозиториев, например, драйвера для принтера или SOFA Statistics Open For All.
Исключения легко дописать в грип, например так:
И как я уже писал, перед тем как применить, можно почитать что аптитюд спрашивает и подкорректировать действия (например если написать +deadbeef он удален не будет)
Может быть допишу скрипт, если будет время, идея хорошая. Но лучше придумать, как бы так сделать, чтоб не нужен был этот файлик
Скорее, не по теме, но не могу разобраться, что значит «виртуальный пакет»
Программа не устанавливается в 12.10:
torrentstream-player-data : Зависит: libupnp3 (>= 1.4.3) который является виртуальным пакетом.
Зависит: libx264-116 который является виртуальным пакетом. или
libx264-120 который является виртуальным пакетом.
Виртуальный пакет предоставляет на выбор несколько различных программ/библиотек различных версий.
К примеру:
aptitude show djvu-viewer
No current or candidate version found for djvu-viewer
Package: djvu-viewer
State: not a real package
Provided by: atril, djview3, djview4, evince, evince-gtk, okular-extra-backends, zathura-djvu
Посмотреть список виртуальных пакетов можно aptitude search «
v»
Судя по тому, что даже в моём дебиане версии пакетов намного выше, виртуальными эти пакеты названы потому, что в зависимостях они указаны, а в списке пакетов они не существуют, из этого следует вывод, что нужно искать более новую версию torrentstream.
«aptitude не может разрулить зависимости и предлагает снести пол системы»- чуток не понял, удаляються пакеты/програмы которые связаны с неугодным нам пакетом, вызывающим конфликт, устанавливаем нажный нам пакет, потом доустанавливаем то что пришлось удалить и теперь основной вопрос- но ведь тогда потянеться тот пакет который нужный этим приложениям и вызывал конфликт, как быть? и проканает ли вообще??
Тема создана два года назад. Сколько воды утекло с тех пор? Правильно. А как известно, даже в одну воду нельзя войти дважды.
Чтобы понять и проканает ли вообще?? нужно пробовать самому, а потом отписаться для всех. Или сидеть у воды и ждать невесть чего.
хорошо, но я имел ввиду что решение немного противоречивое, и больше напоминает легендарные танцы с бубном нежели альтернативу, но хорошо я вас понял)
Источник
Содержание
- Неудовлетворенные зависимости Ubuntu
- Неудовлетворенные зависимости в Ubuntu
- 1. Обновление и исправление зависимостей
- 2. Установка зависимостей
- 3. Удаление зависимостей
- 4. Распаковать пакет
- 5. Использовать snap пакеты
- Выводы
- Ошибка у вас зафиксированы сломанные пакеты
- Как исправить у вас зафиксированы сломанные пакеты?
- 1. Обновите списки пакетов
- 2. Установите битые пакеты
- 3. Очистите лишние пакеты
- 4. Используйте dpkg
- 5. Разрешите зависимости
- Выводы
- Оцените статью:
- Об авторе
- 8 комментариев
- Комментарии (20)
- gosjava неудовлетворенные зависимости
- 4 ответа
Неудовлетворенные зависимости Ubuntu
При установке пакетов из официальных или сторонних репозиториев вы можете столкнуться с проблемой неудовлетворенные зависимости Ubuntu. Чтобы понять причину возникновения этой ошибки сначала надо разобраться как работают пакетные менеджеры в Linux. Здесь всё компоненты системы, библиотеки и сами программы разделены на пакеты. И если какой-либо программе нужна определенная библиотека, она не поставляется вместе с этой библиотекой, а ожидает, что эта библиотека будет уже установлена в системе.
Установкой библиотек и других компонентов занимается пакетный менеджер, отсюда у каждой программы есть ряд зависимостей которые должны быть удовлетворены чтобы программа смогла заработать.
Неудовлетворенные зависимости в Ubuntu
По английски наша ошибка ещё может писаться как the following packages have unmet dependencies. Она может возникнуть в нескольких случаях, давайте сначала рассмотрим основные из них:
1. Обновление и исправление зависимостей
Самое первое что надо сделать при проблемах с зависимостями, это хоть как-нибудь их исправить, потому что иначе пакетный менеджер работать не будет. В некоторых случаях, если списки репозиториев давно не обновлялись их обновление может помочь:
Эта команда установит зависимости, которые есть во официальных репозиториях (поможет при использовании dpkg) и если это не решит проблему, то удалит пакеты, для которых зависимости удовлетворить не удалось. Также после этого можно выполнить:
А потом повторить предыдущую команду. Следующим шагом можно попробовать обновить систему до самой последней версии. Это тоже может помочь если вы пытаетесь установить пакет из официальных репозиториев и при этом возникает проблема с зависимостями:
sudo apt upgrade
sudo apt full-upgrade
Если причиной вашей проблемы стал устаревший пакет надо его удалить или придумать для него замену. Например, если у вас установлена старая версия php, могут возникнуть проблемы с установкой новой версии, потому что будут конфликтовать версии библиотек, от которых зависит программа. Однако можно найти PPA со специально подготовленной старой версией php, которая ни с кем конфликтовать не будет.
Также подобная проблема может возникать при использовании PPA. Эти репозитории поддерживаются сторонними разработчиками, и могут содержать проблемы, если это ваш вариант, то, лучше поискать альтернативные способы установки необходимой программы.
2. Установка зависимостей
Дальше установка зависимостей Ubuntu. Следующий этап, если вы скачали пакет в интернете, например, от другого дистрибутива с таким же пакетным менеджером, можно попытаться установить таким же способом библиотеки, которые он просит. Это может сработать особенно, если вы пытаетесь установить программу из старой версии дистрибутива. Пакеты можно искать прямо в google или на сайте pkgs.org:
Здесь собрано огромное количество пакетов от различных дистрибутивов, в том числе и от Ubuntu и Debian. Просто выберите нужную версию пакета для вашей архитектуры. Скачать файл можно чуть ниже на странице пакета:
После загрузки пакета с сайта его можно установить через тот же dpkg:
После этого можно снова попробовать установить свой пакет. Но устанавливаемая библиотека может потребовать свои неудовлетворенные зависимости, а та ещё свои, поэтому тянуть программы из других дистрибутивов таким образом не рационально.
3. Удаление зависимостей
Если у вас есть скачанный пакет, и он говорит, что он зависит о версии библиотеки, которой в вашей системе нет, но вы уверены, что ему подойдет и другая версия, то можно просто убрать эту зависимость из пакета. Но для этого надо его перепаковать. Такая ситуация была когда-то с популярным менеджером Viber. Рассмотрим на примере того же вайбера.
Сначала распакуйте пакет в подпапку package командой:
Затем туда же извлеките метаданные пакета:
В файле package/DEBIAN есть строчка Depends, где перечислены все библиотеки, от которых зависит пакет и их версии. Просто удалите проблемную библиотеку или измените её версию на ту, которая есть в системе.
Затем останется только собрать пакет обратно:
И можете устанавливать, теперь с зависимостями будет всё верно:
Но такое исправление зависимостей Ubuntu следует использовать только для пакетов, которые точно неверно собраны. Важно понимать, что пакетный менеджер вам не враг, а помощник, и то что вы отключите зависимости и установите программу ещё не значит, что она потом будет работать.
4. Распаковать пакет
Следующий способ подойдет, если программа которую вы устанавливаете это библиотека, например, веб-драйвер для Selenium. Пакет можно распаковать и просто разложить исполняемые файлы из него по файловой системе в соответствии с папками внутри архива. Только желательно использовать не корневую файловую систему, а каталог /usr/local/ он как раз создан для этих целей.
5. Использовать snap пакеты
Выводы
В этой статье мы разобрали как исправить проблемы с зависимостями Ubuntu. Некоторые из способов довольно сложные, а другие проще. Но сама эта система, согласно которого пакеты зависят от других, а те ещё от других очень сложная и не удивительно, что время от времени в ней возникают ошибки. А какие способы решения этой проблемы вы знаете? Напишите в комментариях?
Источник
Ошибка у вас зафиксированы сломанные пакеты
Во время установки программ с помощью пакетного менеджера apt в любом из дистрибутивов, использующих этот пакетный менеджер, вы можете столкнуться с ошибкой, что у вас зафиксированы сломанные пакеты. Это пакеты, которые не установились полностью потому что им не хватает зависимостей или процесс установки был по какой-либо причине прерван.
В этой статье мы рассмотрим что делать с такой ошибкой, как её исправить, а также я дам ссылки на другие материалы на сайте, которые помогут справится с проблемой.
Как исправить у вас зафиксированы сломанные пакеты?
1. Обновите списки пакетов
Возможно вам не удалось установить нужные пакеты потому что списки репозиториев устарели, и там ещё не было нужных пакетов. Для обновления списка пакетов выполните:
2. Установите битые пакеты
После обновления списка пакетов из репозиториев может помочь установка битых пакетов. Этот шаг поможет особенно если вы устанавливали пакет с помощью dpkg и теперь нужно доустановить его зависимости с помощью пакетного менеджера. Для этого есть специальная команда:
3. Очистите лишние пакеты
Установке могут мешать лишние пакеты, которые больше не нужны в системе. Для их удаления выполните:
sudo apt autoremove
Утилита отобразит список всех битых пакетов, которые не установлены, вы можете попытаться их удалить с помощью команды:
4. Используйте dpkg
Вместо apt вы можете использовать команду dpkg чтобы посмотреть какие пакеты вызывают проблему. Просто выполните:
Команда покажет проблемные пакеты, а потом вы сможете их удалить той же командой:
5. Разрешите зависимости
Битые пакеты чаще всего появляются из-за того, что пакетный менеджер не может найти для них нужные зависимости. Если вам всё же очень нужно установить такой пакет, просто разрешите эти зависимости. Для этого можно скачать и установить их вручную или если вы уверенны, что зависимости в пакете указаны неверно, можно скачать его распаковать и удалить мешающие зависимости. Подробнее об этом читайте в этой статье.
Выводы
В этой небольшой статье мы рассмотрели что делать если в вашей системе появились битые пакеты и как их исправить. Здесь решение проблемы очень сильно зависит от вашей ситуации, но здесь приведены основные варианты решения, которые должны помочь вернуть пакетный менеджер к работе. Иногда рекомендуют удалить пакет вручную из базы данных dpkg /var/lib/dpkg/status, однако лучше этого не делать и найти путь решить проблему по другому, ручное редактирование подобных файлов может создать ещё больше проблем.
Нет похожих записей
Оцените статью:
Об авторе
Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.
8 комментариев
Вот почему я использую Fedora с DNF, за 5 лет использования даже не припомню случаев некорректной работы DNF. APT в Дебиан подобных дистрибутивах это сплошное разочарование.
Если бы все так было просто с зависимостями, что их через форсе принудительно установить, то это был бы не Линукс. Ниче, что система после таких манипуляций не работает? После ваших советов, новичек «уложит» систему точно.
Согласен. С Fedora бубен уже покрылся пылью. Чего все с этой Ubunto’й носятся.
Ничего не помогло. Постоянно пишет, что сломаны пакеты. к примеру хочу установить: apt-get install mariadb-server. Делаю как вы пишите.
Следующие пакеты имеют неудовлетворённые зависимости:
mariadb-server : Зависит: mariadb-server-10.1 (>= 1:10.1.29-6) но он не будет установлен
E: Невозможно исправить ошибки: у вас зафиксированы сломанные пакеты.
root@user-All-Series:
# sudo apt clean
root@user-All-Series:
# sudo apt autoremove
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Обновлено 0 пакетов, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
root@user-All-Series:
Источник
Комментарии (20)
Я тоже сталкивался с описанной ситуацией, выяснял какой пакет вызывает конфликт и понижал его версию через muon
В ответ на такую команду аптитюд всё равно пукнет, слишком много пакетов. Если уж переустанавливать всё, то aptitude reinstall должен получать имена пакетов по одному в цикле, а файл должен содержать версии пакетов. Я генерирую файл с именами-версиями так:
alias aptfixver=»sudo aptitude search
А я пользуюсь связкой из своего скрипта и пары программ. Перед тем как применить изменения аптитюд спрашивает.
$ sudo aptitude search
Последнюю команду иногда приходится повторять, тоже наверно стоит сделать обвязку
Обновил первый скрипт, тут новая версия, если что пишите на мыло.
$ sudo aptitude search
Пару слов, что он делает, если это не совсем очевидно:
Имхо, пакеты, которые недоступны в репозиториях удалять не стоит просто так.
У меня некоторые пакеты установлены не из репозиториев, например, драйвера для принтера или SOFA Statistics Open For All.
Исключения легко дописать в грип, например так:
И как я уже писал, перед тем как применить, можно почитать что аптитюд спрашивает и подкорректировать действия (например если написать +deadbeef он удален не будет)
Может быть допишу скрипт, если будет время, идея хорошая. Но лучше придумать, как бы так сделать, чтоб не нужен был этот файлик
Скорее, не по теме, но не могу разобраться, что значит «виртуальный пакет»
Программа не устанавливается в 12.10:
torrentstream-player-data : Зависит: libupnp3 (>= 1.4.3) который является виртуальным пакетом.
Зависит: libx264-116 который является виртуальным пакетом. или
libx264-120 который является виртуальным пакетом.
Виртуальный пакет предоставляет на выбор несколько различных программ/библиотек различных версий.
К примеру:
aptitude show djvu-viewer
No current or candidate version found for djvu-viewer
Package: djvu-viewer
State: not a real package
Provided by: atril, djview3, djview4, evince, evince-gtk, okular-extra-backends, zathura-djvu
Посмотреть список виртуальных пакетов можно aptitude search «
v»
Судя по тому, что даже в моём дебиане версии пакетов намного выше, виртуальными эти пакеты названы потому, что в зависимостях они указаны, а в списке пакетов они не существуют, из этого следует вывод, что нужно искать более новую версию torrentstream.
«aptitude не может разрулить зависимости и предлагает снести пол системы»- чуток не понял, удаляються пакеты/програмы которые связаны с неугодным нам пакетом, вызывающим конфликт, устанавливаем нажный нам пакет, потом доустанавливаем то что пришлось удалить и теперь основной вопрос- но ведь тогда потянеться тот пакет который нужный этим приложениям и вызывал конфликт, как быть? и проканает ли вообще??
Тема создана два года назад. Сколько воды утекло с тех пор? Правильно. А как известно, даже в одну воду нельзя войти дважды.
Чтобы понять и проканает ли вообще?? нужно пробовать самому, а потом отписаться для всех. Или сидеть у воды и ждать невесть чего.
хорошо, но я имел ввиду что решение немного противоречивое, и больше напоминает легендарные танцы с бубном нежели альтернативу, но хорошо я вас понял)
Источник
gosjava неудовлетворенные зависимости
Пытаюсь установить gosjava-jre, получаю неудовлетворенные зависимости. Перерыл интернет, пока ничего не помогает, спасибо за помощь зараннее
# sudo apt-get install gosjava-jre
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Некоторые пакеты невозможно установить. Возможно, вы просите невозможного,
или же используете нестабильную версию дистрибутива, где запрошенные вами
пакеты ещё не созданы или были удалены из Incoming.
Следующая информация, возможно, поможет вам:
Пакеты, имеющие неудовлетворённые зависимости:
gosjava-jre: Зависит: gosjava-jre-headless (= 2:1.8−58labft2) но он не будет установлен
Зависит: gosjava-8-jre, но он не будет установлен
E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты.
4 ответа
Поставили, у нас работает)
Уточню, я использую Virtual Box 5.2.6, через образ соответсвенно на виртуалке установил Astra SE 1.5
Проводил настройку по инструкции
Сделал (за все время, а использую 2 дня, и разумеется сейчас повторил)
#deb cdrom:[OS Astra Linux 1.5 smolensk — amd64 DVD ]/ smolensk contrib main non-free
# sudo aptitude update
Игнор cdrom://OS Astra Linux 1.5 smolensk — amd64 DVD smolensk InRelease
Игнор cdrom://OS Astra Linux 1.5 smolensk — amd64 DVD smolensk Release. gpg
Игнор cdrom://OS Astra Linux 1.5 smolensk — amd64 DVD smolensk Release
Ошибка cdrom://OS Astra Linux 1.5 smolensk — amd64 DVD smolensk/contrib amd64 Packages
Пожалуйста, используйте apt-cdrom, чтобы APT смог распознать данный CD. apt-get update не используется для добавления нового CD
Ошибка cdrom://OS Astra Linux 1.5 smolensk — amd64 DVD smolensk/main amd64 Packages
Пожалуйста, используйте apt-cdrom, чтобы APT смог распознать данный CD. apt-get update не используется для добавления нового CD
Ошибка cdrom://OS Astra Linux 1.5 smolensk — amd64 DVD smolensk/non-free amd64 Packages
Пожалуйста, используйте apt-cdrom, чтобы APT смог распознать данный CD. apt-get update не используется для добавления нового CD
Игнор cdrom://OS Astra Linux 1.5 smolensk — amd64 DVD smolensk/contrib Translation-ru_RU
Игнор cdrom://OS Astra Linux 1.5 smolensk — amd64 DVD smolensk/contrib Translation-ru
Игнор cdrom://OS Astra Linux 1.5 smolensk — amd64 DVD smolensk/contrib Translation-en
Игнор cdrom://OS Astra Linux 1.5 smolensk — amd64 DVD smolensk/main Translation-ru_RU
Игнор cdrom://OS Astra Linux 1.5 smolensk — amd64 DVD smolensk/main Translation-ru
Игнор cdrom://OS Astra Linux 1.5 smolensk — amd64 DVD smolensk/main Translation-en
Игнор cdrom://OS Astra Linux 1.5 smolensk — amd64 DVD smolensk/non-free Translation-ru_RU
Игнор cdrom://OS Astra Linux 1.5 smolensk — amd64 DVD smolensk/non-free Translation-ru
Игнор cdrom://OS Astra Linux 1.5 smolensk — amd64 DVD smolensk/non-free Translation-en
Из кэша packages.lab50.net smolensk InRelease
Из кэша packages.lab50.net se15 InRelease
Из кэша packages.lab50.net smolensk/main Sources
Из кэша packages.lab50.net smolensk/main amd64 Packages
Из кэша packages.lab50.net se15/main amd64 Packages
Игнор packages.lab50.net smolensk/main Translation-ru_RU
Игнор packages.lab50.net smolensk/main Translation-ru
Игнор packages.lab50.net smolensk/main Translation-en
Игнор packages.lab50.net se15/main Translation-ru_RU
Игнор packages.lab50.net se15/main Translation-ru
Игнор packages.lab50.net se15/main Translation-en
87% [Обработка]W: Не удалось получить cdrom://OS Astra Linux 1.5 smolensk — amd64 DVD /dists/smolensk/contrib/binary-amd64/Packages: Пожалуйста, используйте apt-cdrom, чтобы APT смог распознать данный CD. apt-get update не используется для добавления нового CD
W: Не удалось получить cdrom://OS Astra Linux 1.5 smolensk — amd64 DVD /dists/smolensk/main/binary-amd64/Packages: Пожалуйста, используйте apt-cdrom, чтобы APT смог распознать данный CD. apt-get update не используется для добавления нового CD
W: Не удалось получить cdrom://OS Astra Linux 1.5 smolensk — amd64 DVD /dists/smolensk/non-free/binary-amd64/Packages: Пожалуйста, используйте apt-cdrom, чтобы APT смог распознать данный CD. apt-get update не используется для добавления нового CD
E: Не удалось скачать некоторые индексные файлы. Они были проигнорированы, или вместо них использовались старые.
E: Не удалось перестроить кэш пакетовroot@scam :
sudo aptitude update
# sudo aptitude update
Из кэша packages.lab50.net smolensk InRelease
Из кэша packages.lab50.net se15 InRelease
Из кэша packages.lab50.net smolensk/main Sources
Из кэша packages.lab50.net smolensk/main amd64 Packages
Из кэша packages.lab50.net se15/main amd64 Packages
Игнор packages.lab50.net smolensk/main Translation-ru_RU
Игнор packages.lab50.net smolensk/main Translation-ru
Игнор packages.lab50.net smolensk/main Translation-en
Игнор packages.lab50.net se15/main Translation-ru_RU
Игнор packages.lab50.net se15/main Translation-ru
Игнор packages.lab50.net se15/main Translation-en
sudo apt-install gosjava-jre
# sudo apt-install gosjava-jre
sudo: apt-install: command not found
root@scam :
# sudo apt-get install gosjava-jre
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Некоторые пакеты невозможно установить. Возможно, вы просите невозможного,
или же используете нестабильную версию дистрибутива, где запрошенные вами
пакеты ещё не созданы или были удалены из Incoming.
Следующая информация, возможно, поможет вам:
Пакеты, имеющие неудовлетворённые зависимости:
gosjava-jre: Зависит: gosjava-jre-headless (= 2:1.8−58labft2) но он не будет установлен
Зависит: gosjava-8-jre, но он не будет установлен
E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты.
Возможно проблема в пункте 2, но точно сказать не могу, если в файле
deb cdrom:[OS Astra Linux 1.5 smolensk — amd64 DVD ]/ smolensk contrib main non-free
# sudo aptitude update
Игнор cdrom://OS Astra Linux 1.5 smolensk — amd64 DVD smolensk InRelease
Игнор cdrom://OS Astra Linux 1.5 smolensk — amd64 DVD smolensk Release. gpg
Игнор cdrom://OS Astra Linux 1.5 smolensk — amd64 DVD smolensk Release
Ошибка cdrom://OS Astra Linux 1.5 smolensk — amd64 DVD smolensk/contrib amd64 Packages
Пожалуйста, используйте apt-cdrom, чтобы APT смог распознать данный CD. apt-get update не используется для добавления нового CD
Ошибка cdrom://OS Astra Linux 1.5 smolensk — amd64 DVD smolensk/main amd64 Packages
Пожалуйста, используйте apt-cdrom, чтобы APT смог распознать данный CD. apt-get update не используется для добавления нового CD
Ошибка cdrom://OS Astra Linux 1.5 smolensk — amd64 DVD smolensk/non-free amd64 Packages
Пожалуйста, используйте apt-cdrom, чтобы APT смог распознать данный CD. apt-get update не используется для добавления нового CD
Игнор cdrom://OS Astra Linux 1.5 smolensk — amd64 DVD smolensk/contrib Translation-ru_RU
Игнор cdrom://OS Astra Linux 1.5 smolensk — amd64 DVD smolensk/contrib Translation-ru
Игнор cdrom://OS Astra Linux 1.5 smolensk — amd64 DVD smolensk/contrib Translation-en
Игнор cdrom://OS Astra Linux 1.5 smolensk — amd64 DVD smolensk/main Translation-ru_RU
Игнор cdrom://OS Astra Linux 1.5 smolensk — amd64 DVD smolensk/main Translation-ru
Игнор cdrom://OS Astra Linux 1.5 smolensk — amd64 DVD smolensk/main Translation-en
Игнор cdrom://OS Astra Linux 1.5 smolensk — amd64 DVD smolensk/non-free Translation-ru_RU
Игнор cdrom://OS Astra Linux 1.5 smolensk — amd64 DVD smolensk/non-free Translation-ru
Игнор cdrom://OS Astra Linux 1.5 smolensk — amd64 DVD smolensk/non-free Translation-en
Из кэша packages.lab50.net smolensk InRelease
Из кэша packages.lab50.net se15 InRelease
Из кэша packages.lab50.net smolensk/main Sources
Из кэша packages.lab50.net smolensk/main amd64 Packages
Из кэша packages.lab50.net se15/main amd64 Packages
Игнор packages.lab50.net smolensk/main Translation-ru_RU
Игнор packages.lab50.net smolensk/main Translation-ru
Игнор packages.lab50.net smolensk/main Translation-en
Игнор packages.lab50.net se15/main Translation-ru_RU
Игнор packages.lab50.net se15/main Translation-ru
Игнор packages.lab50.net se15/main Translation-en
87% [Обработка]W: Не удалось получить cdrom://OS Astra Linux 1.5 smolensk — amd64 DVD /dists/smolensk/contrib/binary-amd64/Packages: Пожалуйста, используйте apt-cdrom, чтобы APT смог распознать данный CD. apt-get update не используется для добавления нового CD
W: Не удалось получить cdrom://OS Astra Linux 1.5 smolensk — amd64 DVD /dists/smolensk/main/binary-amd64/Packages: Пожалуйста, используйте apt-cdrom, чтобы APT смог распознать данный CD. apt-get update не используется для добавления нового CD
W: Не удалось получить cdrom://OS Astra Linux 1.5 smolensk — amd64 DVD /dists/smolensk/non-free/binary-amd64/Packages: Пожалуйста, используйте apt-cdrom, чтобы APT смог распознать данный CD. apt-get update не используется для добавления нового CD
E: Не удалось скачать некоторые индексные файлы. Они были проигнорированы, или вместо них использовались старые.
E: Не удалось перестроить кэш пакетов
Прошу помочь чем сможете, многое уже перепробывал, пока без результатов.
Вывод apt-cache policy gosjava-jre
# apt-cache policy gosjava-jre
gosjava-jre:
Установлен: (отсутствует)
Кандидат: 2:1.8−58labft2
Таблица версий:
2:1.8−58labft2 0
500 packages.lab50.net/gosjava/ se15/main amd64 Packages
Также пытался сделать
# sudo apt-get clean
root@scam :
# sudo apt-get autoremove
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
root@scam :
# sudo apt-get update
В кэше packages.lab50.net smolensk InRelease
В кэше packages.lab50.net se15 InRelease
В кэше packages.lab50.net smolensk/main Sources
В кэше packages.lab50.net smolensk/main amd64 Packages
В кэше packages.lab50.net se15/main amd64 Packages
Игн packages.lab50.net smolensk/main Translation-ru_RU
Игн packages.lab50.net smolensk/main Translation-ru
Игн packages.lab50.net smolensk/main Translation-en
Игн packages.lab50.net se15/main Translation-ru_RU
Игн packages.lab50.net se15/main Translation-ru
Игн packages.lab50.net se15/main Translation-en
Чтение списков пакетов… Готово
root@scam :
# sudo apt-get install gosjava-jre
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Некоторые пакеты невозможно установить. Возможно, вы просите невозможного,
или же используете нестабильную версию дистрибутива, где запрошенные вами
пакеты ещё не созданы или были удалены из Incoming.
Следующая информация, возможно, поможет вам:
Пакеты, имеющие неудовлетворённые зависимости:
gosjava-jre: Зависит: gosjava-jre-headless (= 2:1.8−58labft2) но он не будет установлен
Зависит: gosjava-8-jre, но он не будет установлен
E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты.
Источник
Содержание
Предисловие
Иногда, при работе с пакетными менеджерами, возникает проблема с неразрешенными зависимостями пакетов. В данной статье будут рассмотрены варианты решения этой проблемы.
Все операции выполняются в терминале.
Убедитесь что ни один пакетный менеджер не запущен. Это может быть: apt-get, aptitude, Synaptic, KPackageKit, Центр Приложений Ubuntu и тд.
Используя APT-GET
Обычно ошибка выглядит так:
E: Неудовлетворённые зависимости. Попытайтесь выполнить 'apt-get -f install', не указывая имени пакета, (или найдите другое решение).
Удалите кеш пакетов:
sudo apt-get clean
Удалите осиротевшие пакеты:
sudo apt-get autoremove
Обновите список пакетов:
sudo apt-get update
Исправьте зависимости:
sudo apt-get -f install
Обычно этого достаточно.
Если вы запутались с зависимостями, поможет интеллектуальное обновление системы:
sudo apt-get dist-upgrade
Если установка была прервана, то следует переустановить пакет
sudo apt-get install --reinstall имя_пакета
Если репозиторий недоступен, исправить:
-
/etc/apt/sources.list — главный список репозиториев
-
/etc/apt/sources.list.d — каталог для сторонних репозиториев
Если невозможно удалить/переустановить пакет, исправить:
-
/var/lib/dpkg/status — список установленных пакетов
-
/var/lib/dpkg/available — список доступных для скачивания пакетов