Samba unter FreeBSD mit FAM
Änderungen sofort mitteilen
Die Einrichtung von Samba unter
FreeBSD ist ja sicher kein Problem. Da ich aber keine richtige Dokumentation für die FAM Einrichtung fand, hier einige Hinweise dazu.
Das ist aber inzwischen bekannt, deshalb sollten die folgenden Patches bei der Übersetzung von /devel/gamin verwendet werden:
https://bugzilla.gnome.org/attachment.cgi?id=128300
https://bugzilla.gnome.org/attachment.cgi?id=128301
FAM
Dieser Begriff steht für File Alteration Monitor, also ein System, das über Änderungen im Dateisystem informiert. Wenn dieses von Samba genutzt wird, kann Samba interessierte Clients über Dateiänderungen sofort informieren. Das bedeutet, eine Verzeichnisansicht im Windows-Explorer wird automatisch und sofort aktualisiert, auch wenn die Änderungen nicht über den Samba-Server initiiert werden.Gamin
Gamin ist die FAM-Implementierung, die unter FreeBSD für Samba standardmäßig verwendet wird - insofern man das als Option konfiguriert (dazu unten mehr). Normalerweise müßte man das nicht extra erwähnen, da die Übersetzung und Installation autmatisch erfolgen wenn man Samba übersetzt. Die derzeit aktuelle Version 0.1.10 enthält jedoch noch einen Fehler, der die Nutzung unter Samba verhindert. Grund ist, daß Samba zwar mit root-Rechten startet, später aber auf den Nutzer umschaltet, der vom Client die Freigabe öffnet. Damit kommt Gamin nicht ganz klar und verweigert die Arbeit mit Fehlermeldungen wieSocket directory /tmp/fam-root has different owner Failed to remove unsafe path /tmp/fam-root
https://bugzilla.gnome.org/attachment.cgi?id=128300
https://bugzilla.gnome.org/attachment.cgi?id=128301
Samba übersetzen und installieren
Der Samba port net/samba33 wird wie üblich übersetzt und installiert, es ist jedoch darauf zu achten, daß die Unterstätzung für FAM mit eingebaut wird:FAM_SUPPORT=on "With File Alteration Monitor"
Samba konfigurieren
Die Samba-Unterstützung für FAM wird nicht global, sondern pro Freigabe (share) konfiguriert. Bei den gewünschten Freigaben wird das entsprechende vfs-Modul geladen:[data] comment = Data path = /usr/data fstype = UFS2 vfs objects = notify_fam