Re: Jak odzyskać pliki tndb w /etc/vservers/.defaults/cachebase/poldek?

Jacek Osiecki josiecki at silvercube.pl
Sat Jan 30 20:23:09 CET 2016


Wiadomość napisana przez Paweł A. Gajda <mis w pld-linux.org> w dniu 30 sty 2016, o godz. 00:27:
> Jestem całkiem pewny, ze rpmdbcache nie jest potrzebny, jest generowany z
> bazy rpm-a. Co więcej odtworzenie go jest rozwiązaniem na krótką metę - np.
> po użyciu vrpma (poza poldkiem) do (de)instalacji, poldek będzie próbował
> go zregenerować.

… i jak u rabina: miałeś rację i nie miałeś :)
cache nie jest potrzebny, ale jest potrzebny gdy jest coś nie tak z bazą.

> Jeżeli jednak się upierasz że jest, to:
> 
> $ mkdir /tmp/var/lib/rpm
> $ cp  /vservers/.pkg/ko-python/rpm/state/* /tmp/var/lib/rpm
> $ poldek --root /tmp --cachedir /tmp/foo -s /tmp

i to mnie naprowadziło, bo znowu miałem tak:

błąd: open /tmp/packages.ndir.md: Nie ma takiego pliku ani katalogu
powiadomienie: próbuję odczytać katalog /tmp/...
Wczytywanie [dir]/tmp/...
uwaga: nie załadowano żadnych pakietów
błąd: nie można otworzyć indeksu Packages(0): Nie ma takiego pliku ani katalogu(2)
	DB: Berkeley DB 5.2.42: (February 29, 2012)
błąd: //tmp/var/lib/rpm: nie można otworzyć rpmowej bazy
Przerwane

NO BEZ JAJ

Odpaliłem ze strace i szukam tego Packages… TU CIĘ MAM!

open("/vservers/lo-python/.rpmdb/Packages", O_RDONLY) = -1 ENOENT (No such file or directory)

Kiedyś ta wirtualka nazywała się lo-python…
No to szybko:

root w juliett /tmp/var/lib/rpm> grep -l lo-python *
__db.001
__db.003

I wszystko jasne.
Wystarczyło:
rm /vservers/.pkg/ko-python/rpm/state/__db*
rpm --dbpath /vservers/.pkg/ko-python/rpm/state —rebuilddb

i już wystarczyło odpalić vpoldek ko-python. Lista pakietów jest prawidłowa, wszystko bangla, cache odbudowany :)

Czyli dziwne jest tylko to, że rpm -qa potrafił pokazać listę pakietów, ale już cokolwiek innego korzystało z __db.00[13] i
zaczynało szukać pliku Packages gdzieś w pigułach.

Dzięki za naprowadzenie!

Pozdrawiam,
-- 
Jacek Osiecki
josiecki w silvercube.pl

Silvercube s.c.
ul. Makuszynskiego 4
31-752 Kraków
+48 (12) 684 21 00





More information about the pld-devel-pl mailing list