Dateifreigabe und Zugriff über Windows auf den Raspi
Wie man den Raspi über SSH anspricht, habe ich ja schon im ersten Teil erläutert. Auf einen Desktop auf unserem Pi haben wir ja zugunsten der Hochfahrzeit verzichtet.Für unsere weiteren Projekte werden wir Shell-Scripts (-sh) und Python-Programme (.py) erstellen wollen. Diese Textdateien kann man jetzt natürlich über den Raspbian-internen Editor nano erstellen, aber so richtig Spaß macht das nicht. Da wir ja sowieso vor unserem Windows-PC sitzen und den Raspi über SSH fernsteuern, warum dann nicht auch unseren lieb gewonnen Windows-Editor (mein Favorit ist UltraEdit, allerdings nicht kostenlos) dafür nutzen.
Alles was wie bräuchten, ist eine Art Windows-Freigabe für die Dateien in unserem Raspi-Home-Verzeichnis. Dann könnten wir die Dateien direkt von dort in unseren Editor laden, bearbeiten und speichern. Die Freigabe heißt bei Linux Samba und genau das wollen wir jetzt installieren und konfigurieren.
Samba installieren
Dank APT ist das schnell erledigt mit
sudo apt-get update
sudo apt-get install samba
Nach einer kurzen Weile ist Samba installiert. Die Service samba, smbd und nmbd sollten danach automatisch gestartet werden, was wir durch ein Kommando überprüfen können:
pi@raspberrypi:~ $ sudo service --status-all
[ - ] alsa-utils
[ + ] avahi-daemon
[ + ] bluetooth
[ - ] console-setup.sh
[ + ] cron
[ + ] dbus
[ + ] dhcpcd
[ + ] dphys-swapfile
[ + ] fake-hwclock
[ - ] hwclock.sh
[ - ] keyboard-setup.sh
[ + ] kmod
[ + ] networking
[ - ] nfs-common
[ + ] nmbd
[ - ] paxctld
[ - ] plymouth
[ - ] plymouth-log
[ + ] procps
[ + ] raspi-config
[ - ] rpcbind
[ - ] rsync
[ + ] rsyslog
[ + ] samba
[ - ] samba-ad-dc
[ + ] smbd
[ + ] ssh
[ - ] sudo
[ + ] triggerhappy
[ + ] udev
Samba konfigurierenNun müssen wir Samba noch konfigurieren. Dafür ist die Datei /etc/samba/smb.conf zuständig. Mit
more /etc/samba/smb.conf
können wir einen Blick hineinwerfen und erkennen schnell, das hier lang und breit alle Merkmale erklärt werden. Damit wollen wir uns in Gänze jetzt aber nicht beschäftigen und machen lieber unsere eigene, kleine config-Datei mit den Sachen, die uns interessieren. Zur Sicherheit benennen wir die alte Datei um und erschaffen dann eine neue leere und dem alten Namen:
sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.org
ls -lah /etc/samba
sudo touch /etc/samba/smb.conf
sudo nano /etc/samba/smb.conf
Nano, ein Raspbian-Editor, wird geöffnet und wir fügen folgenden Block Zeilen ein, der für eine Freigabe gilt:
[PiHome]
comment = Raspberry-Pi-Zero
path = /home/pi
read only = no
Gespeichert wird mit STRG+O und beendet wird Nano danach mit STRG+X. Normalerweise bekommt der Samba-Server die Änderung automatisch mit. Ansonsten starten wir die Services smbd und nmbd neu:
sudo service smbd restart
sudo service nmbd restart
Danach checken wir unsere Config auf etwaige Fehler mit
testparm
die wir gegebenfalls korrgieren.Schauen wir jetzt im Windows-Explorer unter Netzwerk nach. Ja, da ist er doch, unserer Raspi, unter RASPBERRYPI.
Wenn wir darauf klicken, erscheint ein Fenster mit einer Passwort-Abfrage.
Hier gibt es zwei Haken.
Erstens: Welches Kennwort?
und 2. wird standardmäßig die Windows-Domäne oder der Computername (bei mir COOL-I5) benutzt.
Um 1. zu bereinigen, müssen wir einen User samt Passwort auf unserem Raspi anlegen. Das geht mit den Zeilen
sudo smbpasswd -a pi
wobei der Parameter -a für add user steht, was wir ja wollen. Wir werden danach nach dem Passwort gefragt, das wir noch wiederholen. Damit ist der User eingerichtet. Wollen wir einen User später mal aussperren, so benutzen wir -d für disable. Reinlassen können wir ihn dann wieder mit -e für enable .Unser 2. Manko besetigen wir, indem wir im Fenster unter Windows Anderes Konto verwenden anklicken und dann bei Benutzer \pi eingeben und unter Kennwort das soeben verwendete.
Dann wählen wir noch Anmeldedaten speichern, um nicht jedesmal das Passwort eingeben zu müssen.
Nach Klick auf OK sollten wir nun einen Ordner mit dem Namen unserer Samba-Freigabe, nämlich PiHome sehen. Ein Doppelklick darauf bringt uns in das Home-Verzeichnis unseres Pi-Users. Hier können wir nun alle Dateien editieren.
Probieren wir es doch gleich einmal aus. Laden wir die .profile in unseren Windows-Editor und ergänzen wir die Datei am Ende durch alias ll='ls -lah' und speichern die Datei im Windows-Editor ab.
Gehen wir wieder via Putty auf unseren Raspi und geben
cat .profile
ein. Und siehe da: die neue Zeile ist auf dem System.Wir können jetzt also komfortabel unsere Projekt-Dateien im Windows-Editor editieren. Natürlich können wir auch Dateien in unser Homeverzeichnis kopieren, etwa in der Eingabeaufforderung von Windows mit
copy *.py \\raspberrypi\pihome
Nach einem Reboot des Raspi stehen die Freigabe übrigens automatisch wieder zur Verfügung. Wir müssen das Prozedere also nur einmal pro Verzeichnis durchführen.Auf die gleiche Weise können natürlich auch andere Verzeichnisse freigegeben werden, auch solche, die über einen USB-Hub mit dem Raspi verbunden sind. So können wir einen z. B. einen Fileserver bewerkstelligen, der sehr wenig Strom verbraucht und uns allzeit mit Filmen, MP3s etc. versorgt. Ist bleibt aber zu bedenken, das der Pi Zero nur über WLAN funkt und wir Datenraten von vielleicht 5 MB/s haben werden. Das reicht zum Streamen von Filmen dicke, nur das Kopieren von langen Dateien wird vielleicht etwas langwierig, was aber eigentlich nicht stören sollte, da es im Hintergrund geschieht. Wenn man es eilig hat, kann man natürlich auch den USB-Stick vom Raspi abziehen, in den Windows-PC einstecken und dann schneller kopieren. Oder man erwägt einen Raspi 3B+ mit Gigabit-LAN über USB 2.0, was dann so ungefähr 50 MB/s (480 MBit/s ist USB 2.0-Limit) bringen sollte.