Страница 1 из 1

Сбой базы данных RPM

Добавлено: 25 авг 2016, 17:35
Yamah
На нетбуке во время обновления ядро 4.6.3 решило запаниковать. В результате, что-то случилось с базой RPM. Теперь во время операций rpm сыплет огромным количеством таких строк

Код: Выделить всё

rpmdb: /var/lib/rpm/Packages: BDB0088 DB_SECONDARY_BAD: Secondary index inconsistent with primary
rpmdb: /var/lib/rpm/Packages: BDB0088 DB_SECONDARY_BAD: Secondary index inconsistent with primary
rpmdb: /var/lib/rpm/Packages: BDB0088 DB_SECONDARY_BAD: Secondary index inconsistent with primary
rpmdb: /var/lib/rpm/Packages: BDB0088 DB_SECONDARY_BAD: Secondary index inconsistent with primary
rpmdb: /var/lib/rpm/Packages: BDB0088 DB_SECONDARY_BAD: Secondary index inconsistent with primary
rpmdb: /var/lib/rpm/Packages: BDB0088 DB_SECONDARY_BAD: Secondary index inconsistent with primary
rpmdb: /var/lib/rpm/Packages: BDB0088 DB_SECONDARY_BAD: Secondary index inconsistent with primary
rpmdb: /var/lib/rpm/Packages: BDB0088 DB_SECONDARY_BAD: Secondary index inconsistent with primary
rpmdb: /var/lib/rpm/Packages: BDB0088 DB_SECONDARY_BAD: Secondary index inconsistent with primary
error: db3cdel:db3.c:1482: dbcursor->del(-30972): BDB0088 DB_SECONDARY_BAD: Secondary index inconsistent with primary
а часть пакетов не желают удаляться из базы, удалившись с диска.

Все советы по восстановлению базы rpm с вики выполнял. Все варианты в конце говорили, что все ОК, но результат тот же.
Что делать?

Re: Сбой базы данных RPM

Добавлено: 26 авг 2016, 05:45
keleg
даже третий совет, с удалением и пересозданием?

Re: Сбой базы данных RPM

Добавлено: 26 авг 2016, 11:04
notauser

Код: Выделить всё

/usr/lib/rpm/bin/dbconvert
пробовали?

Re: Сбой базы данных RPM

Добавлено: 29 авг 2016, 18:03
Yamah
keleg писал(а):даже третий совет, с удалением и пересозданием?

Код: Выделить всё

perl -MURPM -e 'URPM::DB::convert("/", "btree", 1, 1)'
Undefined subroutine &URPM::DB::convert called at -e line 1.
notauser писал(а):

Код: Выделить всё

/usr/lib/rpm/bin/dbconvert
пробовали?

Код: Выделить всё

usr/lib/rpm/bin/dbconvert
converting /var/lib/rpm/rpmdbHzKHRX/Packages: 3552/3552 100%
netbook rpm # 
netbook rpm # 
netbook rpm # rpm -e --nodeps kernel-nrj-laptop-4.4.11-1rosa-i586-1-1-rosa2014.1.i586
rpmdb: BDB2055 Lock table is out of available lock entries
error: db3associate:db3.c:1582: db->associate(12): Невозможно выделить память
rpmdb: BDB2055 Lock table is out of available lock entries
error: cannot open Nvra(1196) index: Невозможно выделить память(12)
        DB: Berkeley DB 5.2.42: (February 29, 2012)
warning: pool h: FIXME: made 3, count 2
Note: This is a harmless memory leak discovered while exiting, relax ...

Re: Сбой базы данных RPM

Добавлено: 30 авг 2016, 00:01
notauser

Re: Сбой базы данных RPM

Добавлено: 30 авг 2016, 03:32
Yamah
notauser писал(а):А если теперь http://forum.rosalab.ru/ru/viewtopic.ph ... 134#p26355?
Та же фигня

