Ich hatte ja schon erwähnt, das ich von NFS auf Samba wechseln musste, weil der NFS Server unterirdisch schlechte Transferraten hatte. Somit musste ich mich dann so ziemlich das erste Mal in meinem Leben mit einem Samba Server auseinandersetzen.
Nach einigem Ausprobieren hatte ich es soweit, das ich zwei Freigaben hatte, die ich problemlos mit dem Dateimanager von Manjaro erreichen konnte. Ich konnte auch problemlos schreiben usw.
Aber, mit diesen Dateipfaden aka
smb://192.168.3.1/NAS
kann ich nicht arbeiten. Meine vorhandenen Scripte möchten was ordentliches haben Also machte ich mich daran, diese Freigaben zu mounten.
Also in /etc/fstab stundenlang Einträge ausprobiert. Zwischendurch auch immer versucht per Hand über die Konsole zu mounten.
Ich bekam, egal was ich machte, immer diesen Fehler.
CIFS: VFS: cifs_mount failed w/return code = -22
Sehr aussagekräftig, weil ich dazu im Netz auch nichts vernünftiges fand. Also kurze Pause und nachdenken. Was, wenn es irgendwas mit dem Kernel zu schaffen hätte?
Da kam mir die Idee, es mal auf meinem Linux Mint Cinnamon Notebook zu probieren und zack, schon der erste Mount-Versuch funktionierte.
Das Notebook benutzte einen 5.15er Kernel.
Also, startete ich meinen Haupt-PC neu und wechselte von dem aktuellen Kernel
Linux frank-ms7c37 5.18.12-3-MANJARO #1 SMP PREEMPT_DYNAMIC Sun Jul 17 14:33:15 UTC 2022 x86_64 GNU/Linux
auf einen 5.15er Danach schnell ein Mount-Versuch und es ging! Ok, es muss irgendwas mit dem verwendeten Kernel zu schaffen haben. Den alten zu benutzen kam für mich nicht in Frage, also machte ich mich im Netz auf die Suche und stolperte über diesen Beitrag.
After installing layest 5.18.10 kernel, can't connect to my SMB locations.
boris@E7490-DELL ~]$ uname -a
Linux E7490-DELL 5.18.10-200.fc36.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Jul 7 17:21:38 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
boris@E7490-DELL ~]$ sudo mount -t cifs //remote.location /mnt/local.drive -o uid=1000,gid=100,credentials=/local/path/samba.mount.credentials
mount error(22): Invalid argument
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) and kernel log messages
(forums.fedoraforum.org)
Die Kernel-Version passte nicht ganz, aber egal, mal aufmerksam lesen. Man empfahl einen Beitrag als Lösung
Wieder aufmerksam lesen...
Lösung
I was able to reproduce it to older Samba server (4.12.5) and could
workaround the Samba server bug by using mount option "compress" on
the client (which won't do anything different since it is not
supported but interestingly it avoids the problem by adding another
context at the end).
Ok, man sollte also eine Mountoption compress benutzen. Also ausprobieren. Mittlerweile war der Rechner wieder auf 5.18.
Der Mount-Befehl
//192.168.3.1/NAS /mnt/NAS cifs compress,credentials=/root/.smbcredentials,uid=1000,gid=1000 0 0
funktionierte sofort!
Die Dateiberechtigungen auf dem NanoPi R5S
root@FriendlyWrt:~# ls -lha /mnt/sda1
total 28K
drwxrwxrwt 4 frankm frankm 4.0K Jul 22 10:03 .
drwxr-xr-x 1 root root 4.0K Jul 23 22:39 ..
drwx------ 2 frankm frankm 16K Jul 20 12:22 lost+found
drwxr-xr-x 29 frankm frankm 4.0K Jul 24 08:08 samba
Für Samba habe ich einen Linux User frankm angelegt.
Fazit
Es hat gedauert und zwar richtig lange um dieses Problem zu lösen. Und eine Bitte an die Coder da draußen, Error -22 hilft niemanden!!
Interessanterweise findet man die Option compress in der Anleitung gar nicht!?
Ok, lassen wir es und machen einen Haken dran. Die Samba Mounts funktionieren ja jetzt