SVN: PLD-doc/book/pl_book__pakiety/pl_pakiety__zaawansowane.sec
qwiat
qwiat w pld-linux.org
Pon, 2 Paź 2006, 01:13:42 CEST
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>
Więcej informacji o liście dyskusyjnej pld-doc