Samba 3.x Package Webif...nun auch zum testen

Status
Für weitere Antworten geschlossen.
Wann wird denn der Samba aus der rc.net gestartet?

MfG Oliver
 
rc.net Zeil 14&15
Code:
...
# Do we have a Samba server (smbd) or was ist stripped from the firmware?
_smbd=$(basename $(which smbd) 2> /dev/null)
...
Dieser Befehl is ja erfolgreich, da die avm smbd von der selbst erstellten ersetzt wird und somit gefunden wird

rc.net weiter unten:
Code:
...
sambastart()
{
   [ "$_samba" ] || return;
   cd /
   tar xf /var.tar
   /bin/smbd
}
...

Und avm beendet smbd beim abziehen vom letzten USB Gerät und startet es wohl auch wenn eines angesteckt wird.
EDIT: Ich seh gerade dass das Verzeichnis /bin/smbd ist und der Aufruf damit fehlschlägt. Ist aber auch nicht so schön

Zitat von cuma
Der Patch ""DS_REMOVE_SMBD" sollte bei ausgewählltem samba nicht auswählbar sein
Zitat von Silent-Tears
Ich persönlich finde schon, dass eben genau das gehen sollte. Denn der DS_REMOVE_SMBD sollte eben genau die andere Optionen für den Samba ausblenden, und diesen dann auch nicht ins Image bringen. Meiner Meinung nach zumindest.

Ich bin nicht ganz sicher, ob ichs verstanden hab. Wenn man Samba ausgewählt hat, sollte halt "Remove Samba" nicht verfügbar sein, da dieser ja die Datei wieder löschen würde. Allerdings dies nicht wirklich wichtig.
 
Zuletzt bearbeitet:
Ich bin nicht ganz sicher, ob ichs verstanden hab. Wenn man Samba ausgewählt hat, sollte halt "Remove Samba" nicht verfügbar sein, da dieser ja die Datei wieder löschen würde.

Schon. Aber einen Patch ausblenden finde ich wenig sinnig. Da lieber den Patch lassen, egal ob das PAekt angewählt ist oder nicht. Dann ist es letztendlich egal, ob der Samba nen Haken hat oder nicht. Da würde ich eher weiter den Samba ausblenden, solange der Patch aktiviert ist.
Ist aber wohl geschmackssache.
 
Jaa, nur dass dann niemand auf die Idee kommt: installiert ich einen eigenen Samba und entferne deshalb den AVM Samba.
PS: hab gerade #1975 gebaut, nmbd läuft, smbd nicht. Im Status wird running angezeigt, restart geht nicht, stop schlägt fehl. Das mit den .pid Dateien geht wohl nicht so wie gedacht. Ich wechsel mal vorerst wieder auf 1950 mit meinem eigenem Patch 8d
 
Zum Thema Swap:

Ich nutze swap und Samba problemlos zusammen.
Allerdings habe ich eine Swap-Partition auf meiner Platte und kein Swap-File?!
Könnte es daran liegen?

Meine Firmware ist
29.04.55-10393-freetz-devel-1938M

Ich weiss nicht ganz aktuell, aber läuft ja! ;-)
Als Samba-Patch hatte ich glaub ich 7g genommen, kann ich im Nachhinein nochmal rausfinden, welche Version das war?
 
Hi,

ich hab den freetz Stand 1992 auf der Fritzbox drauf und hab einige Fragen zum Samba Packet.

1. Wie kann ich erkennen ob ich den AVM smbd oder den aus dem Mod verwende? der smbd kann keine Parameter wie --help und er logt auch nix im Syslog => bedutet das ich hab die AVM Version?

2. Das PID file handling ist irgendwie nicht korrekt. Das pid file wird angelegt aber beim beenden mit rc.samba stop wird es nicht geloescht. D.h. ich kann den smbd nicht neu starten ausser ich loesche das pid file manuell.

Edit:
bringt der Mod ueberhaupt einen eigenen smbd mit oder ist das der AVM smbd der verwendet wird? Ich werd aus dem Thread hier nicht ganz schlau.
 
Zuletzt bearbeitet:
hiho...wenn du smbd und nmbd im make menuconfig ausgewählt hast, hast du den freetz smaba...daran zu erkennen, das er 1.1 mb stat avm 1.2 mb hat UND das er grose dateien anzeigen kann...it avm hättest du nie 4 gig dateien z.b. sehen oder kopieren können...
 
Ich hab kein Plan wo die Pidfiles im Samba (smbd/nmbd) gelöscht werden sollen? Kann ich da einfach in die Funktion server_exit_common ein "unlink(pidfile)" reinschreiben?

MfG Oliver
 
Wenn der Server regulär beendet wird (kein kill -9), dann sollte er sein pid-file auch selbst löschen. Oder hat AVM das auch herausgenommen?
 
Ich finde das im Samba GIT auch nicht. Da gibts in lib/ eine pidfile.c. Aber die erstellt das Ding nur. Und in smbd/server.c hab ich nichts von unlink gesehen.

MfG Oliver
 
Ich weiß auch nicht, wo es gemacht wird. Aber normalerweise bleiben beim Samba keine Pid-Files übrig, also gehe ich mal davon aus, daß sie irgendwie gelöscht werden.
 
Es hatte ja schon seinen Grund, dass ich keine .pid Dateien benutzt hab
 
Ich habe mir Samba nochmal angeschaut, die Pid-Dateien werden tatsächlich nicht gelöscht. Das sollte aber kein prinzipielle Problem sein.

Generell würde ich vorschlagen, die Start-Dateien so zu ändern, daß smbd und nmbd getrennt gestartet werden. Das macht zum einen die Dateien einfacher, und auch die Status-Anzeige wird damit aussagekräftiger. Weiterhin sollte man die Möglichkeit bieten, smbd und nmbd unabhängig voneinander auszuwählen.

Wenn jemand zum Beispiel nur einen Master Browser auf der Box laufen lassen will, reicht dafür nmbd ohne smbd. In Verbindung mit einer passenden Client-Konfiguration (über DHCP oder von Hand) hilft dies dabei, daß sich Windows-PCs gegenseitig schneller erkennen, unabhängig davon, ob auf der Box ein smbd läuft oder nicht.

Andererseits kann man auch den smbd ohne nmbd nutzen, wenn man DNS verwendet, um die Namen aufzulösen.

In der Datei root/etc/init.d/modlibrc gibt es bereits eine Funktion modlib_check_running(), mit der man prüfen kann, ob das Programm noch läuft. Diese Funktion prüft nicht nur die Existenz der Pid-Datei, sondern auch, ob ein Prozeß mit der Nummer existiert. Außerdem gibt es dort noch die Funktionen modlib_stop(), modlib_reload(), modlib_restart() und modlib_status(). Es gibt zwar eine kleine Unsicherheit für den Fall, daß die Prozeß-Nummern überlaufen, aber das ist zumindest unwahrscheinlich.

Eine Alternative wäre, checkproc, startproc und killproc für die Box zu erstellen, aber die wären sicher größer. Evtl. könnte man eine Busybox-Version davon erstellen.
 
Hallo,
mit meine letzten Patch aus diesem Thread konnte smbd mit als auch ohne nmbd ausgeführt werden, wie es halt im menuconfig ausgewählt wurde. nmbd ohne smbd war da noch nicht vorgesehen. Im rc. wurde dann geschaut, ob die Binarys im Image sind. Dies funktioniertew füt status, start und stop. 2 eigene rcs sind für den Status sicherlich ok, allerdings benutzen beide die gleiche .conf Datei, was dann wieder zu Komplikationen führen könnte. Ich hatte auch ein "restart smbd" eingebaut, um nur diesen neuzustarten.
Als sinnvollste Erweiterung für Samba sehe ich momentanm in smbconf, durch welches smbd bei neuen Freigaben nicht neu gestartet werden müsste - wenn es funktioniert und avm da nichts rausgeworfen hat. Es müsste sich halt nur jemand finden, der es baut.
Was spricht denn gegen die benutzte der Methode im letzten Patch, mit "pidof" den Status zu ermitteln?
 
Gegen pidof spricht, daß es mehrere Prozesse mit dem gleichen Namen geben kann. Ob dies für Samba releveant ist, kann ich so nicht sagen.

Änderungen der smbd.conf wirken sich normalerweise direkt auf die smbd-Prozesse aus (wenn AVM das nicht entfernt hat). notfalls kann man an alle smbd Prozesse das Signal USR1 senden (ebenfalls, wenn das nicht entfernt wurde).
 
... normalerweise direkt auf die smbd-Prozesse aus (wenn AVM das nicht entfernt hat). notfalls kann man an alle smbd Prozesse das Signal USR1 senden (ebenfalls, wenn das nicht entfernt wurde).
In der original /etc/samba_control stehen dazu ein paar Kommentar von AVM. Vorweg: es klappt nicht, ebenso wie die .pid

Und ja, es kann mehrer smbd Prozesse geben, wenn auf den Server zugegriffen wird. Diese alle müssen aber neue Freigaben & Berechtigungen einlesen. Ich darin kein Problem.
 
Das Ganze in zwei rc-Dateien aufzuteilen hätte noch einen zweiten Vorteil: Es wäre mit weiteren 10 Minuten Aufwand möglich, das Samba-Paket für die Nutzung von inetd zu erweitern.
 
Für nmbd macht es aber keinen Sinn diesen mit inetd zu benutzen
 
Status
Für weitere Antworten geschlossen.
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.