• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

ungelöste paketabhängigkeiten nach unvolständigem update

hallo leute. Ich habe über apt einen update auf meinem rechner (suse 10.0) laufen lassen, doch bei dem paket glibc ist er abgestürzt.

Nach dem Neustart lief nichts mehr stabil:
1. regelmäßige abstürze, nach 1 bis 3 stunden (manchmal auch wenige als 30min)
2. kann keine neuen programme installieren, weder über apt, noch yast.
2.1 yast: ungelöste abhängigkeiten. einige pakete müssen "downgegraded" werden, doch yast findet keine quellen

ich habe versucht das upgrade erneut zu starten, doch es erscheinen fehlermeldungen wie:

Code:
this package won't be cleanly updated, unless you leave only one version. To leave multiple versions installed, you may remove that warning by setting the following option in your configuration file:

RPM::Allow-Duplicated {"^glib2-devel$";};
To disable these warning completely set:
RPM::Allow-Duplicated-Warning "false";

das selbe zeigt er auch mit vielen anderen paketen, wie deltarpm, openssl, sudbomain. . . an

Was ich schon versucht habe:
-> RPM::Allow-Duplicated-Warning "false"; <- in die apt.conf datei reingeschrieben
-> apt-get --fix-broken install
-> reparatur durch die suse dvd - bei der partitionsüberprüfung wurden fehler festgestellt, doch suse-reparatur konnte diese nicht aufheben/korrigieren - ist dann auch abgestürzt :(



PS: die fehlermeldung habe ich abgetippt, da ich zur zeti gar nicht ins system komme. daher wäre sehr nett, wenn mir jemand sagen könnte, wie ich das problem schnell behebe

Danke im voraus. Mfg
DonBilbo84
 

Leu

Member
Hallo,

vielleicht hilft es Dir mal in meinen Thread zu schauen, der genau unter Deinem steht. Das Problem scheint mir ähnlich zu sein.

Gruß, Leu
 
Leu, die beiden Probleme sind nicht ganz gleich.

Bei Dir war die Transaktion ja abgeschlossen (es blieb zwar ein Mix mehrerer X.org-Versionen übrig, aber RPM-Datenbank-mäßig war alles OK).

Hier ist es nochmal anders, weil das System während der Transaktion abgestürzt ist. Deswegen stehen jetzt mehrere Pakete doppelt in der RPM-Datenbank.

Das ist noch mal eine Kategorie härter ;) Lösung: Doppelt installierte Pakete ausfindig machen und dafür sorgen, dass von jedem nur noch eine Version installiert ist.

Problem: Ich kenne keinen Befehl, der alle doppelt installierten Pakete auflistet. Wenn jemand einen kennt, immer nur her damit.
 
traffic schrieb:
[...] Wenn jemand einen kennt, immer nur her damit.
Auf die schnelle zusammengebastelt (ungetestet): :?
Code:
rpm -qa > alle_rpms.txt;
for i in `rpm -qa | sort -u`; do N=`grep -c "$i" alle_rpms.txt`; if [ $N -gt 1 ]; then echo $i; fi; done;
 
OP
D

DonBilbo84

Newbie
Vielen dank leute, für die schnellen Antworten.
rpm -qa > alle_rpms.txt;
so wie ich es verstanden habe, wird eine datei alle_rpms.txt mit allen rpm-Paketen angelegt.

Was macht aber
for i in `rpm -qa | sort -u`; do N=`grep -c "$i" alle_rpms.txt`; if [ $N -gt 1 ]; then echo $i; fi; done;
Da der Rechner noch nicht leuft, musste ich alles abtippen. Beim Ausführen bleibt er mittendrin stehen. Zuvor wurden folgende Meldungen ausgegeben:

Code:
error: rpmdbNextIterator: skipping h# 1426 Header SHA1 digest: Bad Expected(dc9.....) != (10a7c.....)

Und das zeigt ziemlich oft an, mit anderen Zahlen.
Werden alle rpm-Pakete (also auch die doppelten) bei dem ersten Befehl in die Datei alle_rpms.txt eingetragen?

Gruß DonBilbo84
 
Die RPM-Datenbank ist kaputt.

Probier mal
Code:
rpm --rebuilddb
Danach:
Code:
rpm -qa > /tmp/alle_rpms.txt
Und dann den Inhalt der Datei /tmp/alle_rpms.txt hier hochladen:

http://pastebin.com/
 
Und wo bleibt die URL? Die wäre sehr nützlich...

Und "rpm --rebuilddb" hast Du auch ausgeführt? Nicht auslassen.
 
Danke für die URL ;)

So wie ich das sehe, sind folgende Pakete mehrfach installiert:

deltarpm-3.2-2
deltarpm-3.3-0.1

glib2-devel-2.8.1-3
glib2-devel-2.8.5-23

hal-0.5.4-6
hal-0.5.4-6.2
hal-0.5.4-6.4

hal-devel-0.5.4-6
hal-devel-0.5.4-6.2

krecord-1.16-8
krecord-1.16-8.2

libgnomecups-0.2.1-4
libgnomecups-0.2.2-0.2

mozilla-nspr-4.6.2-3
mozilla-nspr-4.6-3

netpbm-10.26.12-5
netpbm-10.26.12-5.2

openssl-0.9.7g-2
openssl-0.9.7g-2.4

perl-5.8.7-5
perl-5.8.7-5.3

subdomain-utils-1.2-21_imnx_suse
subdomain-utils-1.2-23_imnx_suse

Also deinstallier mit rpm (nicht mit apt) jeweils eine bzw. bei hal zwei Versionen, bis von jedem Paket nur noch eine Version übrig ist.

Zum Beispiel:
Code:
rpm -e deltarpm-3.2-2
rpm -e glib2-devel-2.8.1-3
rpm -e hal-0.5.4-6
rpm -e hal-0.5.4-6.2
rpm -e hal-devel-0.5.4-6
rpm -e krecord-1.16-8
rpm -e libgnomecups-0.2.1-4
rpm -e mozilla-nspr-4.6-3
rpm -e netpbm-10.26.12-5
rpm -e openssl-0.9.7g-2
rpm -e perl-5.8.7-5
rpm -e subdomain-utils-1.2-21_imnx_suse
Lösch außerdem sämtlichen RPM::Allow-Duplicated-Kram aus der apt-Konfiguration - Warnungen abschalten ist genau die falsche Richtung.

Jetzt müsstest Du zumindest schon mal wieder Pakete installieren können. Danach würde ich zur Sicherheit die übriggebliebene Version jedes der oberen Pakete nochmal drüberinstallieren.

Was die allgemeine Systeminstabilität angeht: Das ist eine andere Geschichte, vielleicht erledigt sie sich mit dieser Säuberungsaktion, vielleicht aber auch nicht.
 
OP
D

DonBilbo84

Newbie
bei dem paket hal-0.5.4-6.2 gab es aber probleme. es wird von hal-devel-0.5.4-6.2 benötigt. kann ich einfach beide löschen.

als ich apt update eingegeben habe, wurde nur noch wegen "^hal$" gemeckert.
 
Du kannst entweder hal-devel ganz löschen oder die zu hal-devel passende hal-Version drauf lassen.

Variante 1:
Code:
rpm -e --allmatches hal-devel
rpm -e hal-0.5.4-6
rpm -e hal-0.5.4-6.2
Variante 2:
Code:
rpm -e hal-devel-0.5.4-6
rpm -e hal-0.5.4-6
rpm -e hal-0.5.4-6.4
Such Dir eine aus...
 
OP
D

DonBilbo84

Newbie
so, ich hatte die pakete gelöscht und dann versucht neuzustarten, doch der computer wurde nicht ganz fertig, so dass ich reset-button drücken musste. Dann gab es einige probleme mit meiner 3. (home->ex2) und 4. (work->ext2) partition. Ich habe fsck.ext2 /dev/hda3 laufen lassen (wie sonst immer auch), doch an einer stelle ist er nie weiter gekommen (war nicht abgestürzt, machte aber keine aktionen).

Code:
code: 04 51 89 d1 89 da e8 7c 2d 0b 00 89 c6 . . .d5 8b 7c 24
<1> fixing recursive fault but reboot is needed!

ich musste wieder reseten, wieder fsck, wieder reseten. . .. Und nun hab ich grub error 17 fehlermldung.
 
Oben