[TinyBSD] Samba auf einem read only system starten?

I

ingram333

Guest
Hi folks,

versuche verzweifelt auf meinem TinyBSD (embedded system/wrap) einen
Samba Server zu starten. Leider läßt sich der gute nur starten, wenn / rw gemountet
ist (wenn ich es nach dem boot manuell rw mounte und smbd -D starte geht alles).
Da es sich ja um eine SD-Karte handelt, wäre es schön wenn ich / eben nur read only
mounten könnte... die shares für samba liegen auf einer USB-Festplatte.

Kennt jemand eine Lösung wie man samba auf einem read only system zum laufen bekommt?

Vielen Dank fürs lesen.
 
Hallo und willkommen hier.:)

Das ganze System read-only wird schwierig. Vermutlich muss /var schreibbar sein, dass samba rennt.

Du könntest /var in eine RAM-Disk packen (siehe Handbuch Virtuelle Platten) und somit schreibbar machen.

Vielleicht hilft auch ein Blick auf FreeNAS und deren Lösung.

mousaka
 
danke erstmal!

/var ist bei TinyBSD auf einer Ramdisk:
# mount
/dev/ad0a on / (ufs, local, read-only, soft-updates)
devfs on /dev (devfs, local)
/dev/md0 on /var (ufs, local)
/dev/md1 on /tmp (ufs, local)
/dev/da0s1 on /mnt (ufs, local, soft-updates

Aber leider startet samba dennoch nur wenn ich explizit "/" als rw mounte.

FreeNAS schau ich mir mal an, vlt. findet sich da was (hat leider kein OpenVPN sonst
wäre das eigentlich was ich gerade nachbaue mit Webinterface).

Noch eine Idee?
 
hmm das war ne idee, scheint fast so. denke mal hier ist das Problem:

[2007/09/04 21:22:53, 1] smbd/files.c:file_init(193)
file_init: Information only: requested 10000 open files, 246 are available.
[2007/09/04 21:22:53, 0] passdb/secrets.c:secrets_init(67)
Failed to open /usr/local/etc/samba/secrets.tdb
[2007/09/04 21:22:53, 0] passdb/secrets.c:secrets_init(67)
Failed to open /usr/local/etc/samba/secrets.tdb
[2007/09/04 21:22:53, 0] smbd/server.c:main(1027)
ERROR: smbd can not open secrets.tdb

Scheint als würde er die tdb files zum schreiben öffnen wollen :P
hmm... das Verzeichnis einfach auf /var zu linken das auf der
Ramdisk liegt bringt nix oder? Kann man einzelne files/verzeichnisse
beim mounten irgendwie nachträglich rw setzen? eher nicht oder?

Denke mal wenn ich aus /usr/local/etc/samba ein eigenes Ramdrive mache
müsste es gehen oder? Urgs, hoffe dazu muss ich nicht nochmal das Image neu
machen (befürchte es fast).

Jemand noch eine Idee was ich zuerst versuchen sollte? lsof muss ich erstmal
rüberkopieren... war natürlich nicht auf dem ebedded image.

Danke euch!!!
 
ui danke dir, das sieht auch gut aus. Habs jetzt gerade mal mit der Ramdisk Lösung
auf /usr/local/etc/samba gemacht, und nun kann man samba zumindest nach systemstart
manuell booten (beim systemstart direkt macht er es seltsamerweise nicht trotz samba_enable="yes"
in der rc.conf!?).

Ich werd mal deine Lösung versuchen, vlt. startet er so mal direkt beim boot (währe ganz praktisch).
 
hmm frage dazu: wie mache ich das am geschicktesten, dass die daten nach einem reboot wieder/noch da sind? Muss ich da irgendwie von dem Verzeichnis ein Image machen?
 
so, habs jetzt fast gelöst. Falls also mal jemand anderes das Problem hat, Samba lässt
sich starten wenn man sein tdb Verzeichnis als Ramdrive mountet:

mdmfs -s 10m md3 /usr/local/etc/samba

Problem ist nur noch das er sich die mit smbpasswd angelegten User nicht merkt (hab
sie angelegt als das Verzeichnis noch kein ramdrive war, dennoch "verliert" er die Konten).

EDIT:
Einfach den vorher angelegten krempel nach anlegen des Ramdrives rüberkopieren... nicht elegant
aber geht. Wenn jemand eine schönere Lösung hat bitte her damit ;)
 
Zuletzt bearbeitet von einem Moderator:
Zurück
Oben