Как исправить невозможно исправить ошибки у вас отложены held битые пакеты

При попытке установить libreoffice-core (или другие пакеты), выскакивает ошибка:

Пакеты, имеющие неудовлетворённые зависимости:
 libreoffice-core : Зависит: libreoffice-common (> 1:4.3.3) но он не будет установлен
                    Зависит: ure (>= 4.2~) но он не будет установлен
                    Зависит: libboost-date-time1.55.0 но он не будет установлен
                    Зависит: libclucene-contribs1 (>= 2.3.3.4) но он не будет установлен
                    Зависит: libclucene-core1 (>= 2.3.3.4) но он не будет установлен
                    Зависит: libcmis-0.4-4 (>= 0.4.0) но он не будет установлен
                    Зависит: libgltf-0.0-0 (>= 0.0.2) но он не будет установлен
                    Зависит: libglu1-mesa но он не будет установлен или
                                    libglu1
                    Зависит: libharfbuzz-icu0 (>= 0.9.18) но он не будет установлен
                    Зависит: libhunspell-1.3-0 (>= 1.3.3) но он не будет установлен
                    Зависит: libicu52 (>= 52~m1-1~) но он не будет установлен
                    Зависит: libmythes-1.2-0 но он не будет установлен
                    Зависит: libodfgen-0.1-1 но он не будет установлен
                    Зависит: librevenge-0.0-0 но он не будет установлен
                    Зависит: libstdc++6 (>= 4.9) но он не будет установлен
                    Зависит: uno-libs3 (>= 4.3.0~alpha) но он не будет установлен
E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты.

Как это можно попытаться вылечить? У меня Debian 8 Jessie x64.

UPD_0: Удалил все из репозиториев, осталось только:

deb http://mirror.yandex.ru/debian/ jessie main
deb-src http://mirror.yandex.ru/debian/ jessie main

deb http://security.debian.org/ jessie/updates main
deb-src http://security.debian.org/ jessie/updates main

sources.list.d тоже чист.

Для “лечения” пытался выполнить:

sudo dpkg --configure -a
sudo apt-get install -f
sudo apt-get --fix-broken install
sudo rm /var/lib/apt/lists/* -vf //Не удалилась какая-то папка
sudo apt-get clean
sudo apt-get autoclean 
sudo apt-get autoremove

Вывод apt-cache policy libreoffice-common libreoffice-core:

libreoffice-common:
  Установлен: (отсутствует)
  Кандидат:   1:4.3.3-2+deb8u2
  Таблица версий:
     1:5.1.3~rc2-3 0
        100 /var/lib/dpkg/status
     1:4.3.3-2+deb8u2 500
        500 http://ftp.ru.debian.org/debian jessie/main amd64 Packages
        500 http://ftp.ru.debian.org/debian jessie/main i386 Packages
libreoffice-core:
  Установлен: (отсутствует)
  Кандидат:   1:4.3.3-2+deb8u2
  Таблица версий:
     1:4.3.3-2+deb8u3 0
        100 /var/lib/dpkg/status
     1:4.3.3-2+deb8u2 500
        500 http://ftp.ru.debian.org/debian jessie/main amd64 Packages


Debian, Linux, Ubuntu

  • 18.08.2018
  • 15 104
  • 0
  • 18.03.2019
  • 8
  • 8
  • 0

Ошибка: Невозможно исправить ошибки, у вас отложены (held) битые пакеты

  • Содержание статьи
    • Описание
    • Добавить комментарий

В данной статье пойдет речь об ошибке “Невозможно исправить ошибки, у вас отложены (held) битые пакеты”, которая возникает на ОС Linux, а также о том, как данную ошибку можно исправить.

Описание

E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты.

При попытке установить какие-либо пакеты через apt, можно столкнуться с такой ошибкой. Одной из причин ее появления, может быть ситуация, когда вы подключили какие-либо сторонние репозитории(ий), которые содержат более новые версии пакетов, а потом удалили их (эти репозитории). При этом информация о новых пакетах осталась в системе.

Информация о доступных пакетах, содержится в файле /var/lib/dpkg/status

Одним из способов это исправить будет удаление информации о более новых пакетах (на которые жалуется apt) из файла /var/lib/dpkg/status.
Первым делом делаем резервную копию:

sudo cp /var/lib/dpkg/status /var/lib/dpkg/status_backup

Теперь открываем файл /var/lib/dpkg/status для редактирования и ищем там пакет, на который жалуется apt. Например, в моем случае, ошибка выглядела так:

nvidia-384 : Зависит: nvidia-driver-390 но он не будет установлен
E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты.

Ищем информацию о пакете nvidia-driver-390 в файле /var/lib/dpkg/status и удаляем ее.

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

После удаления всех мешающих пакетов, необходимо сделать sudo apt-get update
И проверить, исчезла ли ошибка.

Если не получилось, то восстановить резервную копию можно командой:

sudo cp /var/lib/dpkg/status_backup /var/lib/dpkg/status

Также старые резервные копии данного файла можно найти в каталоге /var/backups. Они будут иметь названия вида:
dpkg.status.0
dpkg.status.1.gz
dpkg.status.2.gz

  • Печать

Страницы: 1 2 [3] 4  Все   Вниз

Тема: wineу вас отложены (held) битые пакеты.  (Прочитано 107967 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн
lin_user

зачем ппа?

Затем, что там свежая версия 1.7.*, а не протухшая из официальных реп.


Пользователь решил продолжить мысль 20 Ноября 2014, 16:49:03:


Поставьте Ubuntu 14.04 – она в софте посвежее будет.

« Последнее редактирование: 20 Ноября 2014, 16:49:03 от lin_user »


Оффлайн
Aleksandru

Вы можете попробовать различные типы решений, которые могут помочь восстановить базу данных пакетов из приведённых ниже:
Совет 1

Введите и выполните в терминале,  эту команду, чтобы исправить битые пакеты:
sudo apt-get –fix-broken install

Совет 2
Если приведенная выше команда не помогла, попробуйте выполнить следующие:
sudo rm /var/lib/apt/lists/* -vf 
sudo apt-get update

Совет 3
Вы также можете попробовать следующие команды:
sudo apt-get clean
sudo apt-get autoclean
sudo apt-get autoremove

Совет 4
И ещё:
sudo dpkg –configure -a
sudo apt-get update

У вас synaptic установлен? В консоли: sudo synaptic

AMD FX-6100 AM3+ 6×3300 МГц, GeForce GT 1030, ASUS M5A97 LE R2.0, 16GB RAM, KINGSTON SV300S37A240G, Kubuntu 23.04


Оффлайн
leon49333

dns@dns-Inspiron-3542:~$ sudo synaptic
sudo: synaptic: команда не найдена
dns@dns-Inspiron-3542:~$


Оффлайн
victor00000

dns@dns-Inspiron-3542:~$ ls /etc/apt/so*t.d/*
/etc/apt/sources.list.d/bumblebee-stable-precise.list
/etc/apt/sources.list.d/bumblebee-stable-precise.list.save
/etc/apt/sources.list.d/google-chrome.list
/etc/apt/sources.list.d/google-chrome.list.save
/etc/apt/sources.list.d/precise-dell.list
/etc/apt/sources.list.d/precise-dell.list.save
/etc/apt/sources.list.d/precise-oem-sp1.list
/etc/apt/sources.list.d/precise-oem-sp1.list.save
/etc/apt/sources.list.d/steam.list
/etc/apt/sources.list.d/steam.list.save
/etc/apt/sources.list.d/ubuntu-wine-ppa-precise.list
/etc/apt/sources.list.d/ubuntu-wine-ppa-precise.list.save
/etc/apt/sources.list.d/xorg-edgers-ppa-precise.list
/etc/apt/sources.list.d/xorg-edgers-ppa-precise.list.save
dns@dns-Inspiron-3542:~$

это значит я их отключил??????????


Пользователь решил продолжить мысль [time]20 Ноябрь 2014, 17:03:55[/time]:


ппа


Пользователь решил продолжить мысль [time]20 Ноябрь 2014, 15:04:50[/time]:


теперь вот это вводить?
sudo apt-get autoremove
sudo apt-get install wine

всего ппа надо?


Оффлайн
leon49333

сейчас пробую, насчёт всего ппа не знаю, как ты считаешь нужным, надо давай, нет значит не надо, главное что б получилось


Пользователь решил продолжить мысль 20 Ноября 2014, 17:57:29:


dns@dns-Inspiron-3542:~$ sudo apt-get autoremove
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
dns@dns-Inspiron-3542:~$ sudo apt-get install wine
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
Некоторые пакеты невозможно установить. Возможно, вы просите невозможного,
или же используете нестабильную версию дистрибутива, где запрошенные вами
пакеты ещё не созданы или были удалены из Incoming.
Следующая информация, возможно, поможет вам:

Пакеты, имеющие неудовлетворённые зависимости:
 wine : Зависит: wine1.4 но он не будет установлен
E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты.
dns@dns-Inspiron-3542:~$

вот что получилось

« Последнее редактирование: 20 Ноября 2014, 17:57:29 от leon49333 »


Оффлайн
lin_user

Переустановите 14.04 и начните заново, почитывая инструкции.


Оффлайн
leon49333


Оффлайн
victor00000

leon49333,
ппа случай разные библиотеки или apt-get старый версия.
я не знаю, тебя важнее игра стеам /etc/apt/sources.list.d/steam.list или другие.


Оффлайн
leon49333

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


Оффлайн
dj–alex

так для доты 2 вине не нужен. она официально портирована на Steam
и бесплатная


Оффлайн
.human

попробуй так сначала
sudo dpkg –add-architecture i386
а потом
dpkg –configure -a


Оффлайн
chaevara

если проблема с held- пакетами не решена пробуем:

$ sudo apt-get install aptitude
$ sudo aptitude install имя_проги_в_данном_случае_wine

$ sudo apt-get dist-upgrade. Никогда еще Штирлиц не был так близок к провалу…


Оффлайн
NikolasKrr

Начал устанавливать Wine выскочила та же проблемя, после долгих мутарств переустановил ОС и о чудо на голую 14.04 программа легла без сучка и задоринки. Затем настроил систему.
После мне потребовалось установить Gimp и тот же самый текст мне вышел
E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты.
в Центре приложений целую кучу зависимостей высветил.
Но с системой всё в порядке, я же её меньше суток назад установил.
Короче с горем пополам я нашёл причину этой проблемы – это прокладка между компом и стулом. Нужно внимательно подходить к тому что пишут в интернете. Дело в том, что я нуб в ubuntu и, как многие нубы, умею пользоваться поисковиком, а там можно спросить у гугла или яндекса о первичной настройке ОС. Так вот, в одном или нескольких из таких мануалов описана рекомендация, чтобы выбрать наилучший сервер для обновления. Это и была причина того, что система не хотела устанавливать программы. Так что нужно просто всё вернуть как было и выбрать сервер Российская Федерация.


Оффлайн
[ld]

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


Оффлайн
vvv2win


  • Печать

Страницы: 1 2 [3] 4  Все   Вверх

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

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

Как исправить у вас зафиксированы сломанные пакеты?

1. Обновите списки пакетов

Возможно вам не удалось установить нужные пакеты потому что списки репозиториев устарели, и там ещё не было нужных пакетов. Для обновления списка пакетов выполните:

sudo apt update --fix-missing

2. Установите битые пакеты

После обновления списка пакетов из репозиториев может помочь установка битых пакетов. Этот шаг поможет особенно если вы устанавливали пакет с помощью dpkg и теперь нужно доустановить его зависимости с помощью пакетного менеджера. Для этого есть специальная команда:

sudo apt install -f

3. Очистите лишние пакеты

Установке могут мешать лишние пакеты, которые больше не нужны в системе. Для их удаления выполните:

sudo apt clean

Затем:

sudo apt autoremove

Утилита отобразит список всех битых пакетов, которые не установлены, вы можете попытаться их удалить с помощью команды:

sudo dpkg --remove -force --force-remove-reinstreq имя_пакета

4. Используйте dpkg

Вместо apt вы можете использовать команду dpkg чтобы посмотреть какие пакеты вызывают проблему. Просто выполните:

sudo dpkg --configure -a

Команда покажет проблемные пакеты, а потом вы сможете их удалить той же командой:

sudo dpkg --remove -force --force-remove-reinstreq имя_пакета

5. Разрешите зависимости

Битые пакеты чаще всего появляются из-за того, что пакетный менеджер не может найти для них нужные зависимости. Если вам всё же очень нужно установить такой пакет, просто разрешите эти зависимости. Для этого можно скачать и установить их вручную или если вы уверенны, что зависимости в пакете указаны неверно, можно скачать его распаковать и удалить мешающие зависимости. Подробнее об этом читайте в этой статье.

Выводы

В этой небольшой статье мы рассмотрели что делать если в вашей системе появились битые пакеты и как их исправить. Здесь решение проблемы очень сильно зависит от вашей ситуации, но здесь приведены основные варианты решения, которые должны помочь вернуть пакетный менеджер к работе. Иногда рекомендуют удалить пакет вручную из базы данных dpkg /var/lib/dpkg/status, однако лучше этого не делать и найти путь решить проблему по другому, ручное редактирование подобных файлов может создать ещё больше проблем.

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Creative Commons License

Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

Об авторе

Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.

На чтение 4 мин. Просмотров 342 Опубликовано 22.04.2021

Вы можете обнаружить, что при попытке установить пакет в Linux вы обнаружите ужасную строку с надписью E: Невозможно исправить проблемы, у вас есть неработающие пакеты. Затем установка отказывается продвигаться дальше этой точки. Вы можете найти это в любом дистрибутиве Linux, который использует apt-get для управления пакетами, включая Debian, а также различные побочные продукты Linux Mint и Ubuntu.

Это вызвано сломанными зависимостями, которые являются побочный эффект от установки пакетов, зависящих от других пакетов, которые не установлены. Когда apt-get устанавливает что-то, он замечает, что у него нет доступа к чему-то, что ему нужно, и поэтому он не может продолжить работу. Несколько основных приемов командной строки, а также графический инструмент могут быстро все исправить.

Содержание

  1. Метод 1. Использование dpkg –configure для исправления задержанных поврежденных пакетов
  2. Метод 2 : Использование команды dist-upgrade
  3. Метод 3: Исправление битых пакетов с помощью Synaptic

Метод 1. Использование dpkg –configure для исправления задержанных поврежденных пакетов

Во время работы в терминале попробуйте запустить sudo dpkg –configure -a для запуска автоматический процесс обновления, который ищет любые сломанные зависимости в вашей системе, вызванные пакетами, которые не установлены. Этот инструмент должен автоматически устанавливать любой пакет, который, по его мнению, вам не хватает, без вмешательства пользователя, хотя, если вас просят установить что-то, вы должны нажать клавишу y, чтобы ответить на запрос.

Если он не обнаружит ни одного сломанного пакета, вы не должны увидеть никаких результатов. Мы запустили это на чистой тестовой машине под управлением Xubuntu, поэтому ошибок не было, но если у вас возникли проблемы «Невозможно исправить проблемы, у вас есть сломанные пакеты», то это может привести к обнаружению нескольких пакетов, которые вам нужно установить. . Запустив его, попробуйте sudo apt-get install -f из командной строки.

Эта программа выполнит и построит список зависимостей, а затем прочитает информацию о состоянии. Если вы получили сообщение о том, что было «0 обновлено, 0 недавно установлено, 0 для удаления и 0 не обновлено», значит, вы либо работали без нарушенных зависимостей, либо предыдущая команда все исправила. На этом этапе вы можете запустить sudo apt-get clean && sudo apt-get update , а затем sudo apt-get upgrade , чтобы обновить каждый пакет в вашей системе. . Это может занять некоторое время в зависимости от того, как долго в вашей системе были проблемы с пакетами.

Метод 2 : Использование команды dist-upgrade

Если вы получили сообщение о том, что «некоторые пакеты были задержаны», поэтому вы не смогли успешно выполнить предыдущую команду, то вам следует запустить sudo apt-get dist-upgrade , чтобы установить остальные пакеты. Помимо выполнения функции обычного обновления, опция dist-upgrade обрабатывает измененные зависимости с более новыми версиями пакетов.. Поскольку apt-get имеет специальную систему конфликтов, он обычно пытается обновить наиболее важные пакеты за счет того, что ничего не делает с менее важными для вашей системы. Использование этой команды заставляет обновляться даже те.

Это существо сказал, что если не обнаружено никаких сломанных пакетов, вы просто получите третье сообщение о том, что ничего не обновлено и ничего не установлено заново. В этом случае вы можете снова попробовать sudo apt-get upgrade , чтобы в случае каких-либо изменений подпрограмма автоматического обновления могла работать. С другой стороны, если вы знаете конкретное имя пакета, который вам нужен, вы можете установить его вручную.

Например, предположим, что компонент среды выполнения GNUStep был тем, чего вам не хватало, поскольку вы хотел использовать синтез голоса. Вы можете просто ввести sudo apt-get install gnustep-gui-runtime , чтобы установить этот жизненно важный пакет. Имейте в виду, что это всего лишь пример, и вы можете заменить gnustep-gui-runtime именем любого пакета, который вам нужно установить. Современные дистрибутивы, основанные на стандарте apt-get, имеют несколько тысяч пакетов, но если вы знаете имя того, который ищете, это заставит его установить.

Метод 3: Исправление битых пакетов с помощью Synaptic

Если у вас есть графический менеджер пакетов Synaptic, вы также можете использовать этот инструмент для исправления любых поврежденных пакетов. Откройте программу и выберите раскрывающееся меню «Изменить». В этом меню должна быть опция «Исправить поврежденные пакеты», поэтому выберите ее, если она у вас есть. Запуск не займет много времени, если не так много сломанных пакетов, но он может обнаружить ряд ошибок, которые замедлят выполнение.

После того, как он завершит выполнение всего, вы обратите внимание на слова «Успешно исправленные проблемы с зависимостями» в нижней строке состояния.

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

Добавить комментарий