LINUX.ORG.RU

Ошибка при установке/удалении любого пакета

 , ,


0

1

Вчера хотел поставить Screenlets, инструкцию брал с этого сайта

Сама программа установилась, но после нее линукс вообще ничего не хочет устанавливать, удалять, и вообще как то взаимодействовать с пакетами. Допустим, я хочу установить пакет Conky:

Вы можете запустить «apt --fix-broken install» для исправления этих ошибок.
Следующие пакеты имеют неудовлетворённые зависимости:
 conky : Зависит: conky-std но он не будет установлен или
                         conky-cli но он не будет установлен или
                         conky-all но он не будет установлен
 libwebkitgtk-1.0-0 : Зависит: libpng12-0 (>= 1.2.13-4) но он не будет установлен
E: Неудовлетворённые зависимости. Попытайтесь выполнить «apt --fix-broken install», не указывая имени пакета (или указав решение).

Если я захочу еще что-то сделать, то будет та же ошибка. Можно ли как то исправить?

UPD: Я пробывал исполнять команды по типу «sudo apt-get -f install, sudo apt-get clean etc…». Они не помогли

программа установилась, но после нее линукс вообще ничего не хочет устанавливать, удалять

Вполне ожидаемая реакция, после установки «из левых источников».

Можно ли как то исправить?

Иногда можно. И тебе даже посдказали как:

Неудовлетворённые зависимости. Попытайтесь выполнить «apt –fix-broken install», не указывая имени пакета

andytux ()
Ответ на: комментарий от andytux

Вполне ожидаемая реакция, после установки «из левых источников».

Apt настолько кривой, что полностью ломается от установки не утверждённых партией пакетов? А ещё это свободой называют…

X512 ()

«Опыт - единстенное, что получаешь, когда ничего не получается.»

пробывал исполнять команды по типу «sudo apt-get -f install, sudo apt-get clean etc…». Они не помогли

Не помогли. Быстрый и гарантированный вариант - переустановка системы. Все остальные варианты потребуют больше времени, массу знаний, и не дают никакой гарантии, что получится восстановить.

andytux ()
Ответ на: комментарий от Anoxemian
root@CatchThelsmq:/# dpkg --configure -a
dpkg: зависимости пакетов не позволяют настроить пакет libwebkitgtk-1.0-0:amd64:
 libwebkitgtk-1.0-0:amd64 зависит от libpng12-0 (>= 1.2.13-4), однако:
  Пакет libpng12-0:amd64 не установлен.

dpkg: ошибка при обработке пакета libwebkitgtk-1.0-0:amd64 (--configure):
 проблемы зависимостей — оставляем не настроенным
dpkg: зависимости пакетов не позволяют настроить пакет python-webkit:
 python-webkit зависит от libwebkitgtk-1.0-0 (>= 1.3.10), однако:
  Пакет libwebkitgtk-1.0-0:amd64 пока не настроен.

dpkg: ошибка при обработке пакета python-webkit (--configure):
 проблемы зависимостей — оставляем не настроенным
При обработке следующих пакетов произошли ошибки:
 libwebkitgtk-1.0-0:amd64
 python-webkit
CatchThels ()
Ответ на: комментарий от xgatron

В Haiku сломать пакетную систему невозможно в принципе потому что всё состояние состоит из списка активных пакетов, монтируемых пакетных архивов и списка исключений. Файл проблемного пакета можно просто удалить. Также есть история изменения активации пакетов и можно откатить изменения.

Тут ещё хвалят NixOS где подобные проблемы также невозможны. В RPM вроде бы есть история изменения активации и можно отменить изменения. Получается что APT - самая кривая система управления пакетами в *NIX.

X512 ()
Ответ на: комментарий от X512

Apt настолько кривой, что полностью ломается от установки не утверждённых партией пакетов? А ещё это свободой называют…

Свободой это называли 20 - 10 лет назад. Теперь наиболее подходящее определение - цифровой ГУЛАГ.

curufinwe ★★★★★ ()

Короче, ты что-то навертел и у тебя теперь dependency hell. Это исправимо, но займет какое-то время. Переустановка не нужна, apt на самом деле очень устойчив, просто такие вещи требует ручного разбора.

Начнем со сбора и анализа данных, я помогу. Выполни команды

uname -a > problem.txt
lsb_release -a >> problem.txt
cat /etc/apt/sources.list >> problem.txt
ls -la /etc/apt/sources.list.d >> problem.txt
cat /etc/apt/sources.list.d/* >> problem.txt
apt list --installed >> problem.txt
sudo apt install -f  >> problem.txt
, потом выложи куда-нибудь этот файл problem.txt, я посмотрю, что можно сделать. Скорее всего, исправить будет не очень сложно.

Vsevolod-linuxoid ★★★★★ ()
Ответ на: комментарий от X512

В Haiku сломать пакетную систему невозможно в принципе

как бы и тут нет сломанного apt, он наоборот, противостоит ломающему пользователю. Есть проблема с зависимостями, которую:

Файл проблемного пакета можно просто удалить.

можно решить этим же способом, apt remove ... вполне должен сработать. Но ТС этого не сделал и хочет невозможного для apt — иметь пакеты от дважды/трижды предыдущей версии дистрибутива и возможность обновляться или ставить новый софт с пересечениям по зависимостям.

В RPM вроде бы есть история изменения активации и можно отменить изменения.

не всегда.

Получается что APT - самая кривая система управления пакетами в *NIX.

с ситуациями, подобными описанной сталкивался. Это ни разу не проблема apt и поведение вполне корректное — пользователь сотворил противоречивую фигню, останавливаем процесс и предоставляем возможность разобраться.

xgatron ()
Ответ на: комментарий от xgatron

пользователь сотворил противоречивую фигню

Пакетный менеджер не должен такого давать, по крайней мере без дополнительных флагов вроде --force.

хочет невозможного для apt — иметь пакеты от дважды/трижды предыдущей версии дистрибутива

В Haiku никто не мешает устанавливать старые пакеты. Если зависимости удовлетворены, то установится и ничего не поломает.

X512 ()
Последнее исправление: X512 (всего исправлений: 2)
Ответ на: комментарий от X512

Пакетный менеджер не должен такого давать, по крайней мере без дополнительных флагов вроде –force.

а dd не должно писать на блочное устройство, если пользователь случайно указал не то.

в какой момент apt должен не давать пользователю что-то установить? Screenlets и libpng12 ставятся в момент, когда нет конфликта (либо ТС подавил возражения apt, о чем умалчивает). apt должен был угадать, что после screenlets поставят коньки и требовать флаг --force?

Подключая репозиторий от другой версии, сторонний репозиторий или ppa ты берешь ответственность за их выбор на себя.

xgatron ()
Ответ на: комментарий от xgatron

Подключая репозиторий от другой версии, сторонний репозиторий или ppa ты берешь ответственность за их выбор на себя.

По идее у сторонних дополнительных репозиториев должен быть более низкий приоритет, так чтобы из них что-то устанавливалось только когда этого нет в основных репозиториях. Также при смене репозитория было бы неплохо чтобы пакетный менеджер проверил консистентность установленных пакетов с содержимым нового репозитория.

X512 ()
Ответ на: комментарий от X512

зато у установленных вручную повышенный. На мой взгляд тут как раз та ситуация, когда пакета нет ни в одном источнике — его нельзя обновить вместе со всеми остальными зависимостями, т.к. неоткуда, и нельзя удалить, т.к. слетит что-то установленное вручную.

xgatron ()