Portál AbcLinuxu, 10. srpna 2025 14:26


Dotaz: Problém s nefunkčním yum a rpm na Fedora Core

Zdenek.Z avatar 29.10.2006 11:16 Zdenek.Z | skóre: 14
Problém s nefunkčním yum a rpm na Fedora Core
Přečteno: 178×
Odpovědět | Admin
Zdravim.

Zničeho nic mi přestal fungovat yum a rpm na Fedora Core 5 a teď i na 6.

Problém: při jakémkoliv použití rpm nebo yum se program zasekne. Přikládám výpis konce strace a adresáře /var/lib/rpm. Pomůže jediné zabití devítkou.

Díky za jakékoliv rady. Případně dotazy zodpovím.

Výpis:
stat64("/", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/var/", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/var/lib/", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/var/lib/rpm", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
access("/var/lib/rpm", W_OK)            = 0
access("/var/lib/rpm/__db.001", F_OK)   = 0
access("/var/lib/rpm/Packages", F_OK)   = 0
open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/messages.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US.utf8/LC_MESSAGES/messages.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US/LC_MESSAGES/messages.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.UTF-8/LC_MESSAGES/messages.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.utf8/LC_MESSAGES/messages.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/messages.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/proc/stat", O_RDONLY)            = 3
fstat64(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb79bc000
read(3, "cpu  833795 57319 262930 7495076"..., 4096) = 715
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0xb79bc000, 4096)                = 0
stat64("/var/lib/rpm/DB_CONFIG", 0xbfe92c4c) = -1 ENOENT (No such file or directory)
open("/var/lib/rpm/DB_CONFIG", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
stat64("/var/lib/rpm/__db.001", {st_mode=S_IFREG|0644, st_size=24576, ...}) = 0
open("/var/lib/rpm/__db.001", O_RDWR|O_LARGEFILE) = 3
fcntl64(3, F_SETFD, FD_CLOEXEC)         = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=24576, ...}) = 0
close(3)                                = 0
open("/var/lib/rpm/__db.001", O_RDWR|O_LARGEFILE) = 3
fcntl64(3, F_SETFD, FD_CLOEXEC)         = 0
mmap2(NULL, 24576, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0) = 0xb79b7000
close(3)                                = 0
futex(0xb79b7000, FUTEX_WAIT, 2, NULL 
                                      ^^^ TADY SE TO ZASEKNE


[root@m252d ~]# ll /var/lib/rpm/
total 65744
-rw-r--r-- 1 rpm  rpm  10498048 Oct 24 01:20 Basenames
-rw-r--r-- 1 rpm  rpm     12288 Oct 23 22:34 Conflictname
-rw-r--r-- 1 root root        0 Oct 23 22:33 __db.000
-rw-r--r-- 1 root root    24576 Oct 23 22:32 __db.001
-rw-r--r-- 1 root root  1318912 Oct 23 22:32 __db.002
-rw-r--r-- 1 root root   450560 Oct 23 22:32 __db.003
-rw-r--r-- 1 rpm  rpm   1937408 Oct 24 01:20 Dirnames
-rw-r--r-- 1 rpm  rpm  10498048 Oct 24 01:20 Filemd5s
-rw-r--r-- 1 rpm  rpm     28672 Oct 24 01:20 Group
-rw-r--r-- 1 rpm  rpm     28672 Oct 24 01:20 Installtid
-rw-r--r-- 1 rpm  rpm     81920 Oct 24 01:20 Name
-rw-r--r-- 1 rpm  rpm  45797376 Oct 24 01:20 Packages
-rw-r--r-- 1 rpm  rpm    643072 Oct 24 01:20 Providename
-rw-r--r-- 1 rpm  rpm    122880 Oct 24 01:20 Provideversion
-rw-r--r-- 1 rpm  rpm     12288 Sep 30 01:18 Pubkeys
-rw-r--r-- 1 rpm  rpm    450560 Oct 24 01:20 Requirename
-rw-r--r-- 1 rpm  rpm    274432 Oct 24 01:20 Requireversion
-rw-r--r-- 1 rpm  rpm    155648 Oct 24 01:20 Sha1header
-rw-r--r-- 1 rpm  rpm     81920 Oct 24 01:20 Sigmd5
-rw-r--r-- 1 rpm  rpm     12288 Oct 17 19:46 Triggername
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Zdenek.Z avatar 29.10.2006 11:24 Zdenek.Z | skóre: 14
Rozbalit Rozbalit vše Re: Problém s nefunkčním yum a rpm na Fedora Core
Odpovědět | | Sbalit | Link | Blokovat | Admin
Doplnění: Na FC5 pomohl reboot, který jsem dělal z jiného důvodu (jinak bych to taky nemohl upgradovat na FC6 :-)). Ale tohle "řešení" bych viděl až jako poslední vzhledem k tomu, že mi ten stroj teď dočasně slouží jako server pro pár lidí.

Jo a zjistil jsem, že na FC6 už se zasekne jen yum, aspoň rpm -q už funguje, ale to mi je zase k ničemu :-)
29.10.2006 11:45 Dušan Hokův | skóre: 43 | blog: Fedora a další...
Rozbalit Rozbalit vše Re: Problém s nefunkčním yum a rpm na Fedora Core
Odpovědět | | Sbalit | Link | Blokovat | Admin
zkuste yum clean all
Zdenek.Z avatar 29.10.2006 12:37 Zdenek.Z | skóre: 14
Rozbalit Rozbalit vše Re: Problém s nefunkčním yum a rpm na Fedora Core
Bohužel:
# yum clean all
Loading "installonlyn" plugin
a konec. Přepínač --noplugins taky nepomůže. Opět se to zasekne na stejném místě.

Zkoušel jsem ještě rpm -rebuilddb, co jsem našel v manu, ale zase to skončí na futex(0xb7d32b70, FUTEX_WAIT, 2, NULL
Zdenek.Z avatar 29.10.2006 12:46 Zdenek.Z | skóre: 14
Rozbalit Rozbalit vše Re: Problém s nefunkčním yum a rpm na Fedora Core
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nový poznatek. Když dám rpm --rebuilddb, tak se mi v /var/lib objeví adresář rpmrebuilddb.PID s obsahem:
# ll rpmrebuilddb.2709/
total 40
-rw-r--r-- 1 root root   24576 Oct 29 12:40 __db.001
-rw-r--r-- 1 root root 1318912 Oct 29 12:40 __db.002
-rw-r--r-- 1 root root   12288 Oct 29 12:40 Packages
Takže by možná mohlo být něco s některým ze souborů __db.*, když se tam nedostanou všechny 4 z původního adresáře /var/lib/rpm. Ale netuším co a jak to napravit. lsof /var/lib/rpm/* zádný proces, který by je měl otevřený neukáže.
29.10.2006 13:00 Zdenek
Rozbalit Rozbalit vše Re: Problém s nefunkčním yum a rpm na Fedora Core
Smazte ty __db.* a udelejte ten rpm --rebuilddb.
Zdenek.Z avatar 29.10.2006 13:02 Zdenek.Z | skóre: 14
Rozbalit Rozbalit vše Re: Problém s nefunkčním yum a rpm na Fedora Core
Díky, přesně to fungovalo. :-)
Zdenek.Z avatar 29.10.2006 13:01 Zdenek.Z | skóre: 14
Rozbalit Rozbalit vše Re: Problém s nefunkčním yum a rpm na Fedora Core
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tak jsme nakonec řešení přecejen vygooglil. Tak pokud to někomu pomůže:
The dead rpm you killed left behind locks in its databases. rm -f /var/lib/rpm/__db* and it should work again.
No a pak rpm --rebuilddb (nevím, jestli to je nutné, ale neuškodilo to :-))

PS: Ne, netrpím samomluvou. :-)
29.10.2006 13:02 Zdenek
Rozbalit Rozbalit vše Re: Problém s nefunkčním yum a rpm na Fedora Core
Skoda, ze jsem se sem dostal pozde :)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.