Во время установки программ с помощью пакетного менеджера 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 ShareAlike 4.0 при копировании материала ссылка на источник обязательна .
Об авторе
Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.
Если вы активный пользователь Linux, то наверняка встречались с тем, что некоторые пакеты так сказать ломаются. Это может быть вызвано по разным причинам, некорректно установленный пакет, какие-то ошибки во время установки и многое другое. Что в свою очередь может сказаться и на самом менеджере пакетов “apt-get”, и как итог, возможно что дойдет даже то того, что вы не сможете обновляться или устанавливать программное обеспечения. Данная статья поможет вам решить вопрос со сломанными пакетами в Debian / Ubuntu, а так же их производными. Так как сломанные пакеты могут возникать по разным причинам, существует несколько способов для решения этой задачи, но, не все они могут сработать, тут все зависит от конкретного случая.
P.S. Желательно точно знать какой пакет у вас сломан, так как это поможет вам выбрать один из способом решения задачи.
Чиним сломанные пакеты с apt-get
Первый вариант, который может помочь починить сломанные пакеты имеется в самом менеджере пакетов apt, и для починки сломанных пакетов достаточно ввести две команды:
sudo apt-get update --fix-missing sudo apt-get install -f
Этот способ поможет для решения уже установленных в вашей системе пакетов, который по каким то причинам сломались. После выполнения первой команды необходимо убедиться, что она исправила ошибки, а затем переходить к введению второй команды. Возможно, что для исправления сломанных пакетов понадобиться несколько минут:
Чиним сломанные пакеты с apt-get и dpkg
Но, что делать если пакет сломался во время установки? Можно попробовать выполнить команды из первого примера, если они не сработают, переходим к использованию apt-get и dpkg, для этого первым делом используем dpkg для настройки пакетов. А затем выполняем очистку apt-get:
sudo dpkg --configure -a sudo apt-get clean sudo apt-get update
В некоторых ситуациях может понадобиться удалить файл блокировки, после удаления файла блокировки, снова выполните предыдущие команды:
sudo rm /var/lib/apt/lists/lock
Принудительное удаление пакета с помощью apt-get и dpkg
В редких ситуациях может случиться и такое, что ни один из выше указанных методов не сработает и вам понадобиться вручную удалить сломанный пакет. Для этого разумеется вы должны точно знать что это за пакет, и первый вариант удаление пакета с помощью apt-get, для этого вводим команду:
sudo apt-get remove и название пакета
Если же вам не удалось удалить пакет, переходим к кардинальным мерам, для принудительного пакеты введите команду:
sudo dpkg --remove --force-remove-reinstreq и название пакеты
Затем выполните очистку и обновление пакетов:
sudo apt-get clean && sudo apt-get update
Заключение
Если вы не знаете про менеджеры пакетов apt-get и dpkg, на WIKI имеется статьи, первая про apt, вторая статья про dpkg. В редких ситуациях, выше приведенных мер может быть недостаточно для исправления сломанных пакетов. В этом случае, может понадобиться ручная сборка и удаление сломанных пакетов, правда, имеется риск повредить работоспособность всей системы, что в свою очередь может вывести ее из строя. В этом случае, если вы делали резервные копии вашей системы можно откатиться работоспособной версии системы. Сделать резервную копию вашей системы можно при помощи Timeshift или Deja Dup, последняя имеется в дистрибутиве Ubuntu. Но, чаще всего удается отделаться малой кровью когда появляются сломанные пакеты, и выше приведенных мер достаточно для исправления сломанных пактов.
А на этом сегодня все. Надеюсь данная статья будет вам полезна.
Журнал Cyber-X
- Печать
Страницы: [1] 2 Все Вниз
Тема: E: Невозможно исправить ошибки: у вас зафиксированы сломанные пакеты. (Прочитано 49620 раз)
0 Пользователей и 1 Гость просматривают эту тему.
Deniske
Наверное, мне нужен кэп
Пытаюсь поставить вайн, всё по инструкции с официального сайта
denis@denis-atlas-h155:~$ sudo apt install --install-recommends winehq-devel
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Некоторые пакеты не могут быть установлены. Возможно, то, что вы просите,
неосуществимо, или же вы используете нестабильную версию дистрибутива, где
запрошенные вами пакеты ещё не созданы или были удалены из Incoming.
Следующая информация, возможно, вам поможет:
Следующие пакеты имеют неудовлетворённые зависимости:
winehq-devel : Зависит: wine-devel (= 4.7~disco)
E: Невозможно исправить ошибки: у вас зафиксированы сломанные пакеты.
Система: kubuntu 19.04
Решил кеды попробовать. Только поставил
« Последнее редактирование: 08 Мая 2019, 07:01:01 от Deniske »
dexp atlas h155; Intel Core i5-4210M; 6GB DDR3 1333MHz; NVIDIA GeForce 840M, NVIDIA 367.44;
Ubuntu 16.04 х64, 4.8.1-040801-generic; Unity 7.4.0;. (u)efi
andytux
В принципе, вам все уже сказано:
Следующие пакеты имеют неудовлетворённые зависимости…
А почему так, обращайтесь туда, откуда скачиваете.
Невозможно исправить ошибки: у вас зафиксированы сломанные пакеты
А это наиболее вероятный результат установки со всяких левых источников. И пока вы не восстановите пакеты, вы вообще ничего не сможете установить.
Быстрый и гарантированный способ – восстановление системы из бэкапа. Все остальное почти наверняка потребует больше времени и никаких гарантий.
Поищите про “сломаннные пакеты”. На форуме полно тем по этому вопросу.
Deniske
andytux, был установлен только хром и попытка установки вайна. Остальное из центра приложений.
как диагностировать проблему?
Добавил информацию о системе в шапку
« Последнее редактирование: 08 Мая 2019, 07:01:35 от Deniske »
dexp atlas h155; Intel Core i5-4210M; 6GB DDR3 1333MHz; NVIDIA GeForce 840M, NVIDIA 367.44;
Ubuntu 16.04 х64, 4.8.1-040801-generic; Unity 7.4.0;. (u)efi
andytux
как диагностировать проблему?
Система уже выдала вам диагностику: “сломанные пакеты.”
Если сломали не очень сильно, то:
sudo apt install -f
Deniske
andytux, это как если в больнице скажут “вы болеете”, а не “у вас грипп”
как найти сломанные пакеты?
Как можно сломать пакеты, если ни чего необычного не делал?
Раньше ни чего не ломалось
dexp atlas h155; Intel Core i5-4210M; 6GB DDR3 1333MHz; NVIDIA GeForce 840M, NVIDIA 367.44;
Ubuntu 16.04 х64, 4.8.1-040801-generic; Unity 7.4.0;. (u)efi
БТР
Deniske, вам уже написали выше. Дайте под спойлер вывод
sudo apt-get update
sudo apt-get install -f
andytux
как найти сломанные пакеты?
Запусти synaptic, там они выделены другим цветом. Или включи там фильтр “broken” – покажет только сломанные.
Как можно сломать пакеты, если ни чего необычного не делал?
Как раз, сделал все, чтобы сломать. Ставишь из левых источников. Предвидя вопрос, левые – это все, что помимо родного source.list.
это как если в больнице скажут…
…скажут труп, значит труп. Можешь сколько угодно чихать на простуду. Профилактику я тебе сказал. Лекарства тоже. И простое и которое лечит.
Deniske
БТР,
Пользователь добавил сообщение 08 Мая 2019, 18:27:46:
Запусти synaptic, там они выделены другим цветом. Или включи там фильтр “broken” – покажет только сломанные.
нет результатов. Ни одного сломанного пакета в синаптике
« Последнее редактирование: 08 Мая 2019, 18:27:46 от Deniske »
dexp atlas h155; Intel Core i5-4210M; 6GB DDR3 1333MHz; NVIDIA GeForce 840M, NVIDIA 367.44;
Ubuntu 16.04 х64, 4.8.1-040801-generic; Unity 7.4.0;. (u)efi
ARTGALGANO
Deniske, подробнее раскажите что и как делали?
реп universe подключен?
Deniske
ARTGALGANO, поставил систему, поставил гугл хром из гугловской репы, обновил видеодрайвер, поставил телегу, kdenlive, vlc и audacios из центра приложений, попытался поставить вайн следуя инструкции, по которой всё успешно делал десятки раз и у меня не получилось
universe подключен
dexp atlas h155; Intel Core i5-4210M; 6GB DDR3 1333MHz; NVIDIA GeForce 840M, NVIDIA 367.44;
Ubuntu 16.04 х64, 4.8.1-040801-generic; Unity 7.4.0;. (u)efi
ALiEN175
ASUS P5K-C :: Intel Xeon E5450 @ 3.00GHz :: 8 GB DDR2 :: Radeon R7 260X :: XFCE
ACER 5750G :: Intel Core i5-2450M @ 2.50GHz :: 6 GB DDR3 :: GeForce GT 630M :: XFCE
Misha_White
Блин, у меня с mysql-server такая же беда…
sudo apt-get install mysql-server
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Некоторые пакеты не могут быть установлены. Возможно, то, что вы просите,
неосуществимо, или же вы используете нестабильную версию дистрибутива, где
запрошенные вами пакеты ещё не созданы или были удалены из Incoming.
Следующая информация, возможно, вам поможет:
Следующие пакеты имеют неудовлетворённые зависимости:
mysql-server : Зависит: mysql-community-server (= 5.7.27-1debian10) но он не будет установлен
E: Невозможно исправить ошибки: у вас зафиксированы сломанные пакеты.
ecc83
Misha_White, а Вы “случайно” операционной системой не ошиблись?
mysql-community-server (= 5.7.27-1debian10)
victor00000
sokdes
Решение проблемы найдено
Столкнулся сегодня с данной проблемой.
Установка Wine с репозитория через консоль.
При установке выдает сообщение
Следующие пакеты имеют неудовлетворённые зависимости:
winehq-stable : Зависит: wine-stable (= 5.0.0~bionic)
E: Невозможно исправить ошибки: у вас зафиксированы сломанные пакеты.
В synaptyc нет пакетов в ошибками.
Решение. Через “Источники приложений” поменял репозитории Базовый(bionic) и Основной(tricia) , с тех что были по умолчанию на те, что относятся к Russian Federation. в данном случае mirror.truenetwork.ru и mirror.yandex.ru соответсвенно.
Wine установился без вопросов.
- Печать
Страницы: [1] 2 Все Вверх
На чтение 4 мин. Просмотров 382 Опубликовано 22.04.2021
Вы можете обнаружить, что при попытке установить пакет в Linux вы обнаружите ужасную строку с надписью E: Невозможно исправить проблемы, у вас есть неработающие пакеты. Затем установка отказывается продвигаться дальше этой точки. Вы можете найти это в любом дистрибутиве Linux, который использует apt-get для управления пакетами, включая Debian, а также различные побочные продукты Linux Mint и Ubuntu.
Это вызвано сломанными зависимостями, которые являются побочный эффект от установки пакетов, зависящих от других пакетов, которые не установлены. Когда apt-get устанавливает что-то, он замечает, что у него нет доступа к чему-то, что ему нужно, и поэтому он не может продолжить работу. Несколько основных приемов командной строки, а также графический инструмент могут быстро все исправить.
Содержание
- Метод 1. Использование dpkg –configure для исправления задержанных поврежденных пакетов
- Метод 2 : Использование команды dist-upgrade
- Метод 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 и снова работать из командной строки или продолжить вносить изменения здесь.
Поврежденные пакеты нуждаются в ремонте, иначе программное обеспечение не будет запускаться. Вот как найти поврежденные пакеты и исправить их в Linux.
Менеджеры пакетов в Linux позволяют контролировать установку и удаление пакетов. В дополнение к этому менеджеры пакетов также помогают вам находить поврежденные пакеты в вашей системе и переустанавливать их, чтобы устранить различные проблемы, связанные с пакетами Linux.
Если вы не знаете, какие команды использовать для поиска и исправления поврежденных пакетов в Linux, то это руководство для вас. Мы кратко обсудим поврежденные пакеты, как вы можете проверить, содержит ли ваша система поврежденные пакеты, и как их правильно переустановить.
Что такое поврежденные пакеты?
Когда вы устанавливаете новый пакет в Linux, менеджер пакетов вашей системы отвечает за весь процесс установки. Эти менеджеры пакетов имеют встроенные методы для обработки исключений и ошибок. Но иногда, в случае непредвиденных проблем, установка останавливается, и полный пакет не устанавливается. Такие пакеты в Linux называются поврежденными пакетами.
Менеджеры пакетов, такие как APT, не разрешают дальнейшую установку пакетов, если обнаруживается поврежденный пакет в системе. В такой ситуации восстановление поврежденного пакета является единственным вариантом.
Как найти и исправить поврежденные пакеты
Каждый менеджер пакетов обрабатывает разные типы пакетов. Например, DNF и YUM работают с Red Hat Package Manager (RPM) для загрузки и установки пакетов RPM. Аналогично, APT действует как оболочка интерфейса для базового программного обеспечения dpkg в дистрибутивах на основе Debian.
Переустановка поврежденных пакетов в Ubuntu и Debian
APT – это менеджер пакетов по умолчанию, который предустановлен в каждом дистрибутиве на основе Debian. Помимо APT, пользователи Debian и Ubuntu также могут загружать и устанавливать пакеты вручную с помощью dpkg.
Шаги, упомянутые ниже, также будут работать, если вы хотите исправить поврежденные пакеты в Kali Linux, поскольку, в конце концов, Kali – это дистрибутив на основе Debian.
Как исправить поврежденные пакеты в дистрибутивах на основе Debian с помощью APT:
- Откройте терминал, нажав Ctrl + Alt + T на клавиатуре и введите:
2. Обновите список пакетов вашей системы из доступных источников
3. Теперь принудительно установите поврежденные пакеты, используя флаг -f. APT автоматически выполнит поиск поврежденных пакетов в вашей системе и переустановит их из официального репозитория.
Если вышеупомянутые шаги не работают для вас, вы можете попытаться решить проблему с помощью dpkg.
- Заставьте dpkg перенастроить все ожидающие пакеты, которые уже распакованы, но нуждаются в настройке. Флаг -a в команде означает Все.
2. Передайте grep с помощью dpkg, чтобы получить список всех пакетов, помеченных как требуемые dpkg.
3. Используйте флаг –remove, чтобы удалить все поврежденные пакеты
4. Очистите кэш пакетов и установите скрипты с помощью apt clean.
5. Теперь обновите списки пакетов вашей системы, используя следующую команду:
Исправить поврежденные пакеты в Fedora / CentOS и RHEL
Хотя YUM и DNF отлично подходят для автоматического управления поврежденными пакетами, иногда возникают проблемы, поскольку в системе Linux установлены тысячи пакетов. В таких ситуациях вы можете использовать RPM (базовый менеджер пакетов для Fedora и CentOS) для быстрого устранения таких проблем.
- Проверьте все пакеты в вашей системе, используя флаг -V.
2. Вы увидите длинный список, содержащий все установленные пакеты в вашей системе.
3. Переустановите пакет, который, по вашему мнению, может вызывать проблему с поврежденным пакетом.
Описанные выше шаги крайне неудобны — определение того, какой пакет вызывает проблему, из списка сотен утомительно. Хотя RPM является мощным менеджером пакетов, и вы редко будете сталкиваться с такими проблемами, знание того, как устранить эти проблемы, по-прежнему важно на случай, если вы столкнетесь с подобной ситуацией в ближайшем будущем.
Управление пакетами в дистрибутивах Linux
Менеджеры пакетов в Linux способны справиться с большинством проблем, включая неудачные установки. Но иногда возникают различные проблемы, которые можно решить только интуитивно. Решение для исправления поврежденных пакетов состоит из нескольких шагов — определение поврежденного пакета, его переустановка и обновление списка пакетов системы.
В Интернете доступно бесчисленное множество дистрибутивов Linux, которые стоит попробовать, но в глубине души каждый из них имеет схожую основу. Среды рабочего стола выделяют каждый дистрибутив, предоставляя уникальный пользовательский интерфейс. Выбор идеальной среды рабочего стола, которая соответствует вашему вкусу, должен быть вашим приоритетом, если вы, наконец, решили перейти на Linux.
Смотрите другие статьи на нашем канале .
Как запускать команды Linux в фоновом режиме
8 Советов по настройке рабочего стола Cinnamon в Linux
Как использовать рабочие пространства и активные углы в Linux Mint
Вы также можете оставить свое мнение об этом посте в разделе комментариев.