[codenetbook rpm #]db52_recover -vh /var/lib/rpm
BDB2526 Finding last valid log LSN: file: 62 offset 6835625
BDB1514 Recovery starting from [33][3268843]
BDB1518 Recovery complete at Tue Aug 30 07:29:36 2016
BDB1519 Maximum transaction ID 800000c3 recovery checkpoint [62][6835817]
netbook rpm # urpmi --auto-update --update --auto
источник «Main» уже обновлён
источник «Main Updates» уже обновлён
источник «Contrib» уже обновлён
источник «Contrib Updates» уже обновлён
источник «Non-free» уже обновлён
источник «Non-free Updates» уже обновлён
источник «Restricted» уже обновлён
источник «Restricted Updates» уже обновлён
источник «Kernel 4.4» уже обновлён
источник «Kernel 4.5» уже обновлён
источник «Kernel 4.6» уже обновлён
http://mirror.rosalab.ru/rosa/rosa2014. ... 1.i586.rpm


устанавливается libfm4-1.2.4-1-rosa2014.1.i586.rpm из /var/cache/urpmi/rpms
Подготовка... #############################################################################
1/1: libfm4 #############################################################################
1/1: удаляется libfm4-1.2.3-2.i586
#############################################################################
rpmdb: /var/lib/rpm/Packages: BDB0088 DB_SECONDARY_BAD: Secondary index inconsistent with primary
rpmdb: /var/lib/rpm/Packages: BDB0088 DB_SECONDARY_BAD: Secondary index inconsistent with primary
rpmdb: /var/lib/rpm/Packages: BDB0088 DB_SECONDARY_BAD: Secondary index inconsistent with primary
rpmdb: /var/lib/rpm/Packages: BDB0088 DB_SECONDARY_BAD: Secondary index inconsistent with primary
rpmdb: /var/lib/rpm/Packages: BDB0088 DB_SECONDARY_BAD: Secondary index inconsistent with primary
rpmdb: /var/lib/rpm/Packages: BDB0088 DB_SECONDARY_BAD: Secondary index inconsistent with primary
error: db3cdel:db3.c:1482: dbcursor->del(-30972): BDB0088 DB_SECONDARY_BAD: Secondary index inconsistent with primary
netbook rpm # rpm -qa | grep libfm4
libfm4-1.2.3-2-rosa2014.1.i586
libfm4-1.2.4-1-rosa2014.1.i586
[/code]

Re: Сбой базы данных RPM

Добавлено: 30 авг 2016, 19:01
Галахов Роман
Примерно, полгода назад была подобная ситуация. За 2 недели перепробовал все, что возможно - но увы пришлось переустановиться. У меня началось с того, что во время большого обновления глюкнул аккумулятор ноута и жестко сбросил систему...

Re: Сбой базы данных RPM

Добавлено: 03 сен 2016, 17:09
Yamah
Галахов Роман писал(а):Примерно, полгода назад была подобная ситуация. За 2 недели перепробовал все, что возможно - но увы пришлось переустановиться. У меня началось с того, что во время большого обновления глюкнул аккумулятор ноута и жестко сбросил систему...
Вынужден был сделать тоже самое.
Только походу у меня проблема была с тем, что обновлял по беспроводной сети, а ядро, а точнее настройки KDE, решило поэкономить энергию, хотя нетбук и был подключен к сети.

Плюнул на все. Поставил снова на BTRFS, сделал снапшот. Так что в случае чего, смогу откатываться на последнюю живую конфигурацию.

Re: Сбой базы данных RPM

Добавлено: 03 сен 2016, 20:57
Галахов Роман
Yamah писал(а):Вынужден был сделать тоже самое.
Только походу у меня проблема была с тем, что обновлял по беспроводной сети, а ядро, а точнее настройки KDE, решило поэкономить энергию, хотя нетбук и был подключен к сети.

Плюнул на все. Поставил снова на BTRFS, сделал снапшот. Так что в случае чего, смогу откатываться на последнюю живую конфигурацию.
Обновление делаю тоже по Wi-fi - но такой "экономии" слава богу не было.

Re: Сбой базы данных RPM

Добавлено: 04 сен 2016, 08:12
trs
Yamah писал(а):Поставил снова на BTRFS, сделал снапшот.
Хорошо бы это как-либо автоматизировать.
На базе FreeBSD так уже сделали, менеджер обновлений создаёт снимки файловой системы перед обновлением: https://www.trueos.org/handbook/sysadmc ... te-manager (англ.).

Re: Сбой базы данных RPM

Добавлено: 05 сен 2016, 17:25
Yamah
trs писал(а):
Yamah писал(а):Поставил снова на BTRFS, сделал снапшот.
Хорошо бы это как-либо автоматизировать.
На базе FreeBSD так уже сделали, менеджер обновлений создаёт снимки файловой системы перед обновлением: https://www.trueos.org/handbook/sysadmc ... te-manager (англ.).
Тут готовый скрипт лежит. (Сертификат сайта самоподписан. Нужно добавить в исключения.)
Нужно, что бы раздел с системным томом имел точку монтирования в fstab без указания подтома. К примеру.

Код: Выделить всё

UUID=db2cb0bb-e9ad-4732-9c92-15cfce2358b8 / btrfs noatime,ssd,subvol=@Rosa_Fresh 1 1
UUID=db2cb0bb-e9ad-4732-9c92-15cfce2358b8 /mnt/Zone/System btrfs noatime,ssd,noauto 1 1
Если запускать без параметров, то скрипт сам найдет системный том на BTRFS разделе и сделает снапшот.

Да, я запускаю вручную просто

Код: Выделить всё

system-snapshot-creator.sh
Сам скрипт обитает в /usr/local/bin