Apt при обработке следующих пакетов произошли ошибки

  • Печать

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

Тема: При обработке следующих пакетов произошли ошибки.  (Прочитано 13840 раз)

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

Оффлайн
dezytube

Привет! Помогите пожалуйста я обновлял с 14.04 на 16.04.1 у меня зависло все на половине, я перезапустил пк и тут система не запускалась и тут я Зажал Ctl Shift вел логин, пароль и вел команду sudo dpkg -configuru -a система запустилась после перезагрузки, теперь когда я что то вожу в терминале например «sudo apt-get install prelink» или «apt full-upgrade» все что связано с apt можно так сказать.

Пишет следующее:
«При обработке следующих пакетов произошли ошибки:
 linux-headers-4.4.0-34-generic
E: Sub-process /usr/bin/dpkg returned an error code (1)»

Помогите пожалуйста. :coolsmiley:


Оффлайн
Haron Prime


Оффлайн
dezytube

sudo apt-get -f install

Я это знаю и водил много раз не помогает.

dpkg: ошибка при обработке пакета linux-headers-4.4.0-34-generic (—configure):
 пакет абсолютно неработоспособен; перед настройкой его
 следует переустановить

« Последнее редактирование: 17 Сентября 2016, 14:42:43 от dezytube »


Оффлайн
Haron Prime

sudo apt-get install --reinstall  linux-headers-4.4.0-34-generic


Оффлайн
dezytube

sudo apt-get install --reinstall  linux-headers-4.4.0-34-generic

Просто когда водил эту команду не помогло сделал вот так:
sudo dpkg -i *.deb
sudo apt-get -f install
sudo apt-get install —reinstall linux-headers-4.4.0-34-generic
sudo apt-get -f install

Спасибо за помощь))


  • Печать

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

Симптомы:

Synaptic пишет «Пакет [имя пакета] нуждается в переустановке, но найти архив для него не удалось» или «The package [package name] needs to be reinstalled, but I can’t find an archive for it», «При обработке следующих пакетов произошли ошибки:»,не открывается Центр приложений Ubuntu, в терминале не работает apt-get. Не все потеряно и это легко поправимо. Обычно такая проблема возникает если при установке какой-то программы возникли проблемы и установка не была завершена или же в момент установки программы или обновлений системы компьютер был выключен или перезагружен.

Лечение:

Окройте терминал и введите команду:

sudo gedit /var/lib/dpkg/status

У вас откроется текстовый редактор (внимание! не удалите ничего лишнего!). Нажмите Ctrl+F для поиска ключевой фразы и в строку поиска введите имя проблемного пакета. После того, как была найдена информация о нем вам нужно удалить ее.

После этого сохраните и закройте текстовый редактор. Затем введите в терминал:

sudo apt-get -f install

Этим вы проверяете состояние пакетов. Если вы сделали все правильно, то информация о проблемном пакете исчезнет.

  1. попробуйте удалить проблемный пакет с помощью dpkg:

    $ sudo dpkg -r --force-depends libedit2:i386
    
  2. а затем обновите список пакетов:

    $ sudo apt-get update
    
  3. и установите недостающие зависимости:

    $ sudo apt-get -f install
    

обновление.

если у вас установлены (как основные) пакеты 64-битной архитектуры, а 32-битная архитектура не объявлена явно, то, вероятно, это и является проблемой. вам надо сначала добавить архитектуру, а уже потом выполнять шаги 2 и 3.

основную архитектуру можно посмотреть командой:

$ dpkg --print-architecture
amd64

посмотреть «чужие» архитектуры можно так:

$ dpkg --print-foreign-architectures 
i386
armhf

добавить новую архитектуру можно так:

$ sudo dpkg --add-architecture i386

удалить:

$ sudo dpkg --remove-architecture i386

подробнее про мульти-архитектурность в debian-основных дистрибутивах можно почитать, например, здесь.

Изображение пользователя Chibiko.

