Исправление: невозможно исправить проблемы «У вас есть поврежденные пакеты»



Попробуйте наш инструмент устранения неполадок

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



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



Метод 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 и снова работать из командной строки или продолжить вносить изменения здесь.

3 минуты на чтение