laut der freenas-dokumentation (hier) gibt es probleme, wenn man einen afp-share mit aktiver option “cache cnid” anlegt, sobald der selbe share auch per cifs (samba) angeboten werden soll. mit inaktiver option gelang es mir jedoch nicht, mit einem mac os x lion client auf den afp share zuzugreifen.
was tun, wenn man von beiden plattformen zugreifen will?
mein workaround sieht wie folgt aus:
- die daten liegen in
/mnt/data/dataset/files
. dies ist auch der für den cifs-share konfigurierte pfad.
- es wird ein afp-share-folder erstellt:
# mkdir /mnt/data/dataset/files/_afp
- der afp-share wird über die webgui eingerichtet
Name: afp
Freigabe beschreiben: AFP Share
Pfad: /mnt/data/dataset/files/_afp
Freigabepasswort: [leer]
Zeichensatz der Freigabe: UTF8
Zugriff gewähren: benutzeraccount
Zugriff verweigern: [leer]
Nur-Lese Zugriff: [leer]
Lese-Schreib Zugriff: benutzeraccount
Festplattenerkennung: [checked]
Disk Discovery Modus: Standard
Datenbankpfad: /mnt/data/dataset/files/_afp/
Cache CNID: [checked]
CR/LF-Konvertierung: [leer]
Windows-Dateinamen: [leer]
Kein .AppleDouble: [leer]
Keine Laufwerksnummern: [leer]
Datei-ID deaktivieren: [leer]
:hex Namen deaktivieren: [leer]
ProDOS: [leer]
NoStat: [leer]
AFP3 Unix Rechte: [leer] - die per afp bereitzustellenden unterordner von
files
werden in den afp-share-ordner gemountet:# mkdir /mnt/data/dataset/files/_afp/Sysinstall_Images/
# mount_nullfs -o rw /mnt/data/dataset/files/Sysinstall_Images/ /mnt/data/dataset/files/_afp/Sysinstall_Images/ - nun sollte der unterordner auch per afp sichtbar sein. um den mount fest zu konfigurieren, sollte ein mountscript eingebunden werden:
# mount -uw /
# cat /conf/base/etc/rc.d/mymountscript
#!/bin/sh
. /etc/rc.subr
name="mymountscript"
start_cmd="${name}_start"
stop_cmd="mymountscript_stop"
mymountscript_start()
{
mount_nullfs -o rw /mnt/data/dataset/files/Sysinstall_Images/ /mnt/data/dataset/files/_afp/Sysinstall_Images/
}
mymountscript_stop()
{
umount /mnt/data/dataset/files/_afp/Sysinstall_Images/
}
load_rc_config $name
run_rc_command "$1"
# chmod +x /conf/base/etc/rc.d/mymountscript
# mount -ur /
man kann das script (/umounten) nun per /conf/base/etc/rc.d/mymountscript start
(/stop
😉 ) testen bzw. -wenn man faul ist- einfach rebooten.