Ubuntu проверка пакетов на ошибки

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

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

Broken packages need repairing or the software won’t run. Here’s how to find the broken packages and fix them in Linux.

fix-broken-packages-linux

Package managers on Linux allow you to control the installation and removal of packages. In addition, package managers also help you find broken packages on your system and reinstall them to fix various issues associated with Linux packages.

If you are unaware of which commands to use to find and fix broken packages in Linux, then this guide is for you. We will briefly discuss what broken packages are, how you can check if your system contains broken packages, and how to reinstall them properly to fix the error.

What Are Broken Packages in Linux?

When you install a new package in Linux, your system’s package manager is in charge of the whole installation process. These package managers have built-in methods to handle exceptions and errors. But sometimes, in case of unexpected issues, the installation halts and the complete package isn’t installed. Such packages are called broken packages.

Package managers like APT do not allow further installation if it finds a broken package on the system. In such a situation, repairing the broken package is the only option.

How to Find and Fix Broken Packages in Linux

Every package manager handles different types of packages. For example, DNF and YUM work with the Red Hat Package Manager (RPM) to download and install RPM packages. Similarly, APT acts as a frontend wrapper for the base dpkg software on Debian-based distributions.

Reinstalling Broken Packages on Ubuntu and Debian

APT is the default package manager that comes preinstalled on every Debian-based distribution. Apart from APT, Debian and Ubuntu users can download and install packages manually using dpkg as well.

The steps mentioned below will also work if you want to fix broken packages on Kali Linux, since after all, Kali is a Debian-based distro.

To fix broken packages on Debian-based distributions using APT:

  1. Open the terminal by pressing Ctrl + Alt + T on your keyboard and enter:
     sudo apt --fix-missing update 
  2. Update your system’s package list from the available sources:
     sudo apt update 
  3. Now, force the installation of the broken packages using the -f flag. APT will automatically search for broken packages on your system and reinstall them from the official repository.
     sudo apt install -f 

If the aforementioned steps do not work for you, you can try to solve the issue using dpkg.

  1. Force dpkg to reconfigure all the pending packages that are already unpacked but need to undergo configuration. The -a flag in the following command stands for All:
     sudo dpkg --configure -a 
  2. Pipe grep with dpkg to get a list of all the packages marked as Required:
     sudo dpkg -l | grep ^..r 
  3. Use the —remove flag to delete all the broken packages:
     sudo dpkg --remove --force-remove-reinstreq 
  4. Clean up the package cache and install scripts using apt clean:
     sudo apt clean 
  5. Now, update your system’s package lists using the following command:
     sudo apt update 

Fix Broken Packages on Fedora/CentOS and RHEL

Although YUM and DNF are great when it comes to managing broken packages automatically, sometimes problems do arise as there are thousands of packages installed on a Linux system. In such situations, you can use RPM, the base package manager for Fedora and CentOS, to fix such issues quickly.

  1. Verify all the packages on your system using the -V flag:
     sudo rpm -Va 
  2. You will see a long list containing all the installed packages on your system. Reinstall the package that you think might be causing the broken package issue with:
     sudo dnf --refresh reinstall packagename 

The above steps are highly inconvenient—identifying which package is causing the problem from a list of hundreds is tiresome. Although RPM is a powerful package manager and you will rarely run into such issues, knowing how to fix these problems is still important in case you bump into a similar situation in the near future.

Managing Packages on Linux Distributions

Package managers on Linux are capable of handling most of the issues including failed installations. But sometimes, various problems occur that you can only solve intuitively. The solution to fixing broken packages comprises several steps—identifying the broken package, reinstalling it, and updating the system’s package list.

There are countless Linux distributions available that are worth trying, but deep down, each one of them has a similar foundation.

Desktop environments set each distribution apart by providing a unique user experience. Choosing an ideal desktop environment that suits your taste should be your priority if you have finally decided to go ahead with Linux.

  • Печать

Страницы: [1] 2  Все   Вниз

Тема: Какова команда для проверки целостности и наличия файлов к пакетам?  (Прочитано 16648 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн
tengry

У меня не запускается воспроизведение DVD в Тотеме и MPlayer. Все кодеки вроде установлены. Вот я и хочу проверить нет ли битых файлов и недостачи. Нашел поиском совет о команде для Мандривы:
«Можно сделать так: запустить проверку всех файлов, принадлежащих установленным пакетам. Это будет долго, но зато выведет список всех нарушенных или отсутствующих файлов. Проверку запускать так:
Код
rpm -Va &> rpmv_log.txt
, желательно от root. После этого в файле «rpmv_log.txt» появится список файлов с нарушениями. За подробностями смотрите в «man rpm», раздел «Опции проверки».»

————————————————————————————————————-
А как такая команда должна выглядеть в Ubuntu? И где будет жить лог?
————————————————————————————————————-
Прошу извинить, создал тему о проблеме с воспр. в разделе Мультимедиа, но сенсеи туда вроде редко заглядывают.

Всё меняется, неизменны только перемены. (с) Вроде Лао Цзы.


Clause

попробуй поставить libdvdcss2…


Оффлайн
tengry

Он стоит. И libdvdcss-read, -dev тоже установлены. Хочу просто проверить полный ранжир.

Всё меняется, неизменны только перемены. (с) Вроде Лао Цзы.


Clause

Если ты ставил и никакой ошибки не выдало и сам ничего не удалял, то всё должно быть ок… для проверки недоустановленных пакетов можно использовать sudo apt-get check, но если бы у тебя поломался какой-нить пакет у тебя бы отвалился синаптик. А версия у тебя 8.10?


Оффлайн
tengry

Да, 8.10.
Так как насчёт вида той команды для Ubuntu? А то наличие возможности играть ДВД имеет принципиальное значение для вербовки новых убунтистов :-)

« Последнее редактирование: 04 Декабря 2008, 23:32:56 от tengry »

Всё меняется, неизменны только перемены. (с) Вроде Лао Цзы.


Оффлайн
Cramen

dpkg —help
по русски-же написано!

  -C|—audit                          проверить наличие сломанных пакетов.


Оффлайн
tengry

Спасибо. Попробую. Значит надо в терминале написать:

sudo -C|—audit

« Последнее редактирование: 05 Декабря 2008, 00:13:37 от tengry »

Всё меняется, неизменны только перемены. (с) Вроде Лао Цзы.


Оффлайн
axe

tengry, посмотри все-таки предложенный —help :)
-C|—audit значит «так или так», но не вместе же)


Оффлайн
sht0rm


Оффлайн
tengry

Спасибо, ребята! Сейчас смотрю хелп.

Всё меняется, неизменны только перемены. (с) Вроде Лао Цзы.


Оффлайн
Петрик П`яточкін

sudo dpkg --audit

Прикольно, но эта команда исполняется у меня где-то пол-секунды и не выводит никакого результата и сообщения. Что-то сильно быстро для проверки наличия сломаных пакетов.
Аналогичная команда под офтопик — sfc -scannow занимает существенно больше времени.


Оффлайн
tengry

Петрик П`яточкін, у меня тот же эффект. Ввожу «sudo dpkg —audit», потом требуемый пароль суперпользователя и через несколько миллисекунд появляется снова строка с курсором. И никаких данных, советов и прочего. Может мы чего то недовводим? Что делать?
***
Хочется высказать сожаление по поводу отсутствия хорошего учебника для начинающих пользователей Линукса  и именно для каждого из семейств: Ubuntu, Мандрива и т.д. (чего то вроде книжек А. Левина про винду), а то всё что имеется рассчитано на специалистов ИТ (или будущих специалистов :-)) и к тому же крайне фрагментировано. Вот у меня экран рабочего стола забит инфой, вчера еще добавил 24 мБ хорошей книги Федосеева «Введение в Unix», но врядли и в ней найду решение вышеуказанной проблемы. Остаётся надеяться только на помощь коллективного разума форума. Странно что никто пока не написал такое «пособие для чайников с картинками», ведь даже в финансовом отношении это будет довольно выгодно — сейчас народ довольно активно ищет альтернативу редмодским поделиям и тираж наверняка будет огромным.

« Последнее редактирование: 06 Декабря 2008, 16:19:27 от tengry »

Всё меняется, неизменны только перемены. (с) Вроде Лао Цзы.


Оффлайн
tengry

Ну что, никто не объяснит нашу с Петрик П`яточкін проблему?

Всё меняется, неизменны только перемены. (с) Вроде Лао Цзы.


Clause

ИМХО, Ваша проблема в том, что ищите проблему не там, то что команда ‘sudo dpkg —audit’ быстро выполняется, не значит, что она выполняется плохо, просто другой алгоритм работы нежели у тех программ, с которыми Вы сравниваете.


Оффлайн
Gena_Zakharov

Скорее всего, все пакеты были установлены как надо, целиком и полностью.

Наличие битых зависимостей можно исправить командой

sudo apt-get -f install
Кроме того, можно переустановить требуемые кодеки.
Например

sudo apt-get reinstall libdvdcss2 libdvdread3
Пока ничего больше по теме добавить не могу.

Dell Inspiron 1501
OS: Ubuntu 10.04 / Gentoo


  • Печать

Страницы: [1] 2  Все   Вверх

Если вы активный пользователь 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 проверка диска на ошибки при загрузке
  • Ubuntu проверить системный диск на ошибки
  • Ubuntu посмотреть системные ошибки
  • Ubuntu посмотреть ошибки загрузки
  • Ubuntu посмотреть логи ошибок