Автор Тема: Ошибка БД при попытке выполнения apt-get update  (Прочитано 5415 раз)

Оффлайн hasculdr

  • Завсегдатай
  • *
  • Сообщений: 672
[root@work ~]# apt-get update
Получено: 1 http://mirror.yandex.ru p9/branch/x86_64 release [1954B]
Получено: 2 http://mirror.yandex.ru p9/branch/x86_64-i586 release [1175B]
Получено: 3 http://mirror.yandex.ru p9/branch/noarch release [1545B]
Получено 4674B за 0s (46,3kB/s).
Найдено http://mirror.yandex.ru p9/branch/x86_64/classic pkglist
Найдено http://mirror.yandex.ru p9/branch/x86_64/classic release
Найдено http://mirror.yandex.ru p9/branch/x86_64-i586/classic pkglist
Найдено http://mirror.yandex.ru p9/branch/x86_64-i586/classic release
Найдено http://mirror.yandex.ru p9/branch/noarch/classic pkglist
Найдено http://mirror.yandex.ru p9/branch/noarch/classic release
ошибка: rpmdb: Thread/process 46703/140604710106944 failed: Thread died in Berkeley DB library
ошибка: db4 error(-30974) from dbenv->failchk: DB_RUNRECOVERY: Fatal error, run database recovery
ошибка: cannot open Packages index using db4 -  (-30974)
ошибка: не могу открыть базу данных Packages в
E: невозможно открыть базу данных RPM
Как такое починить?

Оффлайн rits

  • Завсегдатай
  • *
  • Сообщений: 1 031
  • ITS
# apt-get --help
Цитировать
apt 0.5.15lorg2 для linux x86_64 собран Sep 21 2020 06:08:56
Использование: apt-get [параметры] команда
               apt-get [параметры] install|remove пакет1 [пакет2 ...]
               apt-get [параметры] source пакет1 [пакет2 ...]

apt-get предоставляет простой командный интерфейс для получения и
установки пакетов. Чаще других используются команды update (обновить)
и install (установить).

Команды:
   update - Получить обновлённые списки пакетов
   upgrade - Произвести обновление
   install - Установить новые пакеты
   remove - Удалить пакеты
   source - Скачать архивы исходников
   build-dep - Установить всё необходимое для сборки исходных пакетов
   dist-upgrade - Обновление системы в целом, см. apt-get(8)
   clean - Удалить скачанные ранее архивные файлы
   autoclean - Удалить давно скачанные архивные файлы
   check - Удостовериться в отсутствии неудовлетворённых зависимостей
   dedup - Remove unallowed duplicated pkgs

Параметры:
  -h  Краткая справка
  -q  Скрыть индикатор процесса
  -qq Не показывать ничего кроме сообщений об ошибках
  -d  Получить пакеты и выйти БЕЗ их установки или распаковки
  -s  Симулировать упорядочение вместо реального исполнения
  -y  Автоматически отвечать 'ДА' на все вопросы
  -f  Пытаться исправить положение если найдены неудовлетворённые зависимости
  -m  Пытаться продолжить если часть архивов недоступна
  -u  Показать список обновляемых пакетов
  -b  Собрать пакет после получения его исходника
  -D  При удалении пакета стремиться удалить компоненты, от которых он зависит
  -V  Подробно показывать номера версий
  -c=? Использовать указанный файл конфигурации
  -o=? Изменить любой из параметров настройки (например: -o dir::cache=/tmp)
Более полное описание доступно на страницах руководства man:
apt-get(8), sources.list(5) и apt.conf(5).

# apt-get -f install помогло?
https://www.gotoadm.ru/fix-rpmdb-thread-died-in-berkeley-db-library/
« Последнее редактирование: 19.11.2020 12:27:58 от rabochyITs »

Оффлайн hasculdr

  • Завсегдатай
  • *
  • Сообщений: 672
# apt-get -f install
ошибка: rpmdb: Thread/process 46703/140604710106944 failed: Thread died in Berkeley DB library
ошибка: db4 error(-30974) from dbenv->failchk: DB_RUNRECOVERY: Fatal error, run database recovery
ошибка: cannot open Packages index using db4 -  (-30974)
ошибка: не могу открыть базу данных Packages в
E: невозможно открыть базу данных RPM

Оффлайн gosts 87

  • Завсегдатай
  • *
  • Сообщений: 2 599
  • Дмитрий/Dmitry/德米特里/दिमित्री
А если попробовать сменить URL репозитория с http://mirror.yandex.ru на http://ftp.altlinux.org/pub/distributions/ALTLinux/ ?

Оффлайн NickM

  • Завсегдатай
  • *
  • Сообщений: 896
Таки ведь проблема не в источниках и не в самих пакетах, а в БД rpm.
Для начала следует выяснить что могло сломать БД, например проверить состояние ж/д и ф/с.
После искать в сети, может есть какие утилиты по авто-восстановлению, может рецепты по ручному.
Искать бэкапы.
После думать что делать.

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 099
А при чём тут apt-то? Ключи rpm надо изучать на предмет восстановления базы. Может повезёт.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 908
    • Домашняя страница
    • Email
Андрей Черепанов (cas@)