Как найти пакеты с ошибками

Во время установки программ с помощью пакетного менеджера 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, интересуюсь всем, что связано с информационными технологиями и современной наукой.

Если вы активный пользователь Linux, то наверняка встречались с тем, что некоторые пакеты так сказать ломаются. Это может быть вызвано по разным причинам, некорректно установленный пакет, какие-то ошибки во время установки и многое другое. Что в свою очередь может сказаться и на самом менеджере пакетов “apt-get”, и как итог, возможно что дойдет даже то того, что вы не сможете обновляться или устанавливать программное обеспечения. Данная статья поможет вам решить вопрос со сломанными пакетами в Debian / Ubuntu, а так же их производными. Так как сломанные пакеты могут возникать по разным причинам, существует несколько способов для решения этой задачи, но, не все они могут сработать, тут все зависит от конкретного случая.

P.S. Желательно точно знать какой пакет у вас сломан, так как это поможет вам выбрать один из способом решения задачи.

Чиним сломанные пакеты с apt-get

Первый вариант, который может помочь починить сломанные пакеты имеется в самом менеджере пакетов apt, и для починки сломанных пакетов достаточно ввести две команды:

sudo apt-get update --fix-missing
sudo apt-get install -f

сломанные пакеты в Debian Ubuntu 1

Этот способ поможет для решения уже установленных в вашей системе пакетов, который по каким то причинам сломались. После выполнения первой команды необходимо убедиться, что она исправила ошибки, а затем переходить к введению второй команды. Возможно, что для исправления сломанных пакетов понадобиться несколько минут:

Чиним сломанные пакеты с apt-get и dpkg

Но, что делать если пакет сломался во время установки? Можно попробовать выполнить команды из первого примера, если они не сработают, переходим к использованию apt-get и dpkg, для этого первым делом используем dpkg для настройки пакетов. А затем выполняем очистку apt-get:

sudo dpkg --configure -a
sudo apt-get clean
sudo apt-get update

сломанные пакеты в Debian Ubuntu 2

В некоторых ситуациях может понадобиться удалить файл блокировки, после удаления файла блокировки, снова выполните предыдущие команды:

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

До некоторого времени, всё устанавливалось и работало. Установил что-то лишние или встал какой пакет криво, но сразу это признака не подал (Ubuntu 16.10). Сейчас потребовалось установить GD, проблема ниже:

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

Пакеты, имеющие неудовлетворённые зависимости:
 php7.0-gd : Зависит: php7.0-common (= 7.0.15-0ubuntu0.16.10.4) но 7.0.18-1~dotdeb+8.1 будет установлен
E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты.

Не помогает:

apt-get -f install
apt-get autoremove

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

Если вы не знаете, какие команды использовать для поиска и восстановления поврежденных пакетов в Linux, то это руководство для вас. Мы кратко рассмотрим сломанные пакеты, как проверить, не повреждены ли пакеты в вашей системе, и как их правильно установить.

Что такое сломанные пакеты?

Когда вы устанавливаете новый пакет в Linux, менеджер пакетов вашей системы отвечает за весь процесс установки. Эти менеджеры пакетов имеют встроенные методы обработки исключений и ошибок. Но иногда, в случае непредвиденных проблем, установка останавливается и весь пакет не устанавливается. Такие пакеты в Linux называются дефектными пакетами.

Менеджеры пакетов, такие как APT, не разрешают дальнейшую установку пакетов, если обнаруживают дефектный пакет в системе. В такой ситуации ремонт неисправной упаковки – единственный выход.

Как найти и восстановить сломанные пакеты

Каждый менеджер пакетов обрабатывает разные типы пакетов. Например, DNF и YUM работают с диспетчером пакетов Red Hat (RPM) для загрузки и установки пакетов RPM. Точно так же APT действует как интерфейсная оболочка для базового программного обеспечения dpkg в дистрибутивах на основе Debian.

Переустановите дефектные пакеты под Debian

APT — это стандартный менеджер пакетов, предустановленный в каждом дистрибутиве на базе Debian. Помимо APT, пользователи Debian и Ubuntu также могут загружать и устанавливать пакеты вручную с помощью dpkg.

Как восстановить сломанные пакеты в дистрибутивах на основе Debian с помощью APT:

  1. Откройте терминал, нажавCtrl+Старый+Тна клавиатуре и введите:

    sudo apt --fix-missing update
  2. Обновите список пакетов вашей системы из доступных источников:

    sudo apt update
  3. Теперь принудительно установите дефектные пакеты сФлаг. APT автоматически выполнит поиск дефектных пакетов в вашей системе и переустановит их из официального репозитория.

    sudo apt install -f

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

  1. Заставьте dpkg перенастроить все ожидающие пакеты, которые уже распакованы, но нуждаются в настройке. вФлаг в команде означаетВсе.

    sudo dpkg --configure -a
  2. Отправьте grep с dpkg, чтобы получить список всех пакетов, сохраненных как. отмеченыНеобходимыйот dpkg.

    sudo dpkg -l | grep ^..r
  3. Использовать– ПогаситьФлаг для удаления всех дефектных пакетов.

    sudo dpkg --remove --force-remove-reinstreq
  4. Очистите кеш пакетов и установите с его помощью скриптыдолжным образом чистый.

    sudo apt clean
  5. Теперь обновите списки пакетов вашей системы с помощью следующей команды:

    sudo apt update

Восстановление сломанных пакетов в Fedora/CentOS и RHEL

Хотя YUM и DNF отлично подходят для автоматического управления поврежденными пакетами, иногда возникают проблемы из-за того, что в системе Linux установлены тысячи пакетов. В таких ситуациях вы можете использовать RPM (базовый менеджер пакетов для Fedora и CentOS), чтобы быстро исправить такие проблемы.

  1. Проверьте все пакеты в вашей системе с помощьюФлаг.

    sudo rpm -Va
  2. Вы увидите длинный список всех пакетов, установленных в вашей системе.

  3. Переустановите пакет, который, по вашему мнению, вызывает проблему с поврежденным пакетом.

    sudo dnf --refresh reinstall packagename

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

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

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

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

Исправить Linux Mint, который не обновляется из-за сломанные пакеты ошибка

В этой статье мы обсудим причины неисправных пакетов и покажем вам, как их исправить в Linux Mint.

Случай I: неудовлетворенные зависимости

Это наиболее частая причина вашего Linux Mint не получает обновления, и основной причиной могут быть неудовлетворенные зависимости. При установке программы она также попытается установить зависимые программы и библиотеки. Если эти зависимости недоступны для загрузки по какой-либо причине, например, если сервер не работает или библиотеки, которые не поддерживаются разработчиком, система выдает ошибку «сломанные пакеты».

Ошибка зависимостей

Исправить:

Запустите Терминал и введите следующую команду:

sudo apt-get -f install

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

Установка зависимостей через Терминал

В другом сценарии, когда зависимости недоступны в репозиториях, sudo apt-get -f install команда может не работать. В этой ситуации вам следует удалить пакеты. Мы будем использовать Synaptic Package Manager для выполнения этой работы.

Ошибка сломанных пакетов на Synaptic

Запустите Synaptic Package Manager и выберите Статус на левой панели и нажмите Сломанные зависимости найти сломанный пакет. Нажмите на красное поле слева от имени пакета, и вы должны получить возможность удалить его. Отметьте его для полного удаления и нажмите Применить на верхней панели. Пакет следует удалить.

Исправление неработающих пакетов в Synaptics

Удаление битых пакетов из терминала

Вы также можете удалить битые пакеты из Терминала. Сначала выполните следующую команду, чтобы проверить неработающие пакеты:

sudo apt-get check

Обнаружение битых пакетов

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

sudo apt-get purge abc

Например, чтобы исправить ошибку на скриншоте выше, я должен использовать команду:

sudo apt-get purge ubports-installer

Программа и все ее файлы конфигурации должны быть удалены.

Случай II: ошибка установки пакета

Если при установке какого-либо пакета произошла ошибка, он также должен вернуть ту же ошибку.

Исправить:

sudo apt --fix-broken install

Команда должна попытаться исправить все и установить / удалить все, что необходимо. В противном случае вы можете снова использовать Synaptic Package Manager, чтобы исправить это, как описано в предыдущем случае.

Случай III: Неисправные репозитории

Третья причина может быть в поврежденных репозиториях и обычно возникает, когда sudo apt-get update используется. Ошибка репозиториев может быть вызвана несколькими причинами, но следующие решения подходят для всех. Чтобы решить эту проблему, пригодится простая программа под названием YPPA Manager.

Исправить:

Для установки программы выполните следующее:

sudo add-apt-репозиторий ppa: webupd8team / y-ppa-manager
sudo apt-get update
sudo apt-get install y-ppa-manager

Теперь запустите YPPA Manager из меню приложения и введите пароль. Это окно должно появиться:

Y Менеджер PPA

Нажмите Manage PPA, и вы должны увидеть список всех репозиториев в вашей системе. Теперь найдите тот, который вызывал ошибку (из команды обновления), и очистите его. Перезапустите обновление, и проблема должна быть исправлена.

Список репозиториев Y-PPA

Заключение

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

Каким был ваш опыт решения проблемы? Дайте нам знать в комментариях ниже, и если вам понравилась эта статья, не забудьте поделиться ею со своими друзьями в социальных сетях.

Понравилась статья? Поделить с друзьями:
  • Как найти маркировку подшипника
  • Как найти угловую частоту по графику
  • Как в москве найти дешевую шлюху
  • Как исправить звук в корсарах гпк
  • Как найти медную проволоку в сталкере