Skocz do zawartości

Przy Próbie Instalacji, Yum Wyrzuca Błąd.


Piotrek23

Rekomendowane odpowiedzi

Przy próbie instalacji czy to YUM-em w obu przypadkach system zwraca błąd. Podczas gdy chce zainstalować pakiet dwuklikiem, dostaje taki komunikat:

Error Type: <type 'exceptions.TypeError'>

Error Value: rpmdb open failed

File : /usr/share/PackageKit/helpers/yum/install-files.py , line 19, in <module>

backend = PackageKitYumBackend(sys.argv[1:])

File : /usr/share/PackageKit/helpers/yum/yumBackend.py , line 242, in __init__

self._setup_yum()

File : /usr/share/PackageKit/helpers/yum/yumBackend.py , line 1556, in _setup_yum

self.yumbase.doConfigSetup(errorlevel=0,debuglevel=0) # Setup Yum Config

File : /usr/lib/python2.5/site-packages/yum/__init__.py , line 134, in doConfigSetup

errorlevel=errorlevel)

File : /usr/lib/python2.5/site-packages/yum/__init__.py , line 182, in _getConfig

self._conf = config.readMainConfig(startupconf)

File : /usr/lib/python2.5/site-packages/yum/config.py , line 732, in readMainConfig

yumvars['releasever'] = _getsysver(startupconf.installroot, startupconf.distroverpkg)

File : /usr/lib/python2.5/site-packages/yum/config.py , line 802, in _getsysver

idx = ts.dbMatch('provides', distroverpkg)

 

A gdy chcę zainstalować YUM-em:

rpmdb: PANIC: fatal region error detected; run recovery

błąd: błąd db4(-30977) z dbenv->open: DB_RUNRECOVERY: Fatal error, run database recovery

błąd: nie można otworzyć indeksu Packages używając bazy danych3 - (-30977)

błąd: nie można otworzyć bazy Packages w /var/lib/rpm

Traceback (most recent call last):

File "/usr/bin/yum", line 29, in <module>

yummain.user_main(sys.argv[1:], exit_code=True)

File "/usr/share/yum-cli/yummain.py", line 243, in user_main

errcode = main(args)

File "/usr/share/yum-cli/yummain.py", line 98, in main

base.getOptionsConfig(args)

File "/usr/share/yum-cli/cli.py", line 183, in getOptionsConfig

disabled_plugins=self.optparser._splitArg(opts.disableplugins))

File "/usr/lib/python2.5/site-packages/yum/__init__.py", line 182, in _getConfig

self._conf = config.readMainConfig(startupconf)

File "/usr/lib/python2.5/site-packages/yum/config.py", line 732, in readMainConfig

yumvars['releasever'] = _getsysver(startupconf.installroot, startupconf.distroverpkg)

File "/usr/lib/python2.5/site-packages/yum/config.py", line 802, in _getsysver

idx = ts.dbMatch('provides', distroverpkg)

TypeError: rpmdb open failed

 

Nie mam żadnego pojęcia czym mogło by być to spowodowane, dlatego proszę was o rady i pomoc w rozwiązaniu problemu. :D

Odnośnik do komentarza
Udostępnij na innych stronach

  • Odpowiedzi 33
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

rpmdb: PANIC: fatal region error detected; run recovery

błąd: błąd db4(-30977) z dbenv->open: DB_RUNRECOVERY: Fatal error, run database recovery

Tu jest rozwiązanie. Warto czytać logi. Uszkodzona baza indeksów RPM. Wykonaj jako root kolejno:
cd /var/lib/rpm
rm __db.*
mv Packages Packages_old  # to jako backup na wszelki wypadek
rpm --rebuilddb  # może trwać nawet kilkanaście minut, nie wyłączaj komputera, nie przerywaj działania
yum clean all

Oczywiście należy wyłączyć wszelkie programy i serwisy działające na tej bazie np.yum-updatesd.

 

Awaria spowodowana była prawdopodobnie gwałtownym przerwaniem instalacji (np.reset komputera w czasie aktualizacji/instalacji).

Odnośnik do komentarza
Udostępnij na innych stronach

Tu jest rozwiązanie. Warto czytać logi. Uszkodzona baza indeksów RPM. Wykonaj jako root kolejno:
cd /var/lib/rpm
rm __db.*
mv Packages Packages_old  # to jako backup na wszelki wypadek
rpm --rebuilddb  # może trwać nawet kilkanaście minut, nie wyłączaj komputera, nie przerywaj działania
yum clean all

Oczywiście należy wyłączyć wszelkie programy i serwisy działające na tej bazie np.yum-updatesd.

 

Awaria spowodowana była prawdopodobnie gwałtownym przerwaniem instalacji (np.reset komputera w czasie aktualizacji/instalacji).

 

Niestety już przy 3 poleceniu na potkałem błędy:

rpmdb: PANIC: fatal region error detected; run recovery

błąd: błąd db4(-30977) z dbenv->open: DB_RUNRECOVERY: Fatal error, run database recovery

błąd: nie można otworzyć indeksu Packages używając bazy danych3 - (-30977)

 

Odnośnik do komentarza
Udostępnij na innych stronach

Sprawdziłeś czy w katalogu /var/lib/rpm na pewno nie ma już plików __db.* ? Przed "db" są dwa znaki podkreślenia!

I chyba zrobiłem błąd. Nie mv tylko cp. Plik "Packages" musi istnieć w /var/lib/rpm. Czyli trzeba przywrócić:

cp Packages_old Packages
rpm --rebuilddb

Sorki, mój błąd.

 

Przy okazji sprawdź czy nie masz "gryzących" się ze sobą repozytoriów. Poza standardowymi Fedory dostarczonymi z instalacją i Livną. Nie powinno być innych. Jak będzie dobrze, to dodasz sobie jeszcze Adobe, żeby mieć wtyczki flash-plugin do przeglądarek.

Odnośnik do komentarza
Udostępnij na innych stronach

Niestety przywróciłem kopię i wydałem polecenie, lecz nie trwało to nawet sekundy od razu przeszło do nowej lini, a po wykonaniu kolejnego polecenia zwróciło mi to:

 

Traceback (most recent call last):

File "/usr/bin/yum", line 29, in <module>

yummain.user_main(sys.argv[1:], exit_code=True)

File "/usr/share/yum-cli/yummain.py", line 243, in user_main

errcode = main(args)

File "/usr/share/yum-cli/yummain.py", line 98, in main

base.getOptionsConfig(args)

File "/usr/share/yum-cli/cli.py", line 183, in getOptionsConfig

disabled_plugins=self.optparser._splitArg(opts.disableplugins))

File "/usr/lib/python2.5/site-packages/yum/__init__.py", line 182, in _getConfig

self._conf = config.readMainConfig(startupconf)

File "/usr/lib/python2.5/site-packages/yum/config.py", line 732, in readMainConfig

yumvars['releasever'] = _getsysver(startupconf.installroot, startupconf.distroverpkg)

File "/usr/lib/python2.5/site-packages/yum/config.py", line 808, in _getsysver

hdr = idx.next()

StopIteration

 

Odnośnik do komentarza
Udostępnij na innych stronach

Sprawdź może czy baza RPM jest już OK. Np poleceniem "rpm -qa" - powinno wyświetlić wszystkie paczki w systemie.

Jeśli zadziała bez błędów, to sprawdź jaką masz wersję yuma ("rpm -qa yum").

Ściągnij paczkę (wersja z poprzedniego polecenia) gdzieś z sieci np.http://download.fedora.redhat.com/pub/fedora/linux/updates/9/ i potem wybierz architekturę odpowiednią dla Twojego procesora (32-bit - i386, x86_64 dla 64-bit).

Przeinstaluj "rpm -Uvh --replacepgks yum....<coś tam, coś tam, wersja>.rpm".

 

Głowy nie dam, ale może coś się polepszy. Gorzej na pewno nie będzie.

 

Wklejając błędy na forum pisz dokładnie z jakiego polecenia, z jakimi parametrami i z jakiego użytkownika wykonywałeś - będzie szybciej, bo bez nieporozumień.

Odnośnik do komentarza
Udostępnij na innych stronach

Hmmm... Cóż, i tak bywa. Domyślam się że plik /var/lib/rpm/Packages ma wielkość 0 bajtów. Ciekawe czy Packages_old był większy?

Tak czy siak nie wiem czy uda się wyjść z tego inaczej niż reinstalacja systemu, w każdym razie ja nie mam już pomysłów. Poza być może próbą kolejną próbą przywrócenia bazy o ile Packages_old jest > 0.

Odnośnik do komentarza
Udostępnij na innych stronach

Nie ma (_wogóle_ ? w ogóle) ORT katalogu /var/lib/rpm/Packages jest tylko /var/lib/rpm/PackagesKit
:lammer: To być może coś się w F9 zmieniło, bo w F8 nadal jest tak jak pisałem. Co w takim razie kopiowałeś? ;) Przecież miałeś skopiować plik Packages? Nie mogłeś od razu napisać, że tego pliku nie ma? :lol:

 

W takim razie nie reinstaluj. Może ktoś kto ma F9 coś lepszego wymyśli.

 

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się

×
×
  • Dodaj nową pozycję...