как восстановить базу инсталлятора "yum"

Cent OS, Scientific Linux

Модератор: Модераторы разделов

Аватара пользователя
trnd
Сообщения: 19
ОС: suse, ubuntu, fedora, mandriva

как восстановить базу инсталлятора "yum"

Сообщение trnd »

в процессе инсталляции пакетов с помощью программы из меню "applications" под "гномом" которая называется "Add/Remove Software" этот инсталлятор внезапно завершился и после этого слетела база данных пакетов у "yum"а - вот как это выглядит:

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

[root@localhost ~]# yum install stellerium
Loading "installonlyn" plugin
rpmdb: PANIC: fatal region error detected; run recovery
error: db4 error(-30977) from dbenv->open: DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index using db3 -  (-30977)
error: cannot open Packages database in /var/lib/rpm
Traceback (most recent call last):
  File "/usr/bin/yum", line 29, in ?
    yummain.main(sys.argv[1:])
  File "/usr/share/yum-cli/yummain.py", line 85, in main
    base.getOptionsConfig(args)
  File "/usr/share/yum-cli/cli.py", line 199, in getOptionsConfig
    errorlevel=opts.errorlevel)
  File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 125, in doConfigSetup
    self.conf = config.readMainConfig(startupconf)
  File "/usr/lib/python2.4/site-packages/yum/config.py", line 597, in readMainConfig
    vars['releasever'] = _getsysver(startupconf.installroot, startupconf.distroverpkg)
  File "/usr/lib/python2.4/site-packages/yum/config.py", line 656, in _getsysver
    idx = ts.dbMatch('provides', distroverpkg)
TypeError: rpmdb open failed
[root@localhost ~]#


а также:

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

[root@localhost ~]# rpm -q yum
rpmdb: PANIC: fatal region error detected; run recovery
error: db4 error(-30977) from dbenv->open: DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index using db3 -  (-30977)
error: cannot open Packages database in /var/lib/rpm
package yum is not installed
[root@localhost ~]#


как видно программа просит запустить для восстановления "recovery" - но вот вопрос что это за команда и какой должен быть синтаксис ??? я просмотрел help по yum-у и rpm-у, но опции "--recover" не нашёл - подскажите как вылечить слетевшую базу.
windows must die linux forever
Спасибо сказали:
kirkir
Сообщения: 472
ОС: Fedora

Re: как восстановить базу инсталлятора "yum"

Сообщение kirkir »

yum clean all
не помогает?
Спасибо сказали:
Аватара пользователя
INF[SZ]
Сообщения: 395
ОС: Centos

Re: как восстановить базу инсталлятора "yum"

Сообщение INF[SZ] »

Я не понял Вашего вопроса, но я Вам на него отвечу.
Спасибо сказали:
mnemo
Сообщения: 2
ОС: RedHat

Re: как восстановить базу инсталлятора "yum"

Сообщение mnemo »

помогите плиззз у такая же проблема почти выдает такую ощибку

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

# yum update
Loaded plugins: security
Traceback (most recent call last):
  File "/usr/bin/yum", line 29, in ?
    yummain.user_main(sys.argv[1:], exit_code=True)
  File "/usr/share/yum-cli/yummain.py", line 309, in user_main
    errcode = main(args)
  File "/usr/share/yum-cli/yummain.py", line 178, in main
    result, resultmsgs = base.doCommands()
  File "/usr/share/yum-cli/cli.py", line 345, in doCommands
    self._getTs(needTsRemove)
  File "/usr/lib/python2.4/site-packages/yum/depsolve.py", line 101, in _getTs
    self._getTsInfo(remove_only)
  File "/usr/lib/python2.4/site-packages/yum/depsolve.py", line 112, in _getTsInfo
    pkgSack = self.pkgSack
  File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 661, in <lambda>
    pkgSack = property(fget=lambda self: self._getSacks(),
  File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 501, in _getSacks
    self.repos.populateSack(which=repos)
  File "/usr/lib/python2.4/site-packages/yum/repos.py", line 260, in populateSack
    sack.populate(repo, mdtype, callback, cacheonly)
  File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 168, in populate
    if self._check_db_version(repo, mydbtype):
  File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 226, in _check_db_version
    return repo._check_db_version(mdtype)
  File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 1229, in _check_db_version
    repoXML = self.repoXML
  File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 1392, in <lambda>
    repoXML = property(fget=lambda self: self._getRepoXML(),
  File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 1384, in _getRepoXML
    self._loadRepoXML(text=self)
  File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 1374, in _loadRepoXML
    return self._groupLoadRepoXML(text, ["primary"])
  File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 1358, in _groupLoadRepoXML
    if self._commonLoadRepoXML(text):
  File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 1204, in _commonLoadRepoXML
    result = self._getFileRepoXML(local, text)
  File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 985, in _getFileRepoXML
    cache=self.http_caching == 'all')
  File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 816, in _getFile
    result = self.grab.urlgrab(misc.to_utf8(relative), local,
  File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 506, in <lambda>
    grab = property(lambda self: self._getgrab())
  File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 501, in _getgrab
    self._setupGrab()
  File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 486, in _setupGrab
    ssl_context = self._getSslContext())
  File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 646, in _getSslContext
    sslCtx.load_cert(self.sslclientcert, self.sslclientkey)
  File "/usr/lib64/python2.4/site-packages/M2Crypto/SSL/Context.py", line 72, in load_cert
    m2.ssl_ctx_use_cert(self.ctx, certfile)
M2Crypto.SSL.SSLError: No such file or directory
[root@Fonon-Srv-Oracle firuz]# rpm  --replacepkgs yum-3.2.29-6.fc15.src.rpm
rpm: only installation, upgrading, rmsource and rmspec may be forced
Спасибо сказали:
Аватара пользователя
Vascom
Сообщения: 1699
ОС: Fedora 32

Re: как восстановить базу инсталлятора "yum"

Сообщение Vascom »

Версия Дистрибутива какая?
Спасибо сказали:
x-Range
Сообщения: 83
ОС: Fedora 15, CentOS 5.6

Re: как восстановить базу инсталлятора "yum"

Сообщение x-Range »

У меня была такая проблема, когда я жестко кильнул процесс yum'а (killаll -9 yum), не советую никому так больше делать)
Проблема решилась простым ребутом с последующим yum clean all.
Спасибо сказали: