(Gelöst) smart nach kill -15 nicht mehr zu starten

Status
Für weitere Antworten geschlossen.

Benno

Member
AW: smart nach kill -15 nicht mehr zu starten

Ja, RPM geht wieder, ich dachte, das geht daraus hervor, dass ich damit smart neu reingebügelt habe. Und hier nochmal die Fehlermeldung schwarz auf weiß:

Code:
Traceback (most recent call last):
  File "/usr/bin/smart", line 194, in ?
    main(sys.argv[1:])
  File "/usr/bin/smart", line 165, in main
    initPlugins()
  File "/usr/lib/python2.4/site-packages/smart/__init__.py", line 170, in initPlugins
    __import__("smart.plugins."+entry[:-3])
  File "/usr/lib/python2.4/site-packages/smart/plugins/channelsync.py", line 200, in ?
    syncChannels(sysconf.get("channel-sync-dir", CHANNELSDIR))
  File "/usr/lib/python2.4/site-packages/smart/plugins/channelsync.py", line 50, in syncChannels
    descriptions = parseChannelsDescription(data)
  File "/usr/lib/python2.4/site-packages/smart/channel.py", line 278, in parseChannelsDescription
    key, value = line.split("=")
ValueError: too many values to unpack
Smart-Version: 0.50 (vor der händischen Installation 0.50rc1)

Ich habe übrigens extra das Signal TERM (also -15) gesendet, um dem Programm die Möglichkeit zu geben, sich ordentlich zu beenden. Ich kille Programme nur dann, wenn anderes nicht mehr geht. Smart reagierte bereits minutenlang nicht mehr.

Ich habe nun Smart mit Yast2 deinstalliert. Mit Yast2 es wieder zu installieren, ging nicht wegen der durch die Fremdpakete erzeugten Abhängigkeitsprobleme. Aber ich hatte bereits das neueste RPM-Paket, das Smart vor seinem Absturz bereits heruntergeladen hatte. Dies habe ich dann mit

Code:
rpm -Uvh smart*
installiert. Nun läuft wieder alles normal. Ich vermute, dass Smart dabei war, etwas ins /var/lib/smart Verzeichnis zu schreiben, als ich es gekillt habe. Das Verzeichnis war dadurch vielleicht für weitere Schreibvorgänge blockiert.

Danke trotzdem für dein geduldiges Fahnden! :)

Gruß

Benno
 

Rain_Maker

Administrator
Teammitglied
AW: smart nach kill -15 nicht mehr zu starten

Kurze Bemerkung.

Ja mir war schon klar, daß dann wohl rpm wieder funktionieren wird, aber denke an Querleser, die nicht so in der Problematik drinstecken wie Du (und teilweise ich).

An dieser Stelle ist man unter Umständen eher verwirrt, weil es eben nicht eindeutig da steht, daß rpm nun wohl wieder funktioniert, weil da vorher ein Prozeß die Datenbank blockiert hatte.

Greetz,

RM
 

Benno

Member
AW: smart nach kill -15 nicht mehr zu starten

OK, lassen wir uns jetzt nicht groß streiten, sondern einfach festhalten, dass ich in diesem Fall smart durch Deinstallation mit Yast und Neuinstallation von Hand (wegen der angemeckerten blockierten Fremdpakete) wieder ans Laufen bekommen habe. Python war nicht beschädigt. Vor dem Neustart hätte ich vielleicht eine Prozessliste posten sollen, um herauszufinden, welcher Prozess die Datenbank blockiert hatte, dann wäre ein Neustart nicht nötig gewesen, und wir hätten gewusst, er der Übeltäter war. Aber ich hatte wie wohl auch du langsam die Faxen dicke. Und ja - klare Ansagen machen es für alle leichter.

Aber jetzt weiß ich wenigstens, dass smart noch ein Verzeichnis in /var/lib hat, wo es wichtige Daten ablegt (z.B. heruntergeladene Pakete). Das war schon nützlich und wird mir das eine oder andere Mal noch nützlich sein.

Asche auf mein Haupt. :eek:

Gruß

Benno
 

Rain_Maker

Administrator
Teammitglied
AW: smart nach kill -15 nicht mehr zu starten

*Ehm*

Streit war nicht der Sinn meiner Bemerkung, aber auch nicht so wichtig.

Wie gesagt (und schon von mir mehrfach geschrieben):

Ich löse Probleme nicht, weil User XYZ ein Problem hat, sondern weil ich ein Problem so lösen will, daß auch andere User nachvollziehen können, wie sie ihr gleiches/ähnliches Problem lösen könnten.

Deshalb ist mir eine möglichst ausführliche und klare Dokumentation der Lösung wichtig.

BTW:

Aber jetzt weiß ich wenigstens, dass smart noch ein Verzeichnis in /var/lib hat, wo es wichtige Daten ablegt (z.B. heruntergeladene Pakete). Das war schon nützlich und wird mir das eine oder andere Mal noch nützlich sein.
Jepp, deshalb war das auch mein erster Gedanke, denn häufig hilft genau das, gerade wenn man smart abgeschossen hatte oder es abgeschmiert ist.

Daß das Problem tiefer lag, konnte man so auf Anhieb nicht sehen und:

Asche auf mein Haupt.
Nö, wozu?

Immerhin kam dieser Satz von Dir:

ich habe den Eindruck, dass irgendetwas mit dem Zwischenspeicher nicht stimmt,
also genau das, was auch meine erste Vermutung war, auch wenn das Problem doch tiefer lag. Du wusstest eben nur nicht _wo_ diese Datei liegt und _wie_ sie heisst.

Deshalb hier ein kleiner Tipp:

Folgender Befehl zeigt an, welche Dateien ein rpm-Paket enthält und welche Verzeichnisse angelegt werden.

Code:
rpm -ql *Paketname*
(q = "query" l = "list") also in diesem speziellen Fall:

Code:
rpm -ql smart

/etc/smart
/etc/smart/channels
/etc/smart/channels/guru.channel
/etc/smart/channels/kde-backports.channel
/etc/smart/channels/kde.channel
/etc/smart/channels/mozilla.channel
/etc/smart/channels/opensuse-non-oss.channel
/etc/smart/channels/opensuse.channel
/etc/smart/channels/packman.channel
/etc/smart/channels/smart.channel
/etc/smart/channels/suse-update.channel
/etc/smart/channels/wine-bs.channel
/usr/bin/smart
/usr/bin/smart-update
/usr/lib/python2.5/site-packages/smart

 ----------snipp-------------


/usr/lib/python2.5/site-packages/smart/util/strtools.py
/usr/lib/python2.5/site-packages/smart/util/strtools.pyc
/usr/lib/python2.5/site-packages/smart/util/tagfile.py
/usr/lib/python2.5/site-packages/smart/util/tagfile.pyc
/usr/lib/smart
/usr/lib/smart/distro.py
/usr/lib/smart/plugins
/usr/share/doc/packages/smart
/usr/share/doc/packages/smart/HACKING
/usr/share/doc/packages/smart/IDEAS
/usr/share/doc/packages/smart/LICENSE
/usr/share/doc/packages/smart/README
/usr/share/doc/packages/smart/README.html
/usr/share/doc/packages/smart/TODO
/usr/share/doc/packages/smart/default.css
/usr/share/doc/packages/smart/smart.8
/usr/share/locale/de/LC_MESSAGES/smart.mo
/usr/share/locale/es_ES/LC_MESSAGES/smart.mo
/usr/share/locale/fr/LC_MESSAGES/smart.mo
/usr/share/locale/it/LC_MESSAGES/smart.mo
/usr/share/locale/pt_BR/LC_MESSAGES/smart.mo
/usr/share/locale/sv/LC_MESSAGES/smart.mo
/usr/share/locale/zh_CN/LC_MESSAGES/smart.mo
/usr/share/man/man8/smart.8.gz
[B]/var/lib/smart[/B]
Bei vielen Paketen empfiehlt sich das "pipen" durch less.

Code:
rpm -ql *Paketname*|less
Wahrscheinlich war eines der python-Module in "/usr/lib/python2.5/site-packages/smart/" zerschossen, aber da das eine ganze Menge sind (bei mir 1860!), war es die einfachste Lösung smart neu zu installieren.

Der Lösungsweg des Problems zeigte auf, was es auch noch alles sein kann und wo man die "Hauptverdächtigen" findet, deshalb ist sie besonders wertvoll, obwohl es nicht direkt an den "Hauptverdächtigen" lag.

Greetz,

RM
 

Benno

Member
AW: smart nach kill -15 nicht mehr zu starten

Vielen Dank nochmal!

Und es ist ja tatsächlich so, dass man mit jedem Problem das System besser kennenlernt, so dass man oft schon eine Idee bekommt, wo man suchen muss.

Gruß

Benno
 
Status
Für weitere Antworten geschlossen.
Oben