У меня очень старенький винт, потихоньку сыплется. Поэтому часто бывают всякие «неожиданности». Но это не всё. Часто при обновлениях случается чт-то от вас не зависящее, и не всегда этому виной кривые руки. Бывает, что dpkg спотыкается обо что-либо, и дальше всё.. ничего обновить в системе, установить или удалить вы через aptitude (apt-get) вы не сможете… Как вариант, можно посмотреть список зависимостей, и удалять всё ручками, но я считаю что это не айс — удалять каждый файлик, править конфиги… Может это и true linux way, но увы, сейчас уже третье тысячелетие, и я отказался от такого извращения. Поэтому мы просто попытаемся починить dpkg.

Итак, приступим:

dpkg — это программное обеспечение, являющееся основой системы управления пакетами в Debian. dpkg используется для установки, удаления, и получения информации о .deb пакетах.
Подробнее смотрите в Wiki, я лишь опишу некоторые проблемы, встречающиеся при обработке пакетов.

1) Что поможет в 80% случаев:

Зачастую достаточно просто запросить из хранилища(репозитория) новый список пакетов:

sudo aptitude update

sudo aptitude install -f

И установить обновления:

sudo aptitude safe-upgrade

Бывает что проблема — это плохо сконфигурированный пакет. Поэтому мы просто её ещё раз переконфигурируем:

sudo dpkg --configure -a

2) Остальные «сложные» случаи:

Для остальных случаев придётся переконфигурировать всё:
sudo dpkg-reconfigure -a
Осторожно, может занять много времени 8)

Или именно этот пакет:
sudo dpkg-reconfigure --default-priority %pack_name%

Ну бывает что нужно переконфигурировать его, даже если он поломан или неисправен:

sudo dpkg-reconfigure --force %pack_name%

!ВНИМАНИЕ! Использовать осторожно!

Если и это не помогает, то смотрим что именно произошло, не боимся гуглить и так далее, например у меня было вот что:

3) Конкретные случаи:

1) Падение dpkg - /var/lib/dpkg/available: Input/output error.

E: Sub-process /usr/bin/dpkg returned an error code (2)
dpkg: при работе функции buffer_read(fd) произошла ошибка: копирование файла информации /var/lib/dpkg/available: Input/output error

Дааааа… Как всегда косяки, ну ничего, где-то мы такое видали. Минутный поиск по форуму сообщества и на глаза вылазит лекарство:

sudo dpkg --configure -a
либо
sudo apt-get install -f && sudo dpkg --configure -a

К сожалению никаких результатов в моем случае это не дало.
Ищем дальше. Гугл толком ничего не даёт, найдены пару вариантов с англоязычного форума линукс. К сожалению не помогает. Ну ладно значит будем думать головой…
Идём по адресу /var/lib/dpkg/ находим файл available, пытаемся открыть — filed. Осматриваемся в папке,и видим интересный файл под названием available_old.
Значит, при обновлении пакетов была сделана резервная копия этого файла со старым содержимым. Открываем, копируем содержимое , удаляем available и создаём на его месте новый файл с тем же названием. Вставляем содержимое из available_old.
Проверяем обновления

sudo apt-get update

есть. Запускаем

sudo apt-get upgrade

и о чудо, всё работает. Теперь можно и продолжать настройку системы. Также возможен другой вариант лечения dpkg.
sudo dpkg --clear-avail #удалить информацию о доступных пакетах.

далее

sudo apt-get update #обновление информации о пакетах.

но это при условии, что ваш файл не окажется битым, как в моём случае.

Да, чуть не забыл при внесении данного сообщения начал меня раздражать SCIM Method? он так и норовил подсунуть мне какой-нибудь арабско-еврейско-хрензнает какой шрифт. Пришлось избавится

apt-get remove scim

Взято с тыц’а


2) Удалил пакет руками — теперь aptitude ругается, что делать?

dpkg: не удалось обработать параметр %pack_name% (--configure):
подпроцесс post-installation script возвратил код ошибки 1
При обработке следующих пакетов произошли ошибки:
%pack_name%
E: Sub-process /usr/bin/dpkg returned an error code (1)

В таком случае можно удалить пакет через dpkg:

