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