init Script beim Samba Server

Status
Für weitere Antworten geschlossen.

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Hallo zusammen,
bin eigentlich schon länger zufriedener Besitzer einer DS107+. Nur ein Problem habe ich mit dem Start des smb resp nmb Dämons. Dazu vorweg: Ich habe mittels bootstrap die Paketverwaltung installiert und mir die neuste Samba Version gezogen (ipkg install samba). Das alte init Script (S80samba.sh) unter /usr/syno/etc.defaults/rc.d/ habe ich mit dem Inhalt des neuen Startscripts überschrieben. Eigentlich sind im neuen Script nur die Pfade und der Parameter anders (/opt/etc/sbin/smbd --configfile=/opt/etc/samba/smb.conf) Mein Problem ist nun, dass nach jedem Neustart der Samba Server mit dem alten Startscript gestartet wird (ohne Angabe des Configfiles und mit den alten Pfaden zur Anwendung). Damit ich dann auf die Freigaben zugreifen kann muss ich immer erst das Script via ssh manuell starten. Dann sind die Freigaben sichtbar und die Dämons laufen mit dem richtigen Konfigfile.
Ist es denn so, dass das File S80samba.sh beim Systemstart neu angelegt wird und dann smb mit diesem Default File gestartet wird? Komischerweise hat das Script den richtigen Inhalt sobald ich mit einem Editor reinschaue.
Kennt jemand von Euch das Problem und kann mit allenfalls den Schubs in die richtige Richtung geben?

Danke und Gruss

tobi
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Was steht bei dir im Verzeichnis /opt/etc/init.d drin?

Ist da vielleicht auch noch ein Start-Skript von der ipgk-Installtion zum Thema Samba drin? Wenn ja, dann löschen, denn diese Dateien werden auch beim Starten ausgeführt.

itari
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Was steht bei dir im Verzeichnis /opt/etc/init.d drin?

Ist da vielleicht auch noch ein Start-Skript von der ipgk-Installtion zum Thema Samba drin? Wenn ja, dann löschen, denn diese Dateien werden auch beim Starten ausgeführt.

itari
unter /opt/etc/init.d lag das Samba Startscript von der ipkg-Installation ursprünglich. Dieses habe ich auf S80samba.sh umbenannt und dann nach /usr/syno/etc.defaults/rc.d/ verschoben, damit das alte Script überschrieben wird.
Wäre es denn deiner Meinung nach besser das init Script aus /usr/syno/etc.defaults/rc.d/ herauszunehmen und nur in /opt/etc/init.d zu haben? Bis jetzt habe ich das genau umgekehrt.

Gruss

tobi
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Wäre es denn deiner Meinung nach besser das init Script aus /usr/syno/etc.defaults/rc.d/ herauszunehmen und nur in /opt/etc/init.d zu haben? Bis jetzt habe ich das genau umgekehrt.

nö. ich wollte dir nur den Tipp geben, nachzuschauen, ob nicht noch ein zweiter Samba-Server gestartet wird ... Aber das scheint ja nicht der Fall zu sein.

Benenn das alte Samba-Zeugs einfach mal um, damit du ausschließen kannst, dass es nicht noch irgendwo herumrödelt (smbd, nmbs, winbindd ...). Kannst ja auch zusätzlich die /usr/syno/etc/smb.conf umbenennen. Dann dürfte ja nu kein Programm mehr damit was anfangen können.

itari

PS seh grad : des aktive Samba-Start-Skript muss in in /usr/syno/etc/rc.d stehen und nicht in /usr/syno/etc.defaults/rc.d !!!!
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
PS seh grad : des aktive Samba-Start-Skript muss in in /usr/syno/etc/rc.d stehen und nicht in /usr/syno/etc.defaults/rc.d !!!!
dann werde ich das heute Abend nach der Arbeit mal ausprobieren und vom Ergebnis berichten.
Danke und Gruss

tobi
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Hallo itari

also bei mir ist /usr/syno/etc/rc.d nur ein "Link" auf /usr/syno/etc.defaults/rc.d von dem her liegen in beiden Verzeichnissen die genau gleichen Dateien
rcd.jpg


Hast du/oder hat noch jemand eine Idee?
Danke und Gruss

tobi
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Lösung und zwei neue Fragen

Also jetzt habe ich die Lösung, aber gleich zwei weitere Problemchen.
Lösung:
Das init Skript von /usr/syno/etc.defaults/rc.d nach /opt/etc/init.d verschieben. Dann starten die Dämons mit den korrekten Pfaden und Parametern.
Probleme:
1) Ein ps | grep mbd zeigt mir nmbd und smbd als laufend an. Der Serverparameter ist gegeben, jedoch - und das ist strange - hat das Config File die Dateieindung con
Hat denn ps eine maximal mögliche Anzahl Zeichen pro Zeile? Weil die smb.conf wird gefunden und angewendet, die Freigaben sind vohanden und man kann darauf zugreifen. Und doch zeigt ps den Dateinamen nicht komplett an.
2) in diesem init-Script habe ich einige kill-Anweisungen für Dämons, die laufen sich aber via WebConfig nicht deaktivieren lassen. postgres wird sauber gekillt, wenn das S08samba.sh gestartet wird. afpd hingegen läuft auch nachdem das Script beim Start ausgeführt wird. Ein manueller Aufruf des Script killt jedoch den afp-Dämon sauber. Heisst das, dass das Samba init Script aufgerufen wird solange afpd noch nicht läuft??
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
also bei mir ist /usr/syno/etc/rc.d nur ein "Link" auf /usr/syno/etc.defaults/rc.d von dem her liegen in beiden Verzeichnissen die genau gleichen Dateien

hast ja so recht ;) hab ich einfach übersehen.

Ein ps | grep mbd zeigt mir nmbd und smbd als laufend an. Der Serverparameter ist gegeben, jedoch - und das ist strange - hat das Config File die Dateieindung con

Der ps schneidet nach 80 Stellen einfach ab - das ist dann wohl der Schere zum Opfer gefallen ;)

zu 2) --- sorry hab ich einfach nicht verstanden, was du meinst.

itari
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Der ps schneidet nach 80 Stellen einfach ab - das ist dann wohl der Schere zum Opfer gefallen
Danke für die Aufklärung und wieder mal was gelernt aus der *nix Welt
zu 2) --- sorry hab ich einfach nicht verstanden, was du meinst.
eigentlich ganz einfach, ich habe es nur mal wieder unnötig kompliziert ausgedrückt ;)
Es geht darum, dass im S08samba.sh (init Script) zwei kill-Anweisungen stehen für Dämons, die man über die Weboberfläche nicht deaktivieren kann. postgres und afp sollten gekillt werden, wenn das init Script des Samba Servers aufgerufen wird. Nur postgres ist nach einem Neustart tot und afp läuft munter weiter. Darum war meine Frage ob mein Samba init Script möglicherweise aufgerufen wird, bevor der afp Dämon gestartet wurde (denn ein manuelles sh S08samba.sh killt auch afpd).
Eine ganz blöde Frage wäre noch: Wird die Reihenfolge, in der solche init Scripte aufgerufen werden, über die Nummer gesteuert, die sie im Dateinamen haben?

p.s. bin normalerweise ein Fenster-Maus-Schubser (Windows-User) und bin noch nicht so fitt mit *nix
Darum die eventuell komischen Fragen ;)
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Danke für die Aufklärung und wieder mal was gelernt aus der *nix Welt

das ist nur auf der DS wegen der BusyBox so. ps ist auf der DS eine Funktion der BusyBox und die Jungs haben die Zeilenlänge der Shell vergessen abzufragen.

eigentlich ganz einfach, ich habe es nur mal wieder unnötig kompliziert ausgedrückt ;)
Es geht darum, dass im S08samba.sh (init Script) zwei kill-Anweisungen stehen für Dämons, die man über die Weboberfläche nicht deaktivieren kann. postgres und afp sollten gekillt werden, wenn das init Script des Samba Servers aufgerufen wird. Nur postgres ist nach einem Neustart tot und afp läuft munter weiter. Darum war meine Frage ob mein Samba init Script möglicherweise aufgerufen wird, bevor der afp Dämon gestartet wurde (denn ein manuelles sh S08samba.sh killt auch afpd).
Eine ganz blöde Frage wäre noch: Wird die Reihenfolge, in der solche init Scripte aufgerufen werden, über die Nummer gesteuert, die sie im Dateinamen haben?

Die Reihenfolge wird über die Nummer gesteuert. Im Grunde wird ein ls (list directory sorted) ins Verzeichnis gemacht und dann Stück für Stück abgearbeitet. Allerdings nur das, was mit S anfängt.

Der afp wird im S81atalk.sh gestartet, also nach S80samba.sh :) Den Rest kannst dir sicherlich zusammenreimen.

itari
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Also danke wiedermal für die Unterstützung.
Der afp wird im S81atalk.sh gestartet, also nach S80samba.sh Den Rest kannst dir sicherlich zusammenreimen.
Dachte ich nach deinem Post auch, aber als ich es probierte kamen weitere Probleme:

Zuerst habe ich S80samba.sh auf S92samba.sh umbenannt, damit es nach S81atalk.sh ausgeführt wird. Mit dem Resultat, dass so weder der smb noch der nmb Dämon gelaufen sind. Irgendwie wurde das Script also nicht ausgeführt.
Dann habe ich das Script wieder unter /opt/etc/init.d abgelegt und dachte dass die Dateien in diesem Verzeichnis nach jenen aus /usr/syno/etc.defaults/rc.d ausgeführt würden (wo auch S81atalk.sh drinne ist). Das Resultat war, dass wieder nur postgres gekillt war und afpd ned und ausserdem wurden die Dämons insgesamt dreimal angeworfen (2x smbd und einmal nmbd). Komischerweise hatte nur der der nmbd den korrekten Serverparameter mit dem Configfile übergeben bekommen. Die zwei Instanzen des smbd waren ohne Parameter (sagte mir zumindest ps | grep mbd). Erst ein manuelles Aufrufen des Shell Scripts führte dazu dass auch afpd gekillt wurde und alle Instanzen des smbd mit dem korrekten Serverparameter gestartet wurden.
Der Scheiss ist, dass ich so jedesmal wenn ich die Diskstation starte erst noch manuell das Shellscript aufrufen muss, bis alles so läuft wie ich es geplant habe.

Gruss

tobi
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
@jahlives,

wie sieht eigentlich mittlerweile deine Lösung hierzu aus?

itari
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
wie sieht eigentlich mittlerweile deine Lösung hierzu aus?
Meine "Lösung":
Da der afpd nicht gekillt wird, obwohl eindeutige Anweisungen dazu im Start Script von Samba stehen, lebe ich damit ein paar Ressourcen an einen nicht benötigten Dämon zu verschwenden oder ich kille afpd manuell via Konsole.

Gruss

tobi
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
@jahlives,

ich überlege gerade, ob die Inbetriebnahme eines zweiten Samba-Servers nicht so interessant sein könnte, dass man sie ins Wiki stellen könnte. Was hältst du davon? Würdest du das machen?

itari
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
ich überlege gerade, ob die Inbetriebnahme eines zweiten Samba-Servers nicht so interessant sein könnte, dass man sie ins Wiki stellen könnte. Was hältst du davon? Würdest du das machen?
Würde ich gerne machen, denn eine ipkg Samba ist einfach um Welten flexibler als das eingebaute Dingens. Ist eigentlich immer das erste was ich nach einen Neuinstallation mache (direkt nach ssh aktivieren)...

Gruss

tobi
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Bevor du lange fragst, jeder kann zur Zeit etwas ins Wiki eintragen - ist also freigeschaltet und zugänglich ... also fang an :D

itari
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
consider it done (am Weekend)
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat