Author: qwiat
Date: Mon Oct 2 01:12:18 2006
New Revision: 7836
Modified:
PLD-doc/book/pl_book__pakiety/pl_pakiety__zaawansowane.sec
Log:
- dodanie rozdzialu o naprawianiu bazy RPM
Modified: PLD-doc/book/pl_book__pakiety/pl_pakiety__zaawansowane.sec
==============================================================================
--- PLD-doc/book/pl_book__pakiety/pl_pakiety__zaawansowane.sec (original)
+++ PLD-doc/book/pl_book__pakiety/pl_pakiety__zaawansowane.sec Mon Oct 2
01:12:18 2006
@@ -58,4 +58,37 @@
<screen># poldek --reinstall --pset
pakiety.txt</screen>
</para>
</section>
+ <section id="pl_pakiety__zaawansowane_naprawa-bazy">
+ <title>Naprawa bazy RPM</title>
+ <para>
+ System pakietów RPM opiera się na bazie w
postaci plików
+ przechowywanych w katalogu
<filename>/var/lib/rpm</filename>.
+ Nagłe przerwanie pracy programu, który na niej
operował
+ może zaowocować błędami w jej strukturze.
+ Na początek należy się upewnić, że żaden z
+ procesów nie operuje na bazie:
+ <screen># lsof | grep /var/lib/rpm</screen>
+ jeśli nie wyświetlą nam się żadne informacje to
+ możemy usunąć pliki blokad, łatwo je rozpoznamy,
+ gdyż zaczynają się od <literal>__db</literal>
+ <screen># rm -f /var/lib/rpm/__db*</screen>
+ Teraz możemy spróbować czy sytuacja się
poprawiła,
+ jeśli nie to musimy spróbować przebudować bazę.
+ Zaczynamy od wykonania kopii bezpieczeństwa:
+ <screen># tar -czf rpm.tar.gz
/var/lib/rpm/</screen>
+ następnie wydajemy polecenia przebudowania:
+ <screen># rpm --rebuilddb</screen>
+ W większości wypadków ta operacja pomoże nam
+ odzyskać bazę, może się jednak zdarzyć, że
+ odtworzy nam się tylko jej część. Do
oszacowania
+ strat konieczne będzie utworzenie listy
pakietów w bazie:
+ <screen># rpm -qa</screen>
+ Kiedy ustalimy listę brakujących pozycji,
+ najłatwiejszym sposobem dodania brakujących
+ wpisów będzie instalacja pakietów z opcją
+ <option>--justdb</option>, powodującą jedynie
+ modyfikowanie bazy RPM.
+ </para>
+ </section>
+
</section>
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit