yast-Problem auf einer 64-bit Installation
Ich habe auf einem Server die 64-bit-Variante von opensuse 11 installiert. Soweit funktionierte auch alles, bis ich mich von einem anderen Rechner per ssh anmeldete und auf dem Server mittels yast die Netzwerkkartenkonfiguration zu ändern. yast stürzte ab. Ich habe die entsprechenden Prozesse (yast und ssh-Sitzung) gekillt. Seitdem meldet yast bei jedem Aufruf eines 'Untermoduls' (also noch nicht beim Start von yast selbst): cat: write error: Broken pipe Änderungen, die ich im yast vornehme, werden augenscheinlich ausgeführt - mit Ausnahme von Netzwerkeinstallungen. Ich muss nach Beendigung des yast immer noch ein ifup eth0 hinterherschießen, damit die Netzwerkkarte wieder erwacht. Der Fehler ist im Übrigen reproduzierbar: Wenn ich mich von einem anderen Rechner per ssh anmelde, dann mit yast die Netzwerkeinstellungen ändere (andere Module wie Online-Update usw. funktionieren), stürzt yast ab und reißt die ssh-Verbindung mit sich in den Orkus. Die einschlägigen Logdateien ergeben keinerlei Hinweise. Michael -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo Michael, ich denke yast hält das Netwerk kurz an und startet es neu - mit den Änderungen => ssh ist weg. Grüße Max
-----Ursprüngliche Nachricht----- Von: Michael Woyde [mailto:suselist@technik.bildung-lsa.de] Gesendet: Dienstag, 16. September 2008 15:40 An: opensuse-de@opensuse.org Betreff: yast-Problem auf einer 64-bit Installation
Ich habe auf einem Server die 64-bit-Variante von opensuse 11 installiert. Soweit funktionierte auch alles, bis ich mich von einem anderen Rechner per ssh anmeldete und auf dem Server mittels yast die Netzwerkkartenkonfiguration zu ändern. yast stürzte ab. Ich habe die entsprechenden Prozesse (yast und ssh-Sitzung) gekillt. Seitdem meldet yast bei jedem Aufruf eines 'Untermoduls' (also noch nicht beim Start von yast selbst): cat: write error: Broken pipe
Änderungen, die ich im yast vornehme, werden augenscheinlich ausgeführt - mit Ausnahme von Netzwerkeinstallungen. Ich muss nach Beendigung des yast immer noch ein ifup eth0 hinterherschießen, damit die Netzwerkkarte wieder erwacht.
Der Fehler ist im Übrigen reproduzierbar: Wenn ich mich von einem anderen Rechner per ssh anmelde, dann mit yast die Netzwerkeinstellungen ändere (andere Module wie Online-Update usw. funktionieren), stürzt yast ab und reißt die ssh-Verbindung mit sich in den Orkus.
Die einschlägigen Logdateien ergeben keinerlei Hinweise.
Michael
-- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
-- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Tuesday 16 September 2008 15:39:41 schrieb Michael Woyde:
Ich habe auf einem Server die 64-bit-Variante von opensuse 11 installiert. Soweit funktionierte auch alles, bis ich mich von einem anderen Rechner per ssh anmeldete und auf dem Server mittels yast die Netzwerkkartenkonfiguration zu ändern. yast stürzte ab. Ich habe die entsprechenden Prozesse (yast und ssh-Sitzung) gekillt. Seitdem meldet yast bei jedem Aufruf eines 'Untermoduls' (also noch nicht beim Start von yast selbst): cat: write error: Broken pipe
Änderungen, die ich im yast vornehme, werden augenscheinlich ausgeführt - mit Ausnahme von Netzwerkeinstallungen. Ich muss nach Beendigung des yast immer noch ein ifup eth0 hinterherschießen, damit die Netzwerkkarte wieder erwacht.
Der Fehler ist im Übrigen reproduzierbar: Wenn ich mich von einem anderen Rechner per ssh anmelde, dann mit yast die Netzwerkeinstellungen ändere (andere Module wie Online-Update usw. funktionieren), stürzt yast ab und reißt die ssh-Verbindung mit sich in den Orkus.
Die einschlägigen Logdateien ergeben keinerlei Hinweise.
Michael
Hallo Michael, wenn yast die Netzwerkverbindung kappt, auf der Du mit ssh angemeldet bist, ist der Ast weg, auf dem Du sitzt. Die Netzwerkschnittstelle, über die Du gerade verbunden bist, kann nun mal nicht neu konfiguriert werden, ohne die Verbindung zu verlieren. Jede andere Netzwerkschnittstelle kann natürlich neu konfiguriert werden, aber vermutlich nicht mit yast; ich glaube yast macht da ein 'rcnetwork restart' und davon sind alle Netzwerkschnittstellen betroffen. Alternativ kann man mit einem Editor die entsprechende Konfigurationsdatei der Schnittstelle in /etc/sysconfig/network editieren und mit ifdown <schnittstelle> und ifup <schnittstelle> neu starten. Bei der Schnittstelle aber, über die Du verbunden ist, funktioniert so aber nur der ifdown, weil danach die Verbindung weg ist. Abhilfe könnte da ein kleines Script schaffen, dass man mit 'nohup script <schnittstelle> &' startet. Durch das nohup wird das Skript bei der Ausführung vom login-tty (Login-Terminal, hier ein Pseudo-Terminal) getrennt und nicht durch das NOHUP-Signal beendet. Wenn die Verbindung wegbricht (durch das ifdown ausgelöst), erzeugt das Pseudo-Terminal, das zu Deinem Login gehört, für alle mit ihm verbundenen Prozesse ein NOHUP-Signal. Das dient dazu, dass keine toten Prozesse übrig bleiben, wenn so etwas geschieht. Z.Bsp. könnte dieses kleine Skript so aussehen (einfach gehalten) ------- #!/bin/sh ifdown $1 ifup $1 ------- Aufgrufen wird es dann z. Bsp. durch nohup script eth0 & Die Verbindung fliegt Dir trotzdem weg, aber die Schnittstelle wird neu gestartet. Tschö, Emil -- Registered Linux User since 19940320 -------------------------------------------------- Emil Stephan, Marktplatz 39, 53773 Hennef, Germany voice: +49-2242-84438 Accelerate Windows: 9.81 m/sec^2 would be adequate -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Emil Stephan schrieb: > wenn yast die Netzwerkverbindung kappt, auf der Du mit ssh angemeldet bist, > ist der Ast weg, auf dem Du sitzt. Schon klar, aber eben zu kurz geschossen. Wenn ich die IP-Adresse ändere, ist das logischerweise so. Wenn ich aber bspw. nur Einstellungen beim zuständigen DNS-Server anpasse, darf die Verbindung natürlich nicht abbrechen - was sie auch auf anderen Rechnern (mit anderen opensuse-Versionen) nicht tut. > ... Vielleicht habe ich das eigentliche Problem auch in meinem Eingangsposting nicht genau genug beschrieben (außerdem habe ich mal noch ein wenig mehr probiert), daher nochmal: So ist der Fehler entstanden: - von einem Rechner (32-bit opensuse 11) aus per ssh auf einem frisch installierten Server (64-bit opensuse 11) angemeldet, dort yast gestartet und einen anderen Nameserver eingestellt - Wenn die Einstellungen geschrieben werden, stürzt yast reproduzierbar ab und auch die ssh-Verbindung ist unterbrochen. Direkt an der Serverkonsole kann man feststellen, dass eth0 down ist. Erst ein ifup eth0 löst das Problem wieder. Seitdem meldet yast bei jedem Aufruf eines 'Untermoduls' (also noch nicht beim Start von yast selbst): cat: write error: Broken pipe oder eben die germanische Entsprechung: cat: Schreibfehler: Datenübergabe unterbrochen (broken pipe) Frage also: Was will cat hier schreiben und warum geht es nicht? Weiter ist es nun so, dass yast IMMER eth0 abschaltet, sobald etwas an den Netzwerkeinstellungen geändert wurde (getestet mit Änderung des Nameservers und Änderung des gateways), auch wenn man diese direkt an der Serverkonsole macht. Erst ein Aufruf von ifup eth0 bzw. ein erneutes Aufrufen von yast -> Netzwerkeinstellungen -> Beenden behebt das Problem wieder. Die Fehlermeldung vom cat erscheint aber immer noch jedes Mal. Die Logdateien sagen nichts aus: Nachdem yast blockiert, gibt es keine Meldung in den messages. Wenn an der Serverkonsole ifup eth0 erfolgte, sagt /var/log/messages folgendes: Sep 17 10:30:08 XXXX ifup: eth0 device: Intel Corporation 82541GI Gigabit Ethernet Controller (rev 05) Sep 17 10:30:08 XXXX kernel: ADDRCONF(NETDEV_UP): eth0: link is not ready Sep 17 10:30:08 XXXX kernel: e1000: eth0: e1000_watchdog: NIC Link is Up 100 Mbps Full Duplex, Flow Control: RX/TX Sep 17 10:30:08 XXXX kernel: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready Sep 17 10:30:08 XXXX SuSEfirewall2: SuSEfirewall2 not active Sep 17 10:30:18 XXXX kernel: eth0: no IPv6 routers present Abschließend vielleicht noch: Soweit ich mich entsinnen kann, trat der Fehler nicht von Beginn an auf. Ich habe die erste Konfiguration direkt an der Serverkonsole gemacht und danach auch von einer älteren opensuse-Maschine per ssh - ohne Probleme. Erst nachdem die ssh - yast Kombination von einer opensuse11 Station aus einmal zusammengebrochen ist, tritt die cat Fehlermeldung auf und die Ethernetkonfiguration ist quasi nicht mehr von Ferne aus möglich. Michael -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Wednesday 17 September 2008 10:39:38 schrieb Michael Woyde:
Emil Stephan schrieb:
wenn yast die Netzwerkverbindung kappt, auf der Du mit ssh angemeldet bist, ist der Ast weg, auf dem Du sitzt.
Schon klar, aber eben zu kurz geschossen. Wenn ich die IP-Adresse ändere, ist das logischerweise so. Wenn ich aber bspw. nur Einstellungen beim zuständigen DNS-Server anpasse, darf die Verbindung natürlich nicht abbrechen - was sie auch auf anderen Rechnern (mit anderen opensuse-Versionen) nicht tut.
...
Vielleicht habe ich das eigentliche Problem auch in meinem Eingangsposting nicht genau genug beschrieben (außerdem habe ich mal noch ein wenig mehr probiert), daher nochmal: So ist der Fehler entstanden: - von einem Rechner (32-bit opensuse 11) aus per ssh auf einem frisch installierten Server (64-bit opensuse 11) angemeldet, dort yast gestartet und einen anderen Nameserver eingestellt - Wenn die Einstellungen geschrieben werden, stürzt yast reproduzierbar ab und auch die ssh-Verbindung ist unterbrochen. Direkt an der Serverkonsole kann man feststellen, dass eth0 down ist. Erst ein ifup eth0 löst das Problem wieder.
Seitdem meldet yast bei jedem Aufruf eines 'Untermoduls' (also noch nicht beim Start von yast selbst): cat: write error: Broken pipe oder eben die germanische Entsprechung: cat: Schreibfehler: Datenübergabe unterbrochen (broken pipe)
Frage also: Was will cat hier schreiben und warum geht es nicht?
Weiter ist es nun so, dass yast IMMER eth0 abschaltet, sobald etwas an den Netzwerkeinstellungen geändert wurde (getestet mit Änderung des Nameservers und Änderung des gateways), auch wenn man diese direkt an der Serverkonsole macht. Erst ein Aufruf von ifup eth0 bzw. ein erneutes Aufrufen von yast -> Netzwerkeinstellungen -> Beenden behebt das Problem wieder. Die Fehlermeldung vom cat erscheint aber immer noch jedes Mal.
Die Logdateien sagen nichts aus: Nachdem yast blockiert, gibt es keine Meldung in den messages.
Wenn an der Serverkonsole ifup eth0 erfolgte, sagt /var/log/messages folgendes: Sep 17 10:30:08 XXXX ifup: eth0 device: Intel Corporation 82541GI Gigabit Ethernet Controller (rev 05) Sep 17 10:30:08 XXXX kernel: ADDRCONF(NETDEV_UP): eth0: link is not ready Sep 17 10:30:08 XXXX kernel: e1000: eth0: e1000_watchdog: NIC Link is Up 100 Mbps Full Duplex, Flow Control: RX/TX Sep 17 10:30:08 XXXX kernel: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready Sep 17 10:30:08 XXXX SuSEfirewall2: SuSEfirewall2 not active Sep 17 10:30:18 XXXX kernel: eth0: no IPv6 routers present
Abschließend vielleicht noch: Soweit ich mich entsinnen kann, trat der Fehler nicht von Beginn an auf. Ich habe die erste Konfiguration direkt an der Serverkonsole gemacht und danach auch von einer älteren opensuse-Maschine per ssh - ohne Probleme. Erst nachdem die ssh - yast Kombination von einer opensuse11 Station aus einmal zusammengebrochen ist, tritt die cat Fehlermeldung auf und die Ethernetkonfiguration ist quasi nicht mehr von Ferne aus möglich.
Michael
Hallo Michael, das riecht danach, dass yast sich irgendwas gemerkt hat. Schau mal in /tmp nach, ob sich da Verzeichnisse von yast befinden und räume die ab. Vielleicht ist es ja sowas. Tschö, Emil -- Registered Linux User since 19940320 -------------------------------------------------- Emil Stephan, Marktplatz 39, 53773 Hennef, Germany voice: +49-2242-84438 Accelerate Windows: 9.81 m/sec^2 would be adequate -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Emil Stephan schrieb:
... das riecht danach, dass yast sich irgendwas gemerkt hat.
Scheinbar hatten wir die gleichen Gedanken... Ich habe nun, in Ermangelung anderer Ideen, den Server nochmal neu installiert (war ja eh' fast noch nichts drauf). uuuund: Der Fehler ist wieder da! Also: Wenn ich yast aufrufe und dort dann bspw. das Untermodul Netzwerkeinstellungen, erscheint wieder die Meldung: cat: write error: Broken pipe Mittlerweile glaube ich an einen echten Bug im yast - beschrieben hat den allerdings noch keiner irgendwo. Und ein Fehler dieser Art im yast sollte ja schon jemandem aufgefallen sein - ich bin kurz davor, die opensuse11 als 'buggy beta' in die Tonne zu werfen. Hat vielleicht irgendwer eine Idee, was cat dort schreiben will und warum das nicht geht? Michael -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Dienstag 16 September 2008 15:39:41 schrieb Michael Woyde:
Soweit funktionierte auch alles, bis ich mich von einem anderen Rechner per ssh anmeldete und auf dem Server mittels yast die Netzwerkkartenkonfiguration zu ändern. yast stürzte ab. Ich habe die entsprechenden Prozesse (yast und ssh-Sitzung) gekillt.
Hallo, so wie ich ssh verstehe, hast Du an der Verbindung mit der Du gerade aufm Server angemeldet warst die Netzwerkkonfiguration versucht zu ändern. Das kann nicht funktionieren. Vorher hat es ja auch funktioniert. Das liegt bestimmt nicht an Suse. Vorschlag: Auf dem Server alles an Netzwerkkarten eliminieren und die Netzwerkkarte neu konfigurieren. Tschau Thomas
Seitdem meldet yast bei jedem Aufruf eines 'Untermoduls' (also noch nicht beim Start von yast selbst): cat: write error: Broken pipe
Änderungen, die ich im yast vornehme, werden augenscheinlich ausgeführt - mit Ausnahme von Netzwerkeinstallungen. Ich muss nach Beendigung des yast immer noch ein ifup eth0 hinterherschießen, damit die Netzwerkkarte wieder erwacht.
Der Fehler ist im Übrigen reproduzierbar: Wenn ich mich von einem anderen Rechner per ssh anmelde, dann mit yast die Netzwerkeinstellungen ändere (andere Module wie Online-Update usw. funktionieren), stürzt yast ab und reißt die ssh-Verbindung mit sich in den Orkus.
Die einschlägigen Logdateien ergeben keinerlei Hinweise.
Michael
-- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Thomas Schirrmacher schrieb:
so wie ich ssh verstehe, hast Du an der Verbindung mit der Du gerade aufm Server angemeldet warst die Netzwerkkonfiguration versucht zu ändern. Das kann nicht funktionieren. Funktionieren tut dies schon. Natürlich bricht die Verbindung zusammen, wenn man bspw. die IP-Adresse ändert, ist klar. Allerdings sollte die Verbindung nicht abbrechen, wenn nur der Nameserver-Eintrag geändert wird - und sie bricht ja auf anderen Rechnern auch nicht zusammen.
Vielleicht ist dir die Fortsetzung meiner Tests entgangen: Ich habe den Server nochmals komplett neu aufgesetzt - der Fehler ist sofort auf einer frischen Installation wieder da, auch wenn ich direkt an der Konsole am Server arbeite. Meine neueste Theorie ist: opensuse11 verträgt sich nicht 100%ig mit den Netzwerkkarten des Dell PowerEdge 2850. Eine Installation auf einem HP ProLiant-Server läuft problemlos. Ich werde nun also mal nachschauen, ob die suse vllt. nur nicht die passenden Netzwerkkartentreiber ausgewählt hat - ich werde das Ergebnis meiner Nachforschungen melden. Der Dell-Server verhielt sich übrigens mit einer opensuse10.2 noch völlig normal. Wenn mir nun noch jemand mitteilen würde, woher diese bl&%§$ Fehlermeldung: cat: write error: Broken pipe kommt, wäre mir schon etwas weiter geholfen. Was versucht yast hier? Michael -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, 19.09.2008 06:52, Michael Woyde wrote: ...
Vielleicht ist dir die Fortsetzung meiner Tests entgangen: Ich habe den Server nochmals komplett neu aufgesetzt - der Fehler ist sofort auf einer frischen Installation wieder da, auch wenn ich direkt an der Konsole am Server arbeite. Meine neueste Theorie ist: opensuse11 verträgt sich nicht 100%ig mit den Netzwerkkarten des Dell PowerEdge 2850. Eine Installation auf einem HP ProLiant-Server läuft problemlos. Ich werde nun also mal nachschauen, ob die suse vllt. nur nicht die passenden Netzwerkkartentreiber ausgewählt hat - ich werde das Ergebnis meiner Nachforschungen melden.
Klingt irgendwie unwahrscheinlich, schliesslich scheint das Netzwerk ja letztlich zu funktionieren... aber Erkenntnisse darüber wären natürlich schon interessant :-)
Der Dell-Server verhielt sich übrigens mit einer opensuse10.2 noch völlig normal. Wenn mir nun noch jemand mitteilen würde, woher diese bl&%§$ Fehlermeldung: cat: write error: Broken pipe kommt, wäre mir schon etwas weiter geholfen. Was versucht yast hier?
Ich weiss es nicht. Aber wenn du es rausbekommen willst solltest du dem yast mal mit strace zu Leibe rücken. Arno
Michael
-- Arno Lehmann IT-Service Lehmann Sandstr. 6, 49080 Osnabrück www.its-lehmann.de -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (5)
-
Arno Lehmann
-
Emil Stephan
-
Maximilian Steinbauer
-
Michael Woyde
-
Thomas Schirrmacher