Mein Vorschlag macht ja aber mehr oder weniger genau das
Wenn dann halt irgendwelche Prozesse, die noch Daten auf Samba-Freigaben zu schreiben haben, beim Herunterfahren erst später beendet werden, sind die betreffenden Daten eben futsch. Aber dieses Problem ist auch das gleiche, wenn man die Samba-Freigaben von Hand zu früh aushängt.
Wenn man Samba nur dazu verwendet, Dateien zu übertragen, und nicht mit Anwendungsprogrammen direkt auf Samba-Freigaben arbeitet, sehe ich keine Gefahr. Denn gepufferte Daten werden ja beim Aushängen noch übertragen. Welche Programme gefährlich sind, weil sie beim Beenden noch Daten schreiben wollen, habe ich nicht untersucht.
Bei Deinem Vorschlag werden wenigstens gezielt nur die Samba-Freigaben vorzeitig ausgehängt. Beim Vorziehen von umountnfs.sh
sind u.U. mehrere Netzwerk-Dienste betroffen, und dann wird die Sache unübersichtlich und evtl. ganz unberechenbar.
Ein anderes Workaround geht so vor, dass zuerst alle noch laufenden Prozesse darauf geprüft werden, ob sie noch Dateien in Samba-Freigaben offen haben und, wenn ja, dass diese zuerst beendet werden. Dann erst werden die Samba-Freigaben ausgehängt. Das ist aber reichlich kompliziert, und ich kann nicht beurteilen, ob das vorgeschlagene Script seinen Zweck auch wirklich sicher erfüllt. Das wird mir dann zu hoch.
Wenn man den NetworkManager nicht verwendet, wird das Netzwerk schon früher eingerichtet und damit beim Herunterfahren auch erst später wieder ausgehängt, und dann passiert es nicht, dass das Netzwerk beim Versuch, die Freigaben auszuhängen, schon weg ist. Aber der NetworkManager kann offenbar wegen der WPA-Verschlüsselung ein WLAN eben nicht früh genug einrichten (?).
Bei gvfs-mount werden die Freigaben viel später eingehängt und viel früher wieder ausgehängt als bei mount.cifs. Warum dies (angeblich) trotzdem sicher ist, habe ich nicht verstanden.
Gruß - Max-Ulrich