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

[solved] collectNWData hat mit OpenSuSE 13.1 Probleme

framp

Moderator
Teammitglied
Dieses ist ein Splitoff von diesem Beitrag. Details zum Thema auch hier.

Nachdem mir freundlicherweise verschiedene Logs zur Analyse Verfügung gestellt wurden habe ich folgendes rausgefunden:

OpenSuSE benutzt ab 13.1 den PredictableNetworkSupport und damit sind die Netzwerkinterfacenamen nicht mehr wlan... bzw eth... sondern gehorchen anderen Gesetzen. Ausserdem sind alle Konfigurationsdateien in /etc/sysconfig/network zu den Interfaces jetzt nur noch als root lesbar.
Die Umstellung den Interfacenamen ist die eine Sache. Wesentlich blöder ist der auf root eingeschränkte Zugriff auf die Konfigdateien, denn dadurch ist die Analysefunktion als normaler Benutzer ziemlich eingeschränkt. Es gibt nun zwei Möglichkeiten das zu lösen:

1) Es werden Fehlermeldungen geschrieben wenn die Konfigs nicht gelesen werden köennen und die Analyse ist sehr reduziert. Der Aufrufer muss dann entscheiden ob er es noch einmal als root aufrufen will.
2) Es wird generell erzwungen das Script als root aufzurufen bei openSuSE.

Mit beiden Lösungen bin ich nicht zufrieden. Ich möchte deshalb mal in die Runde fragen wie Ihr dazu steht bzw ob Ihr noch andere Lösungsansätze seht.
 
A

Anonymous

Gast
Mir sind seit der Einführung von systemd 2 Projekte komplett um die Ohren geflogen.
Bei mir ist der Ofen aus, keine Unterstützung für Systeme mit systemd. Seit dem verbringe ich zwar mehr Zeit mit Buildservice als ich Zeit zu programmieren haben, damit ich meinen "Kunden" aktuelle Pakete für ihre Systeme zur Verfügung stellen kann, aber lebe ruiger.

robi
 
OP
framp

framp

Moderator
Teammitglied
War mir nicht klar das systemd mit PredictableNetworkSupport zusammenhängt.
 

spoensche

Ultimate Guru
Bezüglich der Interfacenamen:

Die Interfacename kannst du dir mit
Code:
ip -f inet -o a s
in einer einzigen Zeile anzeigen lassen und hast die IP des jeweiligen Interfaces direkt mit dabei.
Ich würde bei den Sachen, die root Rechte erfordern, dies in der Ausgabe vermerken.
 
A

Anonymous

Gast
framp schrieb:
War mir nicht klar das systemd mit PredictableNetworkSupport zusammenhängt.
Wenn man haufenweise Konfigurationsdateien im System und in der initrd gleichzeitig haben muss, und nicht sicher gestellt ist, das diese immer identisch sind, und man nach der initrd die udev database im initramfs nicht löscht und aus Zeitersparnis nicht neu aufsetzt, kommt sonst sowas raus.
http://www.linux-club.de/viewtopic.php?f=86&t=117903
genau das ist das Problem das damit gelöst worden ist. Funktioniert hätte das vorher wohl auch schon, nur jetzt ist es befehlsmäßig gleich mal default so. Verkauft hat man es aber nicht mit der wirklich treffenden Erklärung warum es mit systemd vermehrt zu Problemen mit ständig und unberechenbar wechselnden Interfacenamen kommen konnte, sondern:
The classic naming scheme for network interfaces applied by the kernel is to simply assign names beginning with "eth0", "eth1", ... to all interfaces as they are probed by the drivers. As the driver probing is generally not predictable for modern technology this means that as soon as multiple network interfaces are available the assignment of the names "eth0", "eth1" and so on is generally not fixed anymore and it might very well happen that "eth0" on one boot ends up being "eth1" on the next. This can have serious security implications, for example in firewall rules which are coded for certain naming schemes, and which are hence very sensitive to unpredictable changing names.
Man packt das Problem weder an der Wurzel, noch erklärt man das Problem, man setzt einfach eine andere Option auf default bei der das Problem großflächig umgangen wird, und verkauft es als große Errungenschaft von systemd das jetzt endlich ein ohne systemd nicht existentes Problem gelöst worden ist. Möchte nicht wissen wie viele Scripte das jetzt kalt erwischt hat, obwohl es auf 99,x% aller Rechner vor systemd sauber funktioniert hat und die Ausnahmen (zB. Hardwaretausch) seit Jahren ziemlich gut bekannt waren.
Na wenn man denkt die Probleme mit systemd auch in Zukunft weiterhin auf diese Art und Weise zu lösen, bleibt von Linux am Ende nicht mehr viel übrig auf das man sich verlassen kann.

robi
 

SUSEDJAlex

Advanced Hacker
@framp:

Habe deinen Script durchgezogen und die Analyse hat dir bereits Sauerland zugeschickt.....

Es sind mehr fehlerhaft als man denkt....

zb. das hier macht mich richtig stutzig:

Code:
!!! CND0540W: Messages wurden am Netzwerkinterface enp3s0 verworfen
!!! CND0290E: Keine Netzwerkkonfiguration für Interface enp3s0 gefunden
!!! CND0230W: IPV6 ist eingeschaltet und kann der Grund für Netzwerkprobleme sein
!!! CND0310W: Klassische Netzwerkkonfiguration mit ifup wurde entdeckt. Die Konfiguration mit networkmanager ist einfacher

obwohl die Verbindung steht und keine klassische Verbindung gibt....

ich hoffe dass dazu mehr Informationen von anderen Nutzern kommt....

LG SUSEDJAlex
 
OP
framp

framp

Moderator
Teammitglied
SUSEDJAlex schrieb:
@framp:

Habe deinen Script durchgezogen und die Analyse hat dir bereits Sauerland zugeschickt.....

Es sind mehr fehlerhaft als man denkt....
Jupp, danke fuer den Input. Leider gibt es da mehr zu tun als ich initial dachte :zensur: . Ab Mitte naechster Woche habe ich mehr Zeit um mich um das Script zu kuemmern. Sobald ich eine bessere Version lasse ich es Euch hier wissen.
 
OP
framp

framp

Moderator
Teammitglied
Das Wochenende war öde ... d.h. ich habe mir alle Euren Input (war nicht wenig ... danke!) angesehen und am Script gearbeitet.

Interessanterweise sind mir dabei auch zwei Fehler aufgefallen, die eigentlich nix mit der openSuSE 13.1 zu tun haben:
1) Die Maskierung bei einer SSID mit Leerzeichen maskierte nur den ersten Teil vor dem Leerzeichen - liess aber den Teil danach im Klartext :eek:ps:
2) Ein AVM USB Stick wurde nicht als WLAN erkannt

Der aktuelle Stand V0.7.0-Beta-2.2 steht hier.

Die Erkennung der neuen Interfacenamen sollte jetzt funktionieren. Wer das Script unter SuSE nicht als root aufruft bekommt jetzt aber eine Menge Meldungen dass es doch tunlichst als root aufgerufen werden sollte. Liegt einfach daran, dass die Files in /etc/sysconfig/network nur noch als root lesbar sind :irre: .

Tricky ist leider mittlerweile die Erkennung mit Networkmanager bzw alter IF config geworden. Die Logik sollte jetzt nur meckern, wenn kein Networkmanager benutzt wird und in den ifcfg-Konfig Dateien kein dhcp benutzt wird.

Wäre nett wenn Ihr mir noch mal Eure Ergebnisse als user und als root liefern würdet.

PS: Interessant war auch dass jemand das Script unter OpenSuSE auf einer Pi laufen liess. Wusste gar nicht dass OpenSuSE auch auf ARM Prozessoren läuft.
 
OP
framp

framp

Moderator
Teammitglied
Es wurden keine Aufffaelligkeiten mit der neueren Version gemeldet. Allerdings habe ich auch nur einen neuen Report bekommen :( . Waere nett wenn noch ein paar Testläufe durchgeführt werden würden.

Geplant ist jetzt die neue Version des Betas Ende der Woche zu aktivieren.
 
OP
framp

framp

Moderator
Teammitglied
Eben wurde die Betaversion als collectNWData.sh uploaded und ist somit allgemein aktiv.

Vielen Dank an alle, die mitgeholfen haben, die doch nicht unerheblichen Änderungen zu testen.
 

tomm.fa

.Linux Club Aushilfsadministrator
Teammitglied
Funktioniert jetzt eigentlich, wie an der korrekten Ausgabe zu sehen ist, die Geräte werden richtig erkannt. Nur das alte Problem mit der Ausführung als Root ist geblieben, nur über Umweg möglich.
 

SUSEDJAlex

Advanced Hacker
wollte die neue Beta testen und nicht auffinbar auf der Download-Seite....

wurde das gelöscht oder wird dies noch aktiviert ?

LG SUSEDJAlex
 

tomm.fa

.Linux Club Aushilfsadministrator
Teammitglied
SUSEDJAlex schrieb:
wollte die neue Beta testen und nicht auffinbar auf der Download-Seite....

wurde das gelöscht oder wird dies noch aktiviert ?

LG SUSEDJAlex

Siehe:
framp schrieb:
Eben wurde die Betaversion als collectNWData.sh uploaded und ist somit allgemein aktiv.

Vielen Dank an alle, die mitgeholfen haben, die doch nicht unerheblichen Änderungen zu testen.
;)
 
OP
framp

framp

Moderator
Teammitglied
Ja, die Beta gibt es nicht mehr und die aktuelle Version ist die alte Beta.
 
Oben