Ubuntu и Debian используют пакеты для добавления к возможностям системы, что позволяет пользователям делать больше с их машинами. Однако, как и в случае с этой системой пакетов, все еще может сломаться. Будь то плохая установка, плохая конфигурация или если что-то внешне изменило файлы после установки, пакеты могут иногда ошибаться и больше не работать, делая их «сломанными». Это также может повлиять на apt-get, встроенный менеджер пакетов, который может привести к тому, что вы не сможете установить какие-либо дополнительные пакеты, обновить их или вообще полностью удалить.
В этой статье мы рассмотрим несколько способов исправления ваших сломанных пакетов как на Ubuntu 16.04, так и на Debian 9. Поскольку эта проблема может возникнуть по нескольким причинам, существует несколько решений, некоторые из которых могут работать или не работать на вашем компьютере, Поэтому лучше всего увидеть, какой пакет сломался и почему, что поможет вам решить, какой метод следует выполнять в первую очередь.
Чаще всего, сломанный пакет, который сломался после его установки, можно относительно легко исправить, благодаря встроенному инструменту внутри apt-get. Выполняя следующие команды, вы попытаетесь исправить любые поврежденные пакеты, установленные в вашей системе:
sudo apt-get update --fix-missing
sudo apt-get install -f
(опция -f не подходит для исправления ошибок).
Попробуйте и убедитесь, что первая команда исправляет вашу проблему перед выполнением второй команды. Дайте ему несколько минут, чтобы исправить ошибки, которые могут быть найдены. Если он работает, попробуйте использовать пакет, который был сломан — скорее всего, он будет исправлен. Если он все еще не исправлен, перейдите к следующему решению ниже.
Это решение поможет, если пакет программного обеспечения сломался во время установки. Вы можете попробовать использовать предыдущий метод, прежде чем продолжить, поскольку это может помочь. Во-первых, мы очищаем apt-get и пытаемся использовать dpkg для настройки любых пакетов, которые в нем нуждаются:
sudo dpkg --configure -a sudo apt-get clean sudo apt-get update
После этого проверьте, исправлен ли пакет. Если этого не произошло, вам может потребоваться удалить файлы блокировки. Файлы блокировки используются для хранения ресурсов для определенных программ — это помогает предотвратить доступ к другим программам одновременно. Это можно сделать, просто удалив список блокировки:
sudo rm /var/lib/apt/lists/lock
После этого попробуйте выполнить приведенные выше команды еще раз. Оттуда попробуйте и переустановите пакет, чтобы убедиться, что он теперь может быть успешно установлен.
Иногда, в редких случаях, приведенные выше команды не будут работать, и сломанный пакет не будет исправлен. В этом случае вам нужно будет удалить пакет вручную и с силой. Этот метод требует, чтобы вы уже знали, какой пакет поврежден.
Сначала вы можете попробовать удалить проблемный пакет с помощью apt-get, введя следующую команду:
sudo apt-get remove
Вероятно, это не будет успешно выполнено, но стоит попробовать, прежде чем удалять его силой.
В зависимости от ошибок, возникающих при попытке удалить пакет в обычном режиме, вы можете определить разбитый пакет, используя dpkg и grep:
dpkg -l | grep ^ .. r
Эта команда перечисляет все пакеты, затем grep перечисляет любые результаты, содержащие флаг «r» в третьем поле, что означает «требуется восстановить» (требуется переустановка). Если появится сломанный пакет, вы сможете его удалить.
Выполните следующую команду, чтобы принудительно удалить пакет с вашего устройства. Не забудьте ввести свой пароль, чтобы разрешить удаление. Замените имя сломанной упаковки.
sudo dpkg --remove --force-remove-reinstreq
Как только это будет сделано, очистите и обновите apt-get:
sudo apt-get clean sudo apt-get update
После этого попробуйте установить пакет с нуля. Он должен нормально устанавливаться.
Эти методы — лучшие способы исправить или удалить сломанный пакет из вашей системы, но иногда этого будет недостаточно. В редких случаях система вообще не увидит сломанный пакет, но все равно будет препятствовать нормальной работе вашего apt-get. В этих случаях, как правило, наилучшим решением является ручной сбор и удаление файлов. Тем не менее, процесс удаления этих файлов варьируется от пакета к пакету и может быть опасным. Поэтому сначала попробуйте эти решения, прежде чем пытаться удалить файлы из вашей системы.
Спасибо, помогло: Способ 1: Использование apt-get
1.Найти файл пакета
apt-cache policy
2.Вырезать записи о пакете в файле
Ничего не помогло. Сломанного пакета не видно. Debian 9
Хорошая статья, в закладки.