PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : System gegen Paketdatenbank prüfen



smartysmart34
29.11.10, 17:44
Hallo zusammen,

gibt es eine Möglichkeit mittels Yast2 oder zypper ein laufendes System gegen die Repository-Datenbank auf defekte Installationen (Files corrupt...) zu prüfen?
Also nicht ob die Pakete an sich installiert sind, sondern ob alle durch die Pakete gelieferten Dateien auch korrekt auf der Platte stehen?

Ich hate neulich etwas Filesystem-strubbel und würde jetzt am liebsten yast drüber laufen und prüfen lassen, ob auch alle Files aus der Dateiliste am richtigen Ort korrekt stehen.

Geht das?

Danke und Gruß,
Martin

ThorstenHirsch
29.11.10, 18:28
Die Frage finde ich gut und würde sie gerne um deb-basierte Distributionen und Archlinux ergänzen - also kann man sowas mit aptitude/apt-get/..., bzw. pacman bewerkstelligen?

Mal prinzipiell gefragt - sind in den Paketen überhaupt die checksums der einzelnen Dateien enthalten oder gibt's in den deb/rpm-Paketen nur eine checksum, die die Integrität der kompletten deb/rpm bestimmt? Wenn's nämlich keine checksums für die einzelnen Dateien gibt, bleibt wohl nur, alle Pakete bspw. mit "aptitude reinstall" drüber zu bügeln.

cane
29.11.10, 18:47
bleibt wohl nur, alle Pakete bspw. mit "aptitude reinstall" drüber zu bügeln.

War jetzt auch meine erste Idee :)

mfg
cane

TheGhost
29.11.10, 18:52
Hi,
ich verwende pacman-g2 von Frugalware als PM für mein LFS und der erstellt für jedes Paket eine eigene chksum. Ist das Paket korrupt dann meldet pacman-g2 das.
Von allen Paketen im Repo wird eine Datenbank erstellt die bei jedem Update auch eine aktualisierte Chksum bekommt.
Um die Paketdatenbank oder einzelne Pakete auf Vollständigkeit zu überprüfen hat pacman-g2 einige Optionen.
So zeigt "pacman-g2 -Qt <Paketname>" beispielsweise an ob das Paket komplett ist oder irgendwas fehlt.

Wie sich das bei anderen PM verhält weiß ich nicht, denke aber das rpm oder dpkg auch sowas haben sollten.

Gruß

gropiuskalle
29.11.10, 19:21
Mal prinzipiell gefragt - sind in den Paketen überhaupt die checksums der einzelnen Dateien enthalten oder gibt's in den deb/rpm-Paketen nur eine checksum, die die Integrität der kompletten deb/rpm bestimmt?

Meines Wissens nach wird nur die checksum des heruntergeladenen Pakets geprüft, nicht die der daraus entpackten und installierten Dateien (Du kannst rpm ja mal beim Arbeiten über die Schulter schauen, ein 'rpm -Uhvvv' ist schon recht ausführlich). Ein Service, die der angefragten Funktion entspricht, ist mir auch nicht bekannt - man könnte höchstens die checksummen des selbstverständlich vorhandenen backups zur Hand nehmen und diese dann vergleichen, aber das wäre natürlich völliger Quatsch.

Ich glaube auch, dass man da nur drüberbügeln kann.

Edit: TheGhost, die von Dir dargestellte Funktion bezieht sich aber auch nur auf die noch nicht installierten Pakete, oder?

Rain_maker
29.11.10, 19:31
Also
man rpmist da in Bezug auf die "verify"-Optionen sehr gesprächig.

drcux
29.11.10, 19:43
Jepp, RPM kann das recht gut:


detlef-pc:~ # rpm -V MPlayer
...nix...

detlef-pc:~ # mcedit /usr/share/doc/packages/MPlayer/README
(Ein Buchstaben geändert)

detlef-pc:~ # rpm -V MPlayer
..5....T. d /usr/share/doc/packages/MPlayer/README

gemerkt. ;)

ThorstenHirsch
29.11.10, 20:16
Sieht gut aus. Aber bei dpkg scheint's sowas nicht zu geben. :(

drcux
29.11.10, 20:33
http://www.debian.org/doc/manuals/debian-reference/ch-package.de.html#s-debsums

TheGhost
29.11.10, 21:06
@ gropiuskalle,
ja, ist richtig, bezieht sich auf Pakete aus dem Repo.
Ob Möglichkeiten bestehen installierte Dateien zu überprüfen muss ich mir mal genauer ansehen. Insofern vergesst mein Posting vorerst :-)
Gruß

oziris
01.12.10, 01:00
So i herd u liek mudkipz?

dpkg-deb --fsys-tarfile /var/cache/apt/archives/xosd-bin_2.2.14-1.6_i386.deb | tar -dpC /

michel_vaclav
01.12.10, 19:05
Ich behelfe mir in so einem Fall mit der Möglichtkeit in Yast, alle Pakete zwingend zu aktualisieren, unabhängig ob es eine neuere Version im Netz gibt.

Dauert zwar lange, danach war ja jedes Mal alles wieder in Ordnung, soweit ich vorher Fehler entdeckt hatte.

michel_vaclav

traffic
22.12.10, 22:46
"rpm -Va" verifiziert alle Pakete in einem Rutsch.

Ein paar falsche Treffer gibt es immer, weil Konfigurationsdateien geändert werden und dann natürlich nicht mehr mit der Checksumme in der Datenbank übereinstimmen. Das sieht man der Ausgabe dann aber auch an. Im Zweifelsfall einfach hier posten.