PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : apt-get zeigt mir fehlerhafte Abhängigkeiten



obelix
25.04.03, 14:54
Hallo.
Ich setze schon seit längerem apt-get / synaptic - Erfolgreich - bei mir ein. Ich habe damit auch auf KDE 3.1 upgedatet. Alles Prima.

Eines Tages meldete apt-get / synaptic mir, dass zwei von meinen installierten Programmen "Broken dependencies" also fehlerhafte Abhängigikeiten haben. Naja ich hatte mit nicht weiter darum gekümmert, da die betroffenen Programme ja ohne Fehler funktionierten.

Gestern habe ich apt-get / synaptic seit längerem wieder mal aufgerufen und *KREISCH*, alle Programme, die ich mit checkinstall installiert habe sind rot makiert, also Broken dependencies.

Wie kann das sein :confused: :confused: :confused: . Die betroffenen Programme funktionieren ohne Probleme :eek: :eek: :eek:

Jede Aktion die ich nun mit apt-get / synaptik durchführen will, endet damit, dass apt-get / synaptic die defekten Programme deinstallieren möchte *heul*.

Weiß jemand was da schief gelaufen ist?

Schon mal vielen Dank.
Gruß, Obelix

barny
25.04.03, 17:58
Hallo
versuch mal die rpm-Datenbank neu aufzubauen mit rpm --rebuilddb . Hoffe es hilft.

obelix
26.04.03, 15:25
Hallo barny.

Ich war bis eben unterwegs. Ich habe gerade ein rpm --rebuilddb gemacht und es hat leider nichts gebracht. Ich verstehe das nicht, wie das passieren kann?

Gruß, Obelix

Belkira
26.04.03, 16:12
Überprüfe dochmal die Abhängigkeiten beanstandeter Pakete auf der Kommandozeile. Nur daß gibt Dir Sicherheit, was wirklich in der RPM Datenbank verankert ist.

barny
26.04.03, 18:34
Hallo
bevor du jetzt von Belkira's Aufforderung erschlagen wirst hilft dir ein man rpm in die Konsolle oder http://www.fibel.org/lfo-0.5/lfo.html#SECTION021430000000000000000;)

obelix
27.04.03, 09:25
Hallo.
Erstmal vielen Dank.
Ich habe in der Konsole folgendes gemacht:

rpm -V k3b
Nicht erfüllte Abhängigkeiten von k3b-0.8.1-1: libGLcore.so.1

Dies ist auch die Datei, die apt-get / synaptic vermisst. Das Problem ist aber, die Datei ist vorhanden:

locate libGLcore.so.1
/usr/lib/libGLcore.so.1.0.4349
/usr/lib/libGLcore.so.1

libGLcore.so.1 ist ein symbolischer Link auf libGLcore.so.1.0.4349.

Ist das ein Versions Problem?

Gruß, Obelix

Belkira
27.04.03, 11:29
Unterscheide zwischen RPM Datenbank und Dateisystem! Die Dateien mögen ja vorhanden sein, aber sind sie auch in der RPM Datenbank verankert?

rpm -q --whatprovides libGLcore.so.1
rpm -qf /usr/lib/libGLcore


Bei Dir wird sich nicht darüber beschwert, daß die Datei fehlt, sondern daß die Abhängigkeitsüberprüfung in der RPM Datenbank Fehler/Lücken aufzeigt. Sowas entsteht, wenn man z.B. Pakete mit rpm --nodeps installiert und nicht darüber Buch führt.

obelix
27.04.03, 12:33
Hallo Belkira.


rpm -q --whatprovides libGLcore.so.1
Ergebnis: kein Paket stellt libGLcore.so.1 bereit


rpm -qf /usr/lib/libGLcore
Ergebnis: die Datei »/usr/lib/libGLcore.so.1« gehört zu keinem Paket

Kann man dieses Problem manuell beheben oder soll ich mir eine RPM Datei besorgen die diese Datei mitbringt und somit die Abhängigkeit löst?


wenn man z.B. Pakete mit rpm --nodeps installiert und nicht darüber Buch führt.

Diese Option ist mir bewußt - nur habe ich diese noch nicht ausgeführt. Zumindest kann ich mich nicht daran erinnern sie jemals ausgeführt zuhaben.

Gruß, Obelix

obelix
27.04.03, 15:38
Hi.
Jetzt weiß ich wie dieses abhängigkeits Problem entstanden ist. Ich habe letztens den neusten Nvidia Treiber installiert (.run) und der hat die alten Nvidia RPM's deinstalliert. Das Problem ist jetzt, ich finde keinen Weg diese Abhängigkeit zu bedienen :confused:

Gruß Obelix

Belkira
27.04.03, 17:18
Jetzt weiß ich wie dieses abhängigkeits Problem entstanden ist. Ich habe letztens den neusten Nvidia Treiber installiert (.run) und der hat die alten Nvidia RPM's deinstalliert.
Ohne --nodeps wäre das nicht möglich gewesen.

Die Lösung ist banal. Installiere Dir den Nvidia Treiber als RPM. Das löst dann die Abhängigkeiten.

Andernfalls bleibt Dir nur, alle installierten RPMs mit "gebrochenen" Abhängigkeiten zu deinstallieren und sie auch "nur" aus tar.gz zu installieren.

Ich glaube, apt4rpm kann auch manche Pakete/Abhängigkeiten ignorieren. Ich würde sowas aber nicht empfehlen und bevorzuge auch "Yum".

obelix
27.04.03, 17:57
Ohne --nodeps wäre das nicht möglich gewesen.

Ist mir schon klar. Das war dann aber der Nvidia Installer. Yum hört sich interessant an. Nur führt das nicht zu einem Problem, verschieden updater auf einem System installiert zu haben ?
cu
Obelix

obelix
27.04.03, 19:28
Hallo.
Also so einfach wie ich mir das vorgestellt habe geht es nun doch nicht. Ich habe mit --extract-only den Nvidia Treiber entpackt und in diesem Verzeichnis checkinstall aufgerufen. Leider bricht checkinstall die installation mit folgender Meldung ab:

Fehler: unpacking of archive failed on file /proc/sys/kernel/tainted;3eac1f3b: cpio: open failed - Datei oder Verzeichnis nicht gefunden

Gruß, Obelix

Belkira
27.04.03, 19:41
Yum hört sich interessant an. Nur führt das nicht zu einem Problem, verschieden updater auf einem System installiert zu haben ?
An welches Problem hast Du gedacht? ;)

Leider bricht checkinstall
Nvidia bietet doch src.rpm Dateien an.

obelix
27.04.03, 20:15
An welches Problem hast Du gedacht?

Korrupte RPM-Datenbank.


Nvidia bietet doch src.rpm Dateien an.

Aber nur Version 41xx. Von den neueren Treibern habe ich kein src.rpm gefunden.

barny
27.04.03, 20:46
Hallo
dann deinstallier deinen neueren , dann wieder den alten und dann denn alten rpm -e nvidia. Uff, viell Spass:D

Belkira
27.04.03, 20:57
Korrupte RPM-Datenbank.
Da komm ich jetzt nicht mit. :confused: Wie und warum sollte Deine RPM Datenbank kaputtgehen? Die geht doch auch nicht kaputt, wenn Du Updates manuell mit "rpm" einspielst. Ob nun up2date Pakete aus dem Netz lädt und mit rpm installiert oder ob das apt4rpm oder Yum erledigt, wo ist der Unterschied? Es gibt genügend User, die installieren alle ihre Updates mit rpm -Fvh *.rpm.

obelix
27.04.03, 21:01
Hi.

dann deinstallier deinen neueren , dann wieder den alten und dann denn alten rpm -e nvidia. Uff, viell Spass

Ich glaube nicht das es so einfach ist. Wenn ich den alten mit rpm -e nvidia deinstalliere, bekomme ich mit Sicherheit abhängigkeits Meldungen. Deshalb wurde der alte mit --nodeps vom nvidia Installer deinstalliert.

Ich vermute mal ich muß bei dem alten Treiber bleiben, bzw. wie Belkira oben geschrieben hat:

Andernfalls bleibt Dir nur, alle installierten RPMs mit "gebrochenen" Abhängigkeiten zu deinstallieren und sie auch "nur" aus tar.gz zu installieren.

Hmm - checkinstall ist irgendwie doch net so der Hit. In Zukunft werde ich mir wohl besser die entpackten Sourcen zum deinstallieren der betroffenen Software aufheben und checkinstall nicht mehr verwenden:rolleyes:

Gruß, Obelix

obelix
27.04.03, 21:03
Original geschrieben von Belkira
Da komm ich jetzt nicht mit. :confused: Wie und warum sollte Deine RPM Datenbank kaputtgehen? Die geht doch auch nicht kaputt, wenn Du Updates manuell mit "rpm" einspielst. Ob nun up2date Pakete aus dem Netz lädt und mit rpm installiert oder ob das apt4rpm oder Yum erledigt, wo ist der Unterschied? Es gibt genügend User, die installieren alle ihre Updates mit rpm -Fvh *.rpm.
War nur so eine Vermutung und wenn ich noch mal darüber nachdenke - wohl nicht passend.

barny
27.04.03, 21:26
Hallo
yum gibts hier http://www.linux.duke.edu/projects/yum/ Da steht dann
Q. Why not just use apt-rpm?
A. a number of reasons:

1. apt determines dependencies etc then it runs: rpm -i --nodeps --noorder [bunch of stuff here]
* that's messy
* that limits simultaneous erases and installs
* am I the only one who shudders at the system call being made for its MAJOR operation? Na, was soll das denn heissen? Schlechte Werbung oder ist das was dran?

obelix
27.04.03, 22:40
Hallo barny.

Na, was soll das denn heissen? Schlechte Werbung oder ist das was dran?
Das möchte ich auch gerne mal wissen.
Gruß, Obelix

Belkira
03.05.03, 22:32
yum gibts hier http://www.linux.duke.edu/projects/yum/ Da steht dann Na, was soll das denn heissen? Schlechte Werbung oder ist das was dran?
Bei Zweifel schau einfach in den Source oder nimm "ps".

Es ist in der Tat etwas dran, denn apt4rpm enthält Code, der --nodeps beim Installieren oder Löschen von Paketen automatisch aktiviert, wenn auch nur irgendwie Schwierigkeiten auftreten. Der Normalfall scheint jedoch -Uvh --oldpackage --noorder zu sein. Ob --noorder so geschickt ist, hängt davon ab, ob apt4rpm die Pakete selbst sortiert.

Ich muß zustimmen, daß mir solche Sachen nicht gefallen. Yum setze ich ein, weil das Pflegen von lokalen Repositories wesentlich bequemer ist, als mit apt4rpm.

obelix
04.05.03, 10:04
Wunderbar, wieder was gelernt :)

barny
04.05.03, 11:17
Hallo
erstmal Danke @Belkira
@Obelix
http://www.linuxforen.de/forums/showthread.php?s=&postid=435653#post435653 bevor du ein Problem haben solltest :D

obelix
04.05.03, 12:17
Hi.
Danke @Belkira und @barny
Gruß, Obelix