dpkg --purge %pack_name% #удалит всё что о нём было известно вместе с ним 8)

3) в списке файлов пакета %pack_name% отсутствует завершающий символ новой строки

aptitude install -f
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Чтение информации о расширенных состояниях
Инициализация состояний пакетов... Готово
(Чтение базы данных ... dpkg: невосстановимая ошибка, прекращение работы:
в списке файлов пакета %pack_name% отсутствует завершающий символ новой строки
E: Sub-process /usr/bin/dpkg returned an error code (2)
Не удалось установить пакет.  Попытка восстановить:
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Чтение информации о расширенных состояниях
Инициализация состояний пакетов... Готово

Я гуглил много, оказалось решение очень простое:
sudo kate /var/lib/dpkg/status

После чего Ctrl+F — вводим в поиск %pack_name% и удаляем всё что с ним связано, после чего делаем пункт 1) и вуаля, dpkg вернулся из мёртвых, Ressurect III lvl окрыляет!

ПОДРОБНАЯ ИНФОРМАЦИЯ о dpkg на русском можно глянуть тут: тыц

Если нада, можно сюда скопипастить, но не думаю что нужно…

Проапгрейдил, исправил бОльшинство орфографических ошибок, привёл всё к единому формату. Любые дополнения приветствуются. В данный момент ищутся любые другие ошибки в dpkg, которые решаются способами, которых тут ещё нет.

Ну и спасибо баламутику за баламутивание 8)

На этом уроке рассмотрим пакетный менеджер dpkg, который в отличии от apt не умеет работать с репозиториями.

Помимо apt (apt-get) в Debian и Ubuntu есть пакетный менеджер dpkg. Он не работает с репозиториями и не может скачать оттуда зависимости, зато он может:

  • установить локально доступный (скачанный) deb пакет,
  • удалить приложение,
  • показать список установленных приложений,
  • показать информацию об установленном приложении,
  • показать информацию о скаченном deb пакете.

Если при установки пакет запросит зависимости, то dpkg не сможет установить пакет и мы получим ошибку. Для того чтобы исправить эту ошибку мы можем выполнить уже знакомую по предыдущему уроку команду apt -f install.

Установка пакетов

Удалим apache2 установленный на прошлом уроке, удалим все его зависимости, скачаем пакет и установим его с помощью dpkg, а затем исправим ошибки с зависимостями:

alex@deb:~$ sudo apt purge apache2
alex@deb:~$ sudo apt autoremove
alex@deb:~$ apt download apache2

alex@deb:~$ sudo dpkg -i apache2_2.4.53-1~deb11u1_amd64.deb
Выбор ранее не выбранного пакета apache2.
(Чтение базы данных … на данный момент установлено 39496 файлов и каталогов.)
Подготовка к распаковке apache2_2.4.53-1~deb11u1_amd64.deb …
Распаковывается apache2 (2.4.53-1~deb11u1) …
dpkg: зависимости пакетов не позволяют настроить пакет apache2:
 apache2 зависит от apache2-bin (= 2.4.53-1~deb11u1), однако:
  Пакет apache2-bin не установлен.
 apache2 зависит от apache2-data (= 2.4.53-1~deb11u1), однако:
  Пакет apache2-data не установлен.
 apache2 зависит от apache2-utils (= 2.4.53-1~deb11u1), однако:
  Пакет apache2-utils не установлен.

dpkg: ошибка при обработке пакета apache2 (--install):
 проблемы зависимостей — оставляем не настроенным
Обрабатываются триггеры для man-db (2.9.4-2) …
При обработке следующих пакетов произошли ошибки:
 apache2

alex@deb:~$ sudo apt -f install
Чтение списков пакетов… Готово
Построение дерева зависимостей… Готово
Чтение информации о состоянии… Готово
Исправление зависимостей… Готово
Будут установлены следующие дополнительные пакеты:
  apache2-bin apache2-data apache2-utils libapr1 libaprutil1 libaprutil1-dbd-sqlite3
  libaprutil1-ldap libcurl4 liblua5.3-0
Предлагаемые пакеты:
  apache2-doc apache2-suexec-pristine | apache2-suexec-custom www-browser
Следующие НОВЫЕ пакеты будут установлены:
  apache2-bin apache2-data apache2-utils libapr1 libaprutil1 libaprutil1-dbd-sqlite3
  libaprutil1-ldap libcurl4 liblua5.3-0
Обновлено 0 пакетов, установлено 9 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Установлено или удалено не до конца 1 пакетов.
Необходимо скачать 2 529 kB архивов.
После данной операции объём занятого дискового пространства возрастёт на 8 496 kB.
Хотите продолжить? [Д/н]

Этот пример выполнен на Debian 11, но он точно также может быть выполнен и на Ubuntu 22.04.

Как вы поняли устанавливать пакет используя dpkg нужно с опцией -i. Обычно с помощью dpkg устанавливаются пакеты, которых нет в репозиториях. То есть вы их можете найти где-нибудь в интернете, скачать, а затем установить.

Удаление пакетов

Для удаления пакета используется опция -r:

alex@deb:~$ sudo dpkg -r apache2

Список установленных пакетов

А с помощью опции -l можно посмотреть список установленных пакетов:

alex@deb:~$ dpkg -l
Желаемый=неизвестно[u]/установить[i]/удалить[r]/вычистить[p]/зафиксировать[h]
| Состояние=не[n]/установлен[i]/настроен[c]/распакован[U]/частично настроен[F]/
            частично установлен[H]/trig-aWait/Trig-pend
|/ Ошибка?=(нет)/требуется переустановка[R] (верхний регистр
в полях состояния и ошибки указывает на ненормальную ситуацию)
||/ Имя                            Версия                         Архитектура  Описание
+++-==============================-==============================-============-===============================================================================
ii  adduser                        3.118                          all          add and remove users and groups
rc  apache2                        2.4.53-1~deb11u1               amd64        Apache HTTP Server
ii  apache2-bin                    2.4.53-1~deb11u1               amd64        Apache HTTP Server (modules and other binary files)
ii  apache2-data                   2.4.53-1~deb11u1               all          Apache HTTP Server (common files)
ii  apache2-utils                  2.4.53-1~deb11u1               amd64        Apache HTTP Server (utility programs for web servers)
ii  apparmor                       2.13.6-10                      amd64        user-space parser utility for AppArmor
ii  apt                            2.2.4                          amd64        commandline package manager
ii  apt-listchanges                3.24                           all          package change history notification tool
ii  apt-utils                      2.2.4                          amd64        package management related utility programs

Вы можете заметить что пакет apache2, который я удалил в предыдущем примере отмечен как rc (удалён и настроен).

Информация о пакетах

Получить информацию о приложении можно с помощью -s:

alex@deb:~$ dpkg -s apache2 | head
Package: apache2
Status: deinstall ok config-files
Priority: optional
Section: httpd
Installed-Size: 622
Maintainer: Debian Apache Maintainers <debian-apache@lists.debian.org>
Architecture: amd64
Version: 2.4.53-1~deb11u1
Config-Version: 2.4.53-1~deb11u1
Replaces: apache2.2-bin, apache2.2-common, libapache2-mod-proxy-uwsgi (<< 2.4.33)

alex@deb:~$ dpkg -s apt | head
Package: apt
Status: install ok installed
Priority: required
Section: admin
Installed-Size: 4337
Maintainer: APT Development Team <deity@lists.debian.org>
Architecture: amd64
Version: 2.2.4
Replaces: apt-transport-https (<< 1.5~alpha4~), apt-utils (<< 1.3~exp2~)
Provides: apt-transport-https (= 2.2.4)

Первый раз я смотрю информацию о приложении apache2, который я удалил с помощью dpkg -r. Такое удаление не удаляет конфигурационные файлы, поэтому пакет хоть и удалён (deinstall), но настроен (config-files).

Второй раз я смотрю информацию о приложении apt. Эта утилита установлена (install ok installed).

А если мы удалим приложение с помощью apt purge, то мы совсем не сможем получить о нём информацию с помощью dpkg:

alex@deb:~$ sudo apt install apache2
alex@deb:~$ sudo apt purge apache2

alex@deb:~$ dpkg -s apache2
dpkg-query: пакет «apache2» не установлен, информация о нём недоступна
Use dpkg --info (= dpkg-deb --info) to examine archive files.

Можно посмотреть информацию о скаченном пакете с помощью dpkg -I:

alex@deb:~$ dpkg -I apache2_2.4.53-1~deb11u1_amd64.deb
 new Debian package, version 2.0.
 size 273352 bytes: control archive=12768 bytes.
    6578 байт(а),   157 строк      conffiles
    1121 байт(а),    23 строк      control
    1918 байт(а),    27 строк      md5sums
   10636 байт(а),   376 строк   *  postinst             #!/bin/bash
    3751 байт(а),   137 строк   *  postrm               #!/bin/sh
   10543 байт(а),   207 строк   *  preinst              #!/bin/bash
     837 байт(а),    24 строк   *  prerm                #!/bin/sh
 Package: apache2
 Version: 2.4.53-1~deb11u1
 Architecture: amd64
 Maintainer: Debian Apache Maintainers <debian-apache@lists.debian.org>
 Installed-Size: 622
 Pre-Depends: dpkg (>= 1.17.14), init-system-helpers (>= 1.54~)
 Depends: apache2-bin (= 2.4.53-1~deb11u1), apache2-data (= 2.4.53-1~deb11u1), apache2-utils (= 2.4.53-1~deb11u1), lsb-base, mime-support, perl:any, procps
 Recommends: ssl-cert
 Suggests: apache2-doc, apache2-suexec-pristine | apache2-suexec-custom, www-browser
 Conflicts: apache2.2-bin, apache2.2-common
 Breaks: libapache2-mod-proxy-uwsgi (<< 2.4.33)
 Replaces: apache2.2-bin, apache2.2-common, libapache2-mod-proxy-uwsgi (<< 2.4.33)
 Provides: httpd, httpd-cgi
 Section: httpd
 Priority: optional
 Homepage: https://httpd.apache.org/
 Description: Apache HTTP Server
  The Apache HTTP Server Project's goal is to build a secure, efficient and
  extensible HTTP server as standards-compliant open source software. The
  result has long been the number one web server on the Internet.
  .
  Installing this package results in a full installation, including the
  configuration files, init scripts and support scripts.

Можно посмотреть список всех файлов которые установились вместе с пакетом с помощью dpkg -L:

alex@deb:~$ sudo apt install apache2

alex@deb:~$ dpkg -L apache2 | head
/.
/etc
/etc/apache2
/etc/apache2/apache2.conf
/etc/apache2/conf-available
/etc/apache2/conf-available/charset.conf
/etc/apache2/conf-available/localized-error-pages.conf
/etc/apache2/conf-available/other-vhosts-access-log.conf
/etc/apache2/conf-available/security.conf
/etc/apache2/conf-available/serve-cgi-bin.conf

В некоторых командах я добавляю (| head), чтобы видеть только первые 10 строк из всего вывода.

Итог

Пакетный менеджер dpkg чаще используют не для установки или удаления приложений, а для просмотра информации об уже установленных приложениях или о скаченных пакетах. Устанавливают и удаляют приложения в основном те, которых нет в репозиториях и которые поставляются отдельными .deb пакетами.

Еще раз пробежимся по опциям:

  • -i, -r — установить или удалить пакет;
  • -l— список установленных пакетов;
  • -s — информация об установленном приложении;
  • -I — информация о скачанном пакете;
  • -L — список файлов, которые установились из пакета.

Сводка

Пакетный менеджер dpkg

Имя статьи

Пакетный менеджер dpkg

Описание

На этом уроке рассмотрим пакетный менеджер dpkg, который в отличии от apt не умеет работать с репозиториями

Понравилась статья? Поделить с друзьями:
  • Apt get update ошибка debian
  • Aps off ошибка infiniti
  • Aps 727 scania ошибка
  • Aps 647 ошибка скания
  • Aps 169 ошибка скания