Ubuntu apt исправить ошибки

Во время установки программ с помощью пакетного менеджера 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

Introduction

Linux packages are compressed archives containing programs and files necessary to run them. The package distribution system is designed to be robust and simplify the application installation process.

However, a bad internet connection or misconfigured third-party installers can corrupt packages and cause problems on your system.

This article will show you how to troubleshoot and fix broken packages on Ubuntu using the available APT and DPKG tools.

How to fix broken packages in Ubuntu

Prerequisites

  • An account with sudo privileges
  • An Ubuntu system

Check for Updates

Start troubleshooting by rebuilding the list of dependencies. The --fix-missing option tells APT to ignore missing packages. The option ensures the update process is performed without APT returning an error.

sudo apt update --fix-missing
The --fix-missing option tells APT to ignore the missing packages

Force APT to Correct Missing Dependencies or Broken Packages

Missing package dependencies are a common reason for package-related errors.

1. Use apt install with the -f flag to tell APT to locate the missing packages and install them.

sudo apt install -f

APT lists the missing packages on your system.

The apt install tells APT to locate the missing packages and install them

2. Press ENTER to start the installation.

Note: If troubleshooting has led to Ubuntu needing to be reinstalled, please refer to our reinstallation guide How to Reinstall Ubuntu.

Force Reconfigure or Remove Broken Packages with DPKG

Broken packages may cause package manager configuration problems.

1. Reconfigure DPKG, the base package management system, with the following command:

sudo dpkg --configure -a

2. Check if DPKG marked some packages as needing a reinstall.

sudo dpkg -l | grep ^..R

3. If the command above returns a list of one or more packages, try removing the packages by typing:

sudo dpkg --purge --force-all [package-name]

The example below shows how to remove the corrupted vlc-plugin-base package.

Remove the corrupted vlc-plugin-base package

Warning: The dpkg --purge --force-all command removes a package even if the removal causes further dependency issues. Use the command with care.

4. After you finish troubleshooting, run the following command to clean up the system:

sudo apt clean

5. Then update the repositories again:

sudo apt update

Resolve DPKG Lock Issue

The DPKG lock error appears when trying to install a package while another process is using DPKG.

The DPKG lock error appears when trying to install a package while another process is using DPKG

However, sometimes the error occurs even if no other processes are using the package management system.

1. To fix the problem, remove the lock file manually:

sudo rm /var/lib/apt/lists/lock

2. Also, remove the lock in cache:

sudo rm /var/cache/apt/archives/lock

Deleting the lock enables you to use APT and DPKG again.

Conclusion

The article provided common ways of resolving problems caused by broken packages on Ubuntu.

For more information related to package management on Ubuntu, read:

  • How to List Installed Packages on Ubuntu
  • A Comprehensive Guide to Using Snap Packages on Ubuntu
  • How to Install Deb Files (Packages) on Ubuntu

Ошибки зависимости в Ubuntu возникают, когда пользователи устанавливают сторонний пакет DEB, который они загрузили из Интернета через командную строку, и диспетчер пакетов не может найти правильные зависимые пакеты, необходимые для запуска программы в Ubuntu. Хотя такого рода проблемы возникают все реже и реже в 2019 году, из-за того, что большинство поклонников Ubuntu отходят от DEB в пользу Snaps и Flatpaks, по-прежнему важно знать, что делать, когда возникает подобная ошибка. Итак, в этом руководстве мы покажем вам, как исправить ошибки зависимости в Ubuntu.

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

Что такое программная зависимость?

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

Исправление ошибок зависимостей с помощью Apt

Самый простой способ исправить ошибки зависимости в Ubuntu Linux — использовать менеджер пакетов по умолчанию: Apt. Чтобы начать исправление, откройте окно терминала, нажав Ctrl + Alt + T или Ctrl + Shift + T на клавиатуре. После открытия окна командной строки используйте команду ниже, чтобы исправить ошибки.

sudo apt install -f

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

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

Исправление ошибок зависимостей с помощью Synaptic

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

Чтобы получить доступ к диспетчеру пакетов Synaptic в Ubuntu для решения ошибок зависимостей, вам необходимо установить приложение. Откройте окно терминала с помощью Ctrl + Alt + T или Ctrl + Shift + T. Затем используйте команду ниже, чтобы установить приложение в вашей системе.

Примечание. Synaptic также можно установить, выполнив поиск в Центре программного обеспечения Ubuntu по запросу «Synaptic».

sudo apt install synaptic

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

Шаг 1. Найдите в диспетчере пакетов Synaptic кнопку «Поиск» и выберите ее, чтобы получить доступ к функции поиска в приложении.

Шаг 2. Введите имя приложения со сломанными зависимостями в поле поиска. Например, если вы установили пакет Discord DEB, вы должны написать «discord» в поле поиска.

Шаг 3. Просмотрите результаты поиска в Synaptic для приложения с отсутствующими файлами зависимостей и выберите его с помощью мыши.

Шаг 4: Найдите меню «Правка» в окне диспетчера пакетов Synaptic и щелкните его, чтобы открыть параметры внутри. После открытия меню нажмите кнопку «Исправить поврежденные пакеты».

Шаг 5: Найдите кнопку «Применить» и выберите ее, чтобы сообщить Synaptic о необходимости продолжить процесс разрешения зависимостей.

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

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

Иногда необходимо получить программное обеспечение не из источников программного обеспечения Ubuntu. Даже с огромным количеством приложений Ubuntu, которые нужно установить, некоторые ускользают от проблем. Если вам нужно заполучить приложение, которого нет в традиционных источниках программного обеспечения Ubuntu, подумайте о поиске версии Snap или Flatpak, поскольку у них никогда не возникает проблем с зависимостями, и регулярно получайте обновления непосредственно от разработчиков.

I just recently bought an arduino and requires gcc-avr/avrdude to compile the software. I installed avr for another microprocessor component a while ago but is obviously an outdated version (gcc version 3.3 20030512 (prerelease)) so I went ahead to update these but it didn’t work.

(Please note that before hand I also broke my aptdaemon through an incomplete wine installation (couldn’t get passed font installation agreement) but I fixed that via a re-installation then accepting the agreement.)

I am trying to update these by running bingo’s build script but the dependencies it requires cannot be installed due to avr… terminal reports

Reading package lists... Done
Building dependency tree       
Reading state information... Done
build-essential is already the newest version.
libncurses5-dev is already the newest version.
libncurses5-dev set to manually installed.
libusb-0.1-4 is already the newest version.
libx11-dev is already the newest version.
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
arduino-core : Depends: gcc-avr but it is not going to be installed
avr-libc : Depends: gcc-avr (>= 1:4.3.4) but it is not going to be installed
Depends: binutils-avr (>= 2.20) but it is not going to be installed
binutils-dev : Depends: binutils (= 2.21.0.20110327-2ubuntu3) but 2.21.0.20110327-2ubuntu2 is to be installed
libcwidget-dev : Depends: libcwidget3 (= 0.5.16-3ubuntu2) but it is not going to be installed
Depends: libsigc++-2.0-dev but it is not going to be installed
Depends: libncursesw5-dev but it is not going to be installed
libmpfr-dev : Depends: libgmp3-dev (>= 4.2.dfsg-1) but it is not going to be installed
python-dev : Depends: python (= 2.7.1-0ubuntu5.1) but 2.7.1-0ubuntu5 is to be installed
Depends: python2.7-dev (>= 2.7.1-1~) but it is not going to be installed
tk8.4-dev : Depends: tk8.4 (= 8.4.19-4) but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

But running

apt-get -f install

results in

(Reading database ... 163021 files and directories currently installed.)
Unpacking binutils-avr (from .../binutils-avr_2.20.1-1ubuntu2_i386.deb) ...
dpkg: error processing /var/cache/apt/archives/binutils-avr_2.20.1-1ubuntu2_i386.deb (--unpack):
trying to overwrite '/usr/bin/avr-size', which is also in package avr-binutils 2.13.90.030512-2
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Unpacking gcc-avr (from .../gcc-avr_1%3a4.3.5-1_i386.deb) ...
dpkg: error processing /var/cache/apt/archives/gcc-avr_1%3a4.3.5-1_i386.deb (--unpack):
trying to overwrite '/usr/bin/avr-g++', which is also in package avr-gcc-c++ 3.2.90.20030512-2
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
/var/cache/apt/archives/binutils-avr_2.20.1-1ubuntu2_i386.deb
/var/cache/apt/archives/gcc-avr_1%3a4.3.5-1_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

I have tried running update manager and updating my system via it but all I get is an error message

The following packages have unmet dependencies:
arduino-core: Depends: gcc-avr but it is not installed
avr-libc: Depends: gcc-avr (>= 1:4.3.4) but it is not installed
Depends: binutils-avr (>= 2.20) but it is not installed

which then tells me to try running apt-get -f install which just results the same as last time.

So how can I fix my system, I really need the new avr, please :)
BTW, my system is Ubuntu 11.04

  • Ubisoft сообщить об ошибке
  • Ubisoft ошибка при запуске приложения
  • U300016 land rover ошибка
  • U3000 ошибка форд мондео
  • U3000 range rover ошибка