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

smart updates funktionieren nicht

pospiech

Hacker
Bei einem Update beliebiger Pakete über smart erhalte ich folgende Fehlermeldung:

Code:
Traceback (most recent call last):

  File "/usr/lib/python2.4/site-packages/smart/interfaces/gtk/interactive.py", line 171, in callback
    exec code in globals

  File "<callback>", line 1, in ?

  File "/usr/lib/python2.4/site-packages/smart/interfaces/gtk/interactive.py", line 415, in applyChanges
    if self._ctrl.commitTransaction(transaction, confirm=confirm):

  File "/usr/lib/python2.4/site-packages/smart/control.py", line 464, in commitTransaction
    return self.commitChangeSet(trans.getChangeSet(), caching, confirm)

  File "/usr/lib/python2.4/site-packages/smart/control.py", line 506, in commitChangeSet
    caching)

  File "/usr/lib/python2.4/site-packages/smart/control.py", line 592, in fetchPackages
    os.makedirs(localdir)

  File "/usr/lib/python2.4/os.py", line 159, in makedirs
    mkdir(name, mode)

OSError: [Errno 17] Die Datei existiert bereits: '/var/lib/smart/packages/'

mit der ich nicht viel anfangen kann.

Die Dateien müssen schon in /var/lib/smart/packages/ existieren, da dies von einem zentralen Rechner gemounted wird damit die Updates nur einmal geladen werden müssen.

Bitte um Hilfe.
 

Mc_Gyver

Newbie
Hy!
Installiere smart noch einmal.
Zuerst smart,dann smart gui.
Bei mir hats geholfen.

EDIT
Zuerst noch rpm --rebuilddb
 
OP
P

pospiech

Hacker
Mc_Gyver schrieb:
Hy!
Installiere smart noch einmal.
Zuerst smart,dann smart gui.
Ein unendlich laufendes rekursives Problem:
Updates funktionieren nicht -> Update das Updateprogramm -> Updates funktionieren nicht -> ...

Ich habe die yum Sachen alle deinstalliert weil sie mich genervt haben.
Abgesehen davon empfinde ich es als Zumutung ein zentrales Adminprogramm neu installieren zu müssen weil es sich zerschossen hat.

Falls es daher eine Lösung anders als 'smart neu installieren' gäbe fände ich das toll.

Matthias
 
pospiech schrieb:
Abgesehen davon empfinde ich es als Zumutung ein zentrales Adminprogramm neu installieren zu müssen weil es sich zerschossen hat.
Wenn Du mit smart nicht klarkommst, dann benutz es einfach nicht, und wenn Du mit den Zumutungen insgesamt nicht klarkommst, dann benutz sie alle einfach nicht :D

Falls Du nicht nur klagen, sondern Dein Problem lösen willst, dann poste bitte die Ausgabe des Befehls
Code:
ls -l /var/lib/smart/packages
PS: "rpm --rebuilddb" kannst Du gerne machen, daran liegt es allerdings nicht. Und Du kannst smart gerne auch neu installieren, daran liegt es allerdings ebenfalls nicht.
 
OP
P

pospiech

Hacker
Nach einem Ausführen von
Code:
smart config --set rpm-check-signatures=false
rpm --rebuilddb
bekomme ich nun die Fehlermeldung

Code:
Traceback (most recent call last):

  File "/usr/lib/python2.4/site-packages/smart/interfaces/gtk/interactive.py", line 340, in <lambda>
    lambda x, y: self.actOnPackages(y))

  File "/usr/lib/python2.4/site-packages/smart/interfaces/gtk/interactive.py", line 497, in actOnPackages
    if self.confirmChange(self._changeset, changeset, expected):

  File "/usr/lib/python2.4/site-packages/smart/interfaces/gtk/interface.py", line 164, in confirmChange
    return self._changes.showChangeSet(changeset, keep=keep, confirm=True)

  File "/usr/lib/python2.4/site-packages/smart/interfaces/gtk/changes.py", line 188, in showChangeSet
    size = report.getInstallSize() - report.getRemoveSize()

  File "/usr/lib/python2.4/site-packages/smart/report.py", line 200, in getRemoveSize
    size = info.getInstalledSize()

  File "/usr/lib/python2.4/site-packages/smart/backends/rpm/header.py", line 87, in getInstalledSize
    return self._h[rpm.RPMTAG_SIZE]

  File "/usr/lib/python2.4/site-packages/smart/backends/rpm/header.py", line 58, in __get__
    obj._h = obj._loader.getHeader(obj._package)

  File "/usr/lib/python2.4/site-packages/smart/backends/rpm/header.py", line 581, in getHeader
    return mi.next()

StopIteration

Falls Du nicht nur klagen, sondern Dein Problem lösen willst, dann poste bitte die Ausgabe des Befehls
Code:
ls -l /var/lib/smart/packages
Natürlich suche ich eine Lösung. Klagen tue ich nur aus Frust.

Code:
ls -l /var/lib/smart/packages
lrwxrwxrwx 1 root root 20 2006-07-16 20:04 /var/lib/smart/packages -> /mnt/smart/packages/

Sarah:/home/sarah # ls -l /mnt/smart/packages/ | more
insgesamt 1043448
-rw-r--r-- 1 root root     30405 2006-07-20 16:01 3ddiag-0.735-1.6.i586.rpm
-rw-r--r-- 1 root root    120932 2006-03-18 18:15 a52dec-0.7.4-3.pm.1.i586.rpm
-rw-r--r-- 1 root root  41688500 2006-06-28 19:26 acroread-7.0.8-0.4.i586.rpm
-rw-r--r-- 1 root root  12059807 2006-05-20 01:11 amarok-1.4.0_2.0-2.guru.suse101.i686.
rpm
-rw-r--r-- 1 root root  12460609 2006-06-19 08:40 amarok-1.4.1_0.1-1.guru.suse101.i686.
rpm
-rw-r--r-- 1 root root  12529852 2006-07-09 12:21 amarok-1.4.1-32.1.i586.rpm
-rw-r--r-- 1 root root    123549 2006-05-20 01:11 amarok-helix-1.4.0_2.0-2.guru.suse101

usw.

PS: "rpm --rebuilddb" kannst Du gerne machen, daran liegt es allerdings nicht. Und Du kannst smart gerne auch neu installieren, daran liegt es allerdings ebenfalls nicht.
schön zu wissen...

Wenn Du mit smart nicht klarkommst, dann benutz es einfach nicht
Das ist nun wirklich nicht hilfreich und bietet mir keine Lösung. Und es bin nicht ich der etwas falsch gemacht hat (nach bisherigem Wissen), sondern smart das mir Fehlermeldungen liefert.

Neue Hinweise sind gerne willkommen.

Matthias
 
pospiech schrieb:
Das ist nun wirklich nicht hilfreich und bietet mir keine Lösung.
Sehr schade, wirklich.

Lass mal bitte dieses allgemeine "das ist nun wirklich nicht hilfreich"-Lamentieren weg und lös das Problem entweder alleine oder im Forum, aber nicht beides, d.h. bitte nicht selbst irgendwelche Sachen machen und dann im Forum schreiben, dass die Hinweise nicht hilfreich seien.

Was Du mit "smart config --set rpm-check-signatures=false" erreichen willst, ist mir zwar nicht klar und warum Du die "yum Sachen alle deinstalliert" hast auch nicht, das hat nämlich beides nichts mit Deinem Problem zu tun, aber OK...

Aktionismus halt.
pospiech schrieb:
Und es bin nicht ich der etwas falsch gemacht hat
Hm, schlechte Voraussetzungen, um das Problem zu lösen, es stimmt nämlicht nicht :D

Ursache der Fehlermeldung aus dem ersten Posting: /var/lib/smart/packages muss ein Verzeichnis sein, ist bei Dir aber ein Symlink.

Lösung:
Code:
rm -rf /var/lib/smart/packages
mkdir -p /var/lib/smart/packages
Ansonsten: Der ganze Aktionismus, d.h. die relativ planlosen Dinge, die Du in Eigenregie gemacht hast in der Annahme, sie würden das Problem lösen, sind möglicherweise kontraproduktiv. Vielleicht wäre es keine schlechte Idee, mal komplett von vorne anzufangen, d.h. sämtliche Einstellungen zurückzusetzen:
Code:
rm -rf /var/lib/smart
mkdir -p /var/lib/smart
Natürlich nicht während smart noch läuft. D.h. alle Instanzen beenden, /var/lib/smart löschen, als Verzeichnis neu erstellen und dann weitermachen.
 
OP
P

pospiech

Hacker
traffic schrieb:
Lass mal bitte dieses allgemeine "das ist nun wirklich nicht hilfreich"-Lamentieren weg und lös das Problem entweder alleine oder im Forum, aber nicht beides, d.h. bitte nicht selbst irgendwelche Sachen machen und dann im Forum schreiben, dass die Hinweise nicht hilfreich seien.
Alles was ich gemacht habe war Hinweise aus diesem Thread zu folgen!

traffic schrieb:
Was Du mit "smart config --set rpm-check-signatures=false" erreichen willst, ist mir zwar nicht klar
Muss ich alles verstehen ? Es war ein hier gegebener Hinweis !

traffic schrieb:
und warum Du die "yum Sachen alle deinstalliert" hast auch nicht, das hat nämlich beides nichts mit Deinem Problem zu tun, aber OK...
Weil mir der Update Deamon davon bei jedem Starten den Rechner lahmgelegt hat. Und du hast Recht es hat mit diesem Problem nichts zu tun.

traffic schrieb:
pospiech schrieb:
Und es bin nicht ich der etwas falsch gemacht hat
Hm, schlechte Voraussetzungen, um das Problem zu lösen, es stimmt nämlicht nicht :D
Sagen wir es anderns. Bei dem letzten Aufruf von smart ging noch alles und jetzt nicht mehr. Und ich wüsste nicht was dazwischen passiert sein sollte. Aus meiner Sicht ist es daher nicht nachzuvollziehen.

Ursache der Fehlermeldung aus dem ersten Posting: /var/lib/smart/packages muss ein Verzeichnis sein, ist bei Dir aber ein Symlink.
Jetzt muss ich fast schmunzeln. Ich wollte eine lokalen Updateserver für smart haben - und genau das was ich gemacht habe ist hier im Forum als Lösung gepostet worden. Der Tadel sollte daher nicht an mich gehen.

Lösung:
Code:
rm -rf /var/lib/smart/packages
mkdir -p /var/lib/smart/packages
Mag sein. Aber ich suche eigentlich eine Lösung bei der alle Pakete nur auf einem Rechner liegen. Ein entfernen des Links und erstellen eines lokalen Verzeichnisses hat auch keine Lösung gebracht.

Ansonsten: Der ganze Aktionismus, d.h. die relativ planlosen Dinge, die Du in Eigenregie gemacht hast in der Annahme, sie würden das Problem lösen, sind möglicherweise kontraproduktiv.
Bezweifle ich ja gar nicht. Nur was soll ich aus den Fehlermeldungen lesen ? Also wenden ich mich an ein Forum wie dieses. Dass die hier geschilderten Lösungvorschläge vielleicht nicht helfen ist aber nicht meine Schuld.

Ich habe jetzt den Cache /var/lib/smart/cache gelöscht und jetzt läuft smart wieder. Und der Link auf eine NFS Share funktioniert auch genauso wie zuvor.

Aber warum der Fehler kam, das weiß ich natürlich immer noch nicht.

Matthias
 

oc2pus

Ultimate Guru
pospiech schrieb:
...
Ursache der Fehlermeldung aus dem ersten Posting: /var/lib/smart/packages muss ein Verzeichnis sein, ist bei Dir aber ein Symlink.
Jetzt muss ich fast schmunzeln. Ich wollte eine lokalen Updateserver für smart haben - und genau das was ich gemacht habe ist hier im Forum als Lösung gepostet worden. Der Tadel sollte daher nicht an mich gehen.

dann solltest du mal dein "Oberlehrerhaftes" Getue ablehgen und RICHTIG lesen ...
der symlink bezieht sich auf das gesamte verzsichnis /var/lib/smart ....

Und wenn du die Weisheit mit Löffeln gefressen hast, dann schreibe du doch zukünftig die HOWTOs :mrgreen:
 
OP
P

pospiech

Hacker
oc2pus schrieb:
dann solltest du mal dein "Oberlehrerhaftes" Getue ablehgen und RICHTIG lesen ...
Schön das mir hier mehrfach vorgeworfen wird nicht kooperativ zu handeln. Außer das ich einmal meinen Frust geäußert habe habe ich nur die Fehlermeldungen und Tätigkeiten gepostet. Das ich smart nicht im Detail verstehe sehe ich nicht als notwendig an, den das kann man - aus meiner Sicht - nicht von jedem Linuxnutzer erwarten.
Installiert habe ich smart über die verfügbaren Howtos und es lief bislang problemlos.

oc2pus schrieb:
der symlink bezieht sich auf das gesamte verzsichnis /var/lib/smart ....
wo ist das zu erkennen ? Der Link geht nur auf /var/lib/smart/packages.

oc2pus schrieb:
Und wenn du die Weisheit mit Löffeln gefressen hast, dann schreibe du doch zukünftig die HOWTOs :mrgreen:
Wenn dem so wäre würde ich kaum hier Fragen stellen und vielleicht auch selber Howtos schreiben - was ich in anderen Bereichen (als gerade smart) auch durchaus tue.

Weitere konstruktive Kritik gerne willkommen.

Matthias
 
pospiech schrieb:
traffic schrieb:
Was Du mit "smart config --set rpm-check-signatures=false" erreichen willst, ist mir zwar nicht klar
Muss ich alles verstehen ? Es war ein hier gegebener Hinweis !
Ein mit Bezug auf GPG-Signaturen gegebener Hinweis. Dein (möglicherweise inzwischen gelöstes) Problem ist aber kein GPG-Signatur-Problem.

(Nur für die Akten: "smart config --set rpm-check-signatures=false" bitte nur bei Problemen mit GPG-Signaturen machen und auch dann nur, wenn man wirklich vom Problem betroffen ist; nach neuesten Erkenntnissen betrifft das Problem nämlich nur Systeme mit rpm-4.1, nicht aber Systeme mit rpm-4.4).
 
Oben