Samba-Installation auf einem Nur-Lese-System

387
SteAlzzer

Ich konnte im Web nichts Nützliches finden.

Hier ist die Geschichte. Ich versuche, Samba (Version 4.5.12) unter Debian (Raspbian, aber es spielt keine Rolle) zu installieren. Debian ist auf einem schreibgeschützten Dateisystem installiert. Die Installation ist in Ordnung, aber Samba startet nicht im RO-Modus (schreibgeschützt). Ich habe versucht, symbolische Verknüpfungen der erforderlichen Daten ( /var/lib/samba files) auf einer externen Festplatte herzustellen (dies ist Lese- / Schreibzugriff), aber beim Start von Samba ist ein Fehler aufgetreten - systemctl konnte smdb.service nicht starten. In systemctl statuswar nichts interessantes. Aber samba/log.ich habe das gefunden:

[2018/04/01 17:11:55.333301, 0] ../lib/util/util.c:270(directory_create_or_exist_strict) directory /var/lib/samba/private/msg.sock isn't a directory [2018/04/01 17:12:35.116576, 0] ../lib/util/util.c:270(directory_create_or_exist_strict) directory /var/lib/samba/private/msg.sock isn't a directory [2018/04/01 17:42:24.843043, 0] ../lib/util/util.c:216(directory_create_or_exist) mkdir failed on directory /var/lib/samba/private/msg.sock: Read-only file system [2018/04/01 18:04:41.824892, 0] ../lib/util/util.c:216(directory_create_or_exist) mkdir failed on directory /var/lib/samba/private/msg.sock: No such file or directory 

Beim Googeln habe ich festgestellt, dass die directory_create_or_exist_strictFunktion in Samba-Quellcode nach Verzeichnissen sucht (in meinem Fall nach /var/lib/samba/private/msg.sock), um echt zu sein.

Gibt es eine Linux-Way-Lösung? Soll ich die directory_create_or_exist_strictFunktion neu schreiben oder einen absoluten Pfad für das msg.sockVerzeichnis auf der externen Festplatte angeben? Oder gibt es eine andere Möglichkeit, diesen Ordner auf eine externe Festplatte zu spiegeln? Bitte teilen Sie mir einige Hinweise mit.

0

1 Antwort auf die Frage

0
Tonny

Das Problem ist wahrscheinlich, dass Sie einen Softlink verwenden, um den Samba-Var-Ordner auf die andere Festplatte umzuleiten.
Ein Softlink verhält sich etwas anders als ein echter Ordner und könnte für den Samba-Socket-Erstellungscode nicht akzeptabel sein.

Was ich in einem Setup wie Ihrem tun würde, ist, das gesamte / var-Dateisystem auf die andere Festplatte zu legen (oder als tmpfs) und es einfach beim Booten zu mounten.
Oder, wenn Sie nicht den ganzen Weg gehen wollen, erstellen Sie beim Booten einfach ein tmpfs-Dateisystem, und hängen Sie dieses unter / var / lib / samba an.

Ein Mount-Punkt sollte in Ordnung sein. Andernfalls könnte kein Linux-System / var auf ein anderes Dateisystem setzen.