Во время установки программ с помощью пакетного менеджера 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 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.
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
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.
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.
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.
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
- Печать
Страницы: [1] 2 Все Вниз
Тема: Какова команда для проверки целостности и наличия файлов к пакетам? (Прочитано 16612 раз)
0 Пользователей и 1 Гость просматривают эту тему.
![Оффлайн](data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E)
tengry
У меня не запускается воспроизведение DVD в Тотеме и MPlayer. Все кодеки вроде установлены. Вот я и хочу проверить нет ли битых файлов и недостачи. Нашел поиском совет о команде для Мандривы:
«Можно сделать так: запустить проверку всех файлов, принадлежащих установленным пакетам. Это будет долго, но зато выведет список всех нарушенных или отсутствующих файлов. Проверку запускать так:
Код
rpm -Va &> rpmv_log.txt
, желательно от root. После этого в файле «rpmv_log.txt» появится список файлов с нарушениями. За подробностями смотрите в «man rpm», раздел «Опции проверки».»
————————————————————————————————————-
А как такая команда должна выглядеть в Ubuntu? И где будет жить лог?
————————————————————————————————————-
Прошу извинить, создал тему о проблеме с воспр. в разделе Мультимедиа, но сенсеи туда вроде редко заглядывают.
Всё меняется, неизменны только перемены. (с) Вроде Лао Цзы.
Clause
попробуй поставить libdvdcss2…
![Оффлайн](data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E)
tengry
Он стоит. И libdvdcss-read, -dev тоже установлены. Хочу просто проверить полный ранжир.
Всё меняется, неизменны только перемены. (с) Вроде Лао Цзы.
Clause
Если ты ставил и никакой ошибки не выдало и сам ничего не удалял, то всё должно быть ок… для проверки недоустановленных пакетов можно использовать sudo apt-get check, но если бы у тебя поломался какой-нить пакет у тебя бы отвалился синаптик. А версия у тебя 8.10?
![Оффлайн](data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E)
tengry
Да, 8.10.
Так как насчёт вида той команды для Ubuntu? А то наличие возможности играть ДВД имеет принципиальное значение для вербовки новых убунтистов
« Последнее редактирование: 04 Декабря 2008, 23:32:56 от tengry »
Всё меняется, неизменны только перемены. (с) Вроде Лао Цзы.
![Оффлайн](data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E)
Cramen
dpkg —help
по русски-же написано!
-C|—audit проверить наличие сломанных пакетов.
![Оффлайн](data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E)
tengry
Спасибо. Попробую. Значит надо в терминале написать:
sudo -C|—audit
« Последнее редактирование: 05 Декабря 2008, 00:13:37 от tengry »
Всё меняется, неизменны только перемены. (с) Вроде Лао Цзы.
![Оффлайн](data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E)
axe
tengry, посмотри все-таки предложенный —help
-C|—audit значит «так или так», но не вместе же)
![Оффлайн](data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E)
sht0rm
![Оффлайн](data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E)
tengry
Спасибо, ребята! Сейчас смотрю хелп.
Всё меняется, неизменны только перемены. (с) Вроде Лао Цзы.
![Оффлайн](data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E)
Петрик П`яточкін
sudo dpkg --audit
Прикольно, но эта команда исполняется у меня где-то пол-секунды и не выводит никакого результата и сообщения. Что-то сильно быстро для проверки наличия сломаных пакетов.
Аналогичная команда под офтопик — sfc -scannow занимает существенно больше времени.
![Оффлайн](data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E)
tengry
Петрик П`яточкін, у меня тот же эффект. Ввожу «sudo dpkg —audit», потом требуемый пароль суперпользователя и через несколько миллисекунд появляется снова строка с курсором. И никаких данных, советов и прочего. Может мы чего то недовводим? Что делать?
***
Хочется высказать сожаление по поводу отсутствия хорошего учебника для начинающих пользователей Линукса и именно для каждого из семейств: Ubuntu, Мандрива и т.д. (чего то вроде книжек А. Левина про винду), а то всё что имеется рассчитано на специалистов ИТ (или будущих специалистов :-)) и к тому же крайне фрагментировано. Вот у меня экран рабочего стола забит инфой, вчера еще добавил 24 мБ хорошей книги Федосеева «Введение в Unix», но врядли и в ней найду решение вышеуказанной проблемы. Остаётся надеяться только на помощь коллективного разума форума. Странно что никто пока не написал такое «пособие для чайников с картинками», ведь даже в финансовом отношении это будет довольно выгодно — сейчас народ довольно активно ищет альтернативу редмодским поделиям и тираж наверняка будет огромным.
« Последнее редактирование: 06 Декабря 2008, 16:19:27 от tengry »
Всё меняется, неизменны только перемены. (с) Вроде Лао Цзы.
![Оффлайн](data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E)
tengry
Ну что, никто не объяснит нашу с Петрик П`яточкін проблему?
Всё меняется, неизменны только перемены. (с) Вроде Лао Цзы.
Clause
ИМХО, Ваша проблема в том, что ищите проблему не там, то что команда ‘sudo dpkg —audit’ быстро выполняется, не значит, что она выполняется плохо, просто другой алгоритм работы нежели у тех программ, с которыми Вы сравниваете.
![Оффлайн](data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E)
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
Этот способ поможет для решения уже установленных в вашей системе пакетов, который по каким то причинам сломались. После выполнения первой команды необходимо убедиться, что она исправила ошибки, а затем переходить к введению второй команды. Возможно, что для исправления сломанных пакетов понадобиться несколько минут:
Чиним сломанные пакеты с 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
Менеджеры пакетов в Linux позволяют контролировать установку и удаление пакетов. В дополнение к этому, менеджеры пакетов помогут вам найти сломанные пакеты в вашей системе и переустановить их, чтобы исправить различные проблемы, связанные с пакетами Linux.
Если вы не знаете, какие команды использовать для поиска неработающих пакетов в Linux, то это руководство для вас. Мы кратко обсудим сломанные пакеты, как вы можете проверить, есть ли в вашей системе сломанные пакеты, и как правильно их переустановить.
Что такое сломанные пакеты?
Когда вы устанавливаете новый пакет в Linux, менеджер пакетов вашей системы отвечает за весь процесс установки. Эти менеджеры пакетов имеют встроенные методы для обработки исключений и ошибок. Но иногда, в случае непредвиденных проблем, установка останавливается и не устанавливается полный пакет. Такие пакеты в Linux называются сломанными пакетами.
Менеджеры пакетов, такие как Apt, не разрешают дальнейшую установку пакетов, если в системе обнаружен неработающий пакет. В такой ситуации ремонт сломанных пакетов – единственный выбор.
Как найти и исправить сломанные пакеты
Каждый менеджер пакетов обрабатывает разные типы пакетов. Например, DNF и Yum работают с RedHat Package Manager (RPM) для загрузки и установки пакетов RPM. Точно так же Apt действует как оболочка внешнего интерфейса для базового программного обеспечения dpkg в дистрибутивах на основе Debian.
Переустановка битых пакетов в Debian
Apt – это менеджер пакетов по умолчанию, который предустановлен в каждом дистрибутиве на основе Debian. Помимо Apt, пользователи Debian также могут загружать и устанавливать пакеты вручную с помощью dpkg .
Чтобы исправить сломанные пакеты в дистрибутивах на основе Debian с помощью Apt:
- Откройте свой терминал, нажав Ctrl + Alt + T на клавиатуре, и введите:
sudo apt --fix-missing update
- Обновите пакеты в вашей системе:
sudo apt update
- Теперь принудительно установите поврежденные пакеты с помощью флага -f . Apt автоматически найдет сломанные пакеты в вашей системе и переустановит их из официального репозитория.
sudo apt install -f
Если вышеупомянутые шаги не работают для вас, вы можете попробовать решить проблему с помощью dpkg.
- Заставьте dpkg перенастроить все ожидающие пакеты, которые уже распакованы, но нуждаются в настройке. Флаг -a в команде означает Все .
sudo dpkg --configure -a
- Соедините grep с dpkg, чтобы получить список всех пакетов, помеченных dpkg как обязательные .
sudo dpkg -l | grep ^..r
- Используйте флаг –remove, чтобы удалить все поврежденные пакеты.
sudo dpkg --remove --force-remove-reinstreq
- Очистите кеш с помощью Apt clean.
sudo apt clean
- Обновите системные пакеты, используя следующую команду.
sudo apt update
В Fedora / CentOS
Хотя Yum и Dnf отлично подходят для управления сломанными пакетами, иногда возникают проблемы, поскольку в системе Linux установлены тысячи пакетов. В таких ситуациях вы можете использовать RPM (базовый менеджер пакетов для Fedora и CentOS), чтобы быстро исправить такие проблемы.
- Проверьте все пакеты в вашей системе с помощью флага -V .
sudo rpm -Va
- Вы увидите длинный список, содержащий все пакеты, установленные в вашей системе.
- Переустановите пакет, который, по вашему мнению, может вызывать неисправность пакета.
sudo dnf --refresh reinstall packagename
Вышеупомянутые шаги очень неудобны – определить, какой пакет вызывает проблему из списка сотен, утомительно. Хотя RPM – мощный менеджер пакетов, и вы редко будете сталкиваться с такими проблемами, знание того, как исправить эти проблемы, по-прежнему важно, если вы столкнетесь с подобной ситуацией в ближайшем будущем.
Менеджеры пакетов в Linux способны решать большинство проблем, включая неудачные установки. Но иногда возникают различные проблемы, которые можно решить только интуитивно. Решение для исправления поврежденных пакетов состоит из нескольких шагов – определение поврежденного пакета, его переустановка и обновление списка пакетов системы.
В Интернете доступно бесчисленное количество дистрибутивов Linux, которые стоит попробовать, но в глубине души каждый из них имеет аналогичную основу. Среды рабочего стола выделяют каждый дистрибутив, обеспечивая уникальный пользовательский интерфейс. Выбор идеальной среды рабочего стола, которая соответствует вашему вкусу, должен быть вашим приоритетом, если вы, наконец, решили продолжить работу с Linux.