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

Обновлено: 04.07.2024

Это тоже случилось со мной. Все, что я сделал, это sudo apt-get update , и это устранило мою проблему. Удачи.

У меня был аналогичный сценарий при новой установке 14.04, без файлов, перечисленных в dpkg --get-selections | grep hold , и никаких радостей после sudo apt-get update .

Когда я попытался переустановить неисправный пакет работал нормально. Ура!

Вы можете получить список фактических удерживаемых пакетов с помощью:

Другой метод устранения неполадок может заключаться в использовании aptitude, а не чем apt-get, чтобы попытаться установить ваш пакет:

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

Иногда aptitude будет слишком стремиться удалить или понизить версию большого количества пакетов, чтобы удовлетворить ваш запрос, и в этом случае повторите попытку с помощью -f меняет свои приоритеты и помогает предлагать решения, которые включают удаление / понижение версии меньшего количества пакетов, даже если это означает, что не все изменения, которые вы запрошены, могут быть выполнены:

Откройте Synaptic и в Synaptic выберите Edit -> Fix Broken Packages , а затем повторите Edit -> Fix Broken Packages секунду времени.

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

show broken packages in Synaptic

Выберите поврежденные пакеты по одному. Выберите неработающий пакет, затем откройте терминал и запустите apt policy . Результаты этой команды скажут вам, был ли этот сломанный пакет установлен из репозиториев Ubuntu по умолчанию или из другого источника. Если неработающий пакет был установлен из другого источника, возможно, этот пакет можно удалить вместе с исходным программным обеспечением и заменить другой версией того же пакета из репозиториев Ubuntu по умолчанию. Обычно это означает исправление неработающего пакета путем понижения версии этого пакета до более старой.

После обновления с 10.04 до 12.04 я пытаюсь установить разные пакеты. Например, ia32-libs и skype (4.0).

После запуска этого:

Вы можете получить список фактически удерживаемых пакетов с:

Другой способ устранения неполадок может заключаться в использовании aptitude вместо apt-get для установки вашего пакета:

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

Иногда aptitude будет слишком стремиться удалить или понизить количество больших пакетов, чтобы удовлетворить ваш запрос, и в этом случае повторите попытку с -f меняет свои приоритеты и помогает ему находить решения, которые включают удаление / понижение версии меньшего количества пакетов, даже если это означает, что не все запрошенные изменения могут быть выполнены:

Это случилось со мной тоже. Все, что я сделал, было sudo apt-get update и это решило мою проблему. Удачи.

Я столкнулся с подобным сценарием относительно отсутствующих зависимостей. В моем случае я пытался установить curl на Ubuntu Saucy Salamander 13.10.

Ошибка указала, что для зависимости требовалась более ранняя версия библиотеки curl3.

Я смог перейти на более раннюю версию, пытаясь установить curl с помощью aptitude.

Когда он отметил отсутствующую зависимость и причину (требовалась более ранняя версия файла библиотеки), он дал мне несколько вариантов ответа. y / / n / q

Y прервал бы установку, N искал бы другую опцию, а Q просто завершил бы работу и больше ничего не делал, оставив поврежденный пакет.

Я выбрал N , и это дало мне возможность понизить файл библиотеки до более ранней версии. Так вот что я сделал, и curl закончил установку без ошибок.

  • Я могу посмотреть на обновление файла библиотеки еще раз после установки, но пока все хорошо.

У меня был похожий сценарий в новой установке 14.04, без файлов, перечисленных в dpkg --get-selections | grep hold и без радости после sudo apt-get update ,

Что это исправило для меня было просто

Когда я попытался переустановить сбойный пакет, он работал нормально. Ура!

Возникла та же проблема, я запустил команду проверки пакета из другого ответа ( dpkg --get-selections | grep hold ) И пила

так я и использовал apt-get remove tomcat7-common "

Затем я мог установить Tomcat 6 (я удалял Tomcat 7 и устанавливал Tomcat 6, как и вы).

Я испробовал все методы, упомянутые на этой странице. Как-то у меня не вышло.

Вот как я это исправил: Отследите сломанный пакет и переустановите его.

Я пытаюсь установить aptitude .

Не удалось установить libcwidget3v5

sudo apt установить libcwidget3v5

Попробуйте установить libncursesw5

sudo apt установить libncursesw5

Попробуйте установить libtinfo5

sudo apt установить libtinfo5

Бинго, этот парень виноват libtinfo5 , он уже там, удалите и переустановите.

Удалить или очистить libtinfo5 .

apt purge libtinof5 было бы лучше, так как он также удаляет файлы конфигурации.

Переустановить libtinfo5 еще раз

sudo apt установить libtinfo5

Теперь попробуйте установить aptitude


В Synaptic на левой панели нажмите кнопку Custom Filters, которая отмечена курсором мыши на снимке экрана ниже. Из списка в верхнем левом углу выберите Broken. В центральной панели будут перечислены все сломанные пакеты, которые еще нужно починить.


Выберите сломанные пакеты по одному. Выберите сломанный пакет, а затем откройте терминал и запустите apt policy <package-name> , Результаты этой команды сообщат вам, был ли установлен этот поврежденный пакет из репозиториев Ubuntu по умолчанию или из какого-либо другого источника. Если сломанный пакет был установлен из другого источника, возможно, этот пакет можно удалить вместе с источником программного обеспечения и заменить другой версией того же пакета из репозиториев Ubuntu по умолчанию. Обычно это означает исправление поврежденного пакета путем понижения этого пакета до более старой версии.

Если вы активный пользователь 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


Природа работы Ubuntu Linux предполагает, что иногда при ее использовании вы будете загружать файлы пакета DEB из Интернета для установки.

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

Об этом мы уже обсуждали тут:

Однако иногда пакеты DEB с годами идут без обновлений, и когда пользователи их устанавливают, возможны поломки.

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

Примечание: хотя это руководство сосредоточено на Ubuntu Linux, информация, содержащаяся в нем, относится к другим операционным системам Linux на основе Ubuntu, таким как Linux Mint, Elementary OS, Zorin OS и многим другим производным. Не стесняйтесь следовать инструкциям, описанным в этом руководстве!

Установите менеджер пакетов Synaptic

Ubuntu Linux больше не поставляется с предварительно установленным менеджером пакетов Synaptic.

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

Чтобы установить Synaptic, откройте окно терминала, нажав клавиши Ctrl + Alt + T или Ctrl + Shift + T на клавиатуре.

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

Следуя команде обновления, установите все исправления программного обеспечения в систему Ubuntu Linux с помощью команды update.

Обязательно используйте переключатель «y», чтобы автоматически принять приглашение.

После обновления вы сможете быстро установить менеджер пакетов Synaptic на любую версию Ubuntu Linux с помощью команды apt install, приведенной ниже.

Не хотите пользоваться Терминалом?

Обновите свою систему с помощью инструмента обновления Ubuntu (обычно его можно найти, выполнив поиск «Обновление» в меню приложений).

Затем, когда все обновится, откройте Ubuntu Software Center и щелкните окно поиска, чтобы найти приложение Synaptic.


Поиск неработающих пакетов с помощью Synaptic

Процесс поиска неработающих пакетов в Synaptic начинается с запуска приложения.

После запуска приложения система запросит пароль.

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

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

Затем нажмите кнопку «Поиск», чтобы начать поиск битых пакетов компьютере с Linux.

Как только Synaptic предложит внести изменения, вернитесь в раздел «Сломанные» в разделе «Пользовательские фильтры», и вы заметите, что все сломанные пакеты теперь имеют зеленые значки состояния.

Завершите процесс восстановления пакета на вашем компьютере с Ubuntu, нажав кнопку «Применить» в Synaptic.

Позвольте ему починить сломанные пакеты.

Когда процесс завершится, закройте Synaptic, и все должно вернуться к нормальной работе в Ubuntu!

Читайте также: