LINUX.ORG.RU

E: Unable to correct problems, you have held broken packages.

 ,


0

1
E: Unable to correct problems, you have held broken packages.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Note, selecting 'wine64-preloader' for glob 'wine*'
Note, selecting 'wine-devel-i386' for glob 'wine*'
Note, selecting 'wine-development' for glob 'wine*'
Note, selecting 'winexe-dbgsym' for glob 'wine*'
Note, selecting 'wine-stable-i386' for glob 'wine*'
Note, selecting 'wine' for glob 'wine*'
Note, selecting 'wine32-tools' for glob 'wine*'
Note, selecting 'wine32' for glob 'wine*'
Note, selecting 'wine64' for glob 'wine*'
Note, selecting 'winexe' for glob 'wine*'
Note, selecting 'wine-staging-i386' for glob 'wine*'
Note, selecting 'wine64-tools' for glob 'wine*'
Note, selecting 'wine32-development' for glob 'wine*'
Note, selecting 'wine-stable' for glob 'wine*'
Note, selecting 'winetricks' for glob 'wine*'
Note, selecting 'wine32-preloader:i386' for glob 'wine*'
Note, selecting 'wine1.6' for glob 'wine*'
Note, selecting 'wine1.8' for glob 'wine*'
Note, selecting 'wine1.9' for glob 'wine*'
Note, selecting 'wine2.0' for glob 'wine*'
Note, selecting 'wine-binfmt' for glob 'wine*'
Note, selecting 'wine32:i386' instead of 'wine32'
Note, selecting 'wine32-tools:i386' instead of 'wine32-tools'
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:
 wine32-tools:i386 : Conflicts: wine64-tools but 7.0~repack-4 is to be installed
                     Conflicts: wine64-tools:i386
 wine64-tools : Conflicts: wine32-tools
                Conflicts: wine32-tools:i386 but 7.0~repack-4 is to be installed
E: Unable to correct problems, you have held broken packages.

Это называется dependency hell. У него нет общего решения, каждый случай индивидуален.

Но кое-что сделать можно. Для начала посмотрим на ситуацию в целом, чтобы понять, что у тебя за конфигурация:

lsb_release -d
grep -v -e '^#' -e '^$' /etc/apt/sources.list
grep -vH -e '^#' -e '^$' /etc/apt/sources.list.d/*
LANG=C apt list --installed 2>/dev/null | grep -e '/now' -e '/unknown'
LANG=C sudo apt install -f

Ещё нужен вывод этого вот скрипта, чтобы понять, что за источники пакетов у тебя есть и сколько пакетов из них стоит (root не требует):

for i in $(LANG=C apt list --installed 2>/dev/null | grep -v "^Listing..." | cut -f 2 -d / | cut -f 1 -d " " | cut -f 1 -d "," | sort | uniq); do echo $i; LANG=C apt list --installed 2>/dev/null | grep "/$i" | wc -l; done
Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 1)
Ответ на: комментарий от Vsevolod-linuxoid
  1. Description: Kali GNU/Linux Rolling
  2. deb https://http.kali.org/kali kali-rolling main contrib non-free deb-src https://http.kali.org/kali kali-rolling main contrib non-free
  3. grep: /etc/apt/sources.list.d/*: No such file or directory
  4. много всего вывело
  5. 0 upgraded, 0 newly installed, 0 to remove and 64 not upgraded.
  6. kali-rolling 3762 now 291
Danger271
() автор топика
Ответ на: комментарий от Danger271

LANG=C apt list --installed 2>/dev/null | grep -e '/now' -e '/unknown' выводит много всего? kali-rolling 3762 now 291? Да это просто приговор на переустановку, тут уже невозможно разобраться нормально.

Особенно с Kali, разработчики которой в официальной документации пишут, что добавление стороннего ПО не из репозиториев скорее всего плохо кончится: https://www.kali.org/docs/introduction/should-i-use-kali-linux/

Adding repositories to your software sources which have not been tested by the Kali Linux development team is a good way to cause problems on your system.

While Kali Linux is architected to be highly customizable, do not expect to be able to add random unrelated packages and repositories that are “out of band” of the regular Kali software sources and have it Just Work. In particular, there is absolutely no support whatsoever for the apt-add-repository command, LaunchPad, or PPAs. Trying to install Steam on your Kali Linux desktop is an experiment that will not end well. Even getting a package as mainstream as NodeJS onto a Kali Linux installation can take a little extra effort and tinkering.

Вообще лучше целиком эту статью прочти, там вполне ясно сказано, что использование Kali Linux на десктопе и для обучения Linux не рекомендуется и может вызывать проблемы. Поставь Ubuntu или разновидность и не пытайся ездить по супермаркетам на снегоуборочной машине.

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

Всм приговор на переустановку? Я его только поставил. Вайн до этого установил и он работал но потом решил удалить и заново скаачть и появилась ошибка

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

Всм приговор на переустановку? Я его только поставил.

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

Вайн до этого установил и он работал но потом решил удалить и заново скаачть и появилась ошибка

Как я уже говорил, разработчики Kali Linux официально предупреждают, что стороннее ПО и репозитории вызывают проблемы.

Kali Linux для профессионалов, да. Но узкая специализация несет ограничения на использовании. По сути, кроме пентестов она ни на что ни годна.

Особенно забавляют те, кто считает её защищенной ОС. Да в ней тот же AppArmor, что в Ubuntu и Debian и всё! Она для нападения, средств защиты в ней нет.

Если хочешь защищенную ОС, то бери Qubes OS.

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

Если ты будешь делать то же самое и после переустановки, то всплывут те же проблемы. Ты же сам даёшь команду поставить пакеты, которые между собой конфликтуют, например wine64-tools и wine32-tools. Проблема даже не в том, что у запрошенных пакетов есть какие-то конфликты с установленными. Нет. Ты явно даёшь команду, которая сломает дерево зависимостей.

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

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Да, тоже верно. С таким подходом любой дистрибутив можно сломать. Просто Kali ещё и вдобавок вообще почти не имеет официально совместимых сторонних репозиториев и ППО.

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

Проблема на самом деле в том, что ты ставил wine*, что означает установить все пакеты, названия которых начинаются с «wine». Я припоминаю, что какая-то инструкция из интернета давала такой совет. Лет десять назад это работало, потому что в репозиториях не было одновременно 32-битной и 64-битной версий WINE. Обычно все собирали только 32-битную. У пакетов WINE не было взаимных конфликтов, поэтому можно было так установить все. Но даже тогда совет устанавливать пакеты по шаблону был плохим, потому что, например, так устанавливаются отладочные символы. Пользователям, которые просто хотят программу запустить, они не нужны.

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

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

И проблема не только в битности. То есть она есть, но не только.

Вот вывод с моего Debian 11, имитация некорректной команды:

vsevolod@hp15:~$ apt install -s wine* | tail -n 20

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

E: Невозможно исправить ошибки: у вас зафиксированы сломанные пакеты.
запрошенные вами пакеты ещё не созданы или были удалены из Incoming.
Следующая информация, возможно, вам поможет:

Следующие пакеты имеют неудовлетворённые зависимости:
 wine32-tools:i386 : Конфликтует: wine64-tools но 5.0.3-3 должен быть установлен
                     Конфликтует: wine64-tools:i386
 wine64-tools : Конфликтует: wine32-tools
                Конфликтует: wine32-tools:i386 но 5.0.3-3 должен быть установлен
 winehq-devel : Конфликтует: wine
                Конфликтует: wine:i386
                Конфликтует: wine-amd64
                Конфликтует: wine-i386
 winehq-stable : Конфликтует: wine
                 Конфликтует: wine:i386
                 Конфликтует: wine-amd64
                 Конфликтует: wine-i386
 winehq-staging : Конфликтует: wine
                  Конфликтует: wine:i386
                  Конфликтует: wine-amd64
                  Конфликтует: wine-i386

А вот его вывод:

The following packages have unmet dependencies:
 wine32-tools:i386 : Conflicts: wine64-tools but 7.0~repack-4 is to be installed
                     Conflicts: wine64-tools:i386
 wine64-tools : Conflicts: wine32-tools
                Conflicts: wine32-tools:i386 but 7.0~repack-4 is to be installed
E: Unable to correct problems, you have held broken packages.

У него не просто не та битность, а похоже что Wine из какого-то левого источника.

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

У меня в системе немногим больше пяти тысяч пакетов, и у каждого в выводе apt list --installed либо есть «/now», либо «,now». Видимо, у меня всё плохо, да? Сходу не нашёл в документации, что такое «now». Но проблем вроде не наблюдалось.

i-rinat ★★★★★
()
Последнее исправление: i-rinat (всего исправлений: 1)
Ответ на: комментарий от Vsevolod-linuxoid

В Kali могут быть какие-то свои особенности работы с пакетами, которые не проявятся в Debian. Да что там Kali. В Ubuntu есть особенности, которые не проявляются в Debian. Ставлю Debian, запускаю aptitude, вижу много пакетов с флагом «автоматически установленный». Если удаляешь какой-нибудь пакет, более не нужные зависимости тоже предлагается удалить. Ставишь Ubuntu, запускаешь aptitude, а там почти все пакеты с флагом «установлены вручную», даже библиотеки.

Так что если очень уж хочется разбираться, чего там ТС недоговаривает (зачем?), то нужно ставить Kali (зачем?).

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Ставлю Debian, запускаю aptitude, вижу много пакетов с флагом «автоматически установленный». Если удаляешь какой-нибудь пакет, более не нужные зависимости тоже предлагается удалить. Ставишь Ubuntu, запускаешь aptitude, а там почти все пакеты с флагом «установлены вручную», даже библиотеки.

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

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

/now — это обозначает пакет из источников вне sources.list и sources.list.d

У меня четыре сотни пакетов, у которых /now, но точно нет пакетов, которые не в каком-нибудь репозитории, либо локальном, либо сетевом.

Похоже, вся эта строчка — другое представление таблицы версий из apt policy <pkg-name>. А это значит, если в репозитории версия обновится, а локально останется старой, у пакета как раз останется только /now.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Хм… у тебя Ubuntu, которая стоит давно? Там есть такая штука, как «partial updates» — если вкратце, они в LTS релизе случайным образом ставят не всем тестовые обновления, и если потом оказывается, что обновления приносят проблемы, то для всех они не идут, но так как версии таких пакетов выше, чем у обычных, то они застревают навсегда. Одна из причин, почему я вернулся на Debian.

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

У меня Debian testing. Изначально, кажется, ставился stable, который в день установки был обновлён до testing.

Ради эксперимента обновил сейчас информацию о пакетах из репозиториев, и в apt list --installed число пакетов с /now возросло до 609. Обновил один пакет и пару его зависимостей до актуальных версий — стало 606.

i-rinat ★★★★★
()
Последнее исправление: i-rinat (всего исправлений: 1)
Ответ на: комментарий от i-rinat

А, понятно всё. В день установки версии многих пакетов в testing и stable совпадали, потому не обновились. А потом так и остались.

Сделай apt update && apt dist-upgrade, по идее должно помочь.

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

Ты же в курсе, что Кали это не для повседневной работы и гаманья в игори, а для узкоспецилизированной задачи пентеста? И вообще я в последнее время в подобных темах вижу тонкое траливалинье

SpaceRanger ★★
()
Последнее исправление: SpaceRanger (всего исправлений: 1)
Ответ на: комментарий от Vsevolod-linuxoid

В день установки версии многих пакетов в testing и stable совпадали, потому не обновились

Этот день был в 2013 году. За это время аж четыре стейбла сменилось, а версии пакетов в системе на testing я обновлял намного чаще.

по идее должно помочь.

У меня с системой нет проблем. Просто решил тебе сообщить, что твоё понимание «/now», похоже, ошибочно. Этот статус не означает, что пакет был установлен извне какого-либо репозитория. Это просто означает, что в репозиториях сейчас версии пакета, которая сейчас установлена в системе. Такое постоянно случается в дистрибутивах с частыми обновлениями пакетов. Например, в testing-ветке Debian.

i-rinat ★★★★★
()