Grundsätzliche Abläufe am Raspberry Pi
Manche Vorgänge am Raspberry Pi führen wir immer und immer wieder durch. Daher möchte ich in diesem Beitrag die häufigsten Wartungs- und Einrichtungsarbeiten am Raspberry Pi zusammenfassen. Zudem dient dieser Beitrag als ein Grundsatzdokument, auf das ich in anderen Beiträgen verweisen kann, anstatt immer und immer wieder die gleichen Abläufe zu beschreiben.
Raspberry Pi Grundinstallation
Betriebssystem auf SD-Karte kopieren
Zunächst besorgen wir uns ein Abbild eines passenden Betriebssystems. Ich verwende fast ausschließlich „Raspbian„, dass zum kostenfreien Herunterladen unter folgender Adresse bereitsteht:
https://downloads.raspberrypi.org/raspbian_lite_latest
Zudem benötigen wir unter Windows ein Programm, um das Image auf die SD-Karte zu kopieren. Hierfür bietet sich der „Win32DiskImager“ an:
http://sourceforge.net/projects/win32diskimager/
Erster Start
Nach dem erfolgreichen Beschreiben der SD-Karte setzen wir diese in die Himbeere ein, verbinden Netzwerk und Strom und beobachten das Logfile unseres DHCP-Servers. Entweder sehen wir dort, welche IP-Adresse unser Raspberry erhalten hat oder zumindest die MAC-Adresse, welche nach einer IP-Adresse „fragt“.
Wenn wir die IP-Adresse haben, melden wir uns mittels Putty via SSH am Raspberry an. Beim ersten Start verwenden wir hierfür den Nutzer „pi“ und das Passwort „raspberry„.
Passwörter ändern
Sind wir erfolgreich am System angemeldet, ändern wir zunächst das Passwort für den Nutzer „pi“ mit
passwd
und das Passwort für den Nutzer „root“ mit
sudo passwd
Anschließend wechseln wir zum Nutzer „root“ mit
su -
raspi-config
Zunächst richten wir unsere Himbeere mit dem Tool „raspi-config“ ein. Dieses erreichen wir durch den gleichnamigen Aufruf auf der Konsole als Nutzer „root„. Zunächst aktualisieren wir das Tool (Menüpunkte 9 => A0). Anschließend führen wir folgende Konfigurationsschritte durch:
- Wir expandieren das Dateisystem, damit die gesamte SD-Karte genutzt wird (Menüpunkt 1)
- Wir setzen die Umgebung auf de_UTF8 (5 => I1)
- Die Zeitzone wird angepasst (5 => I2)
- Das Tastaturlayout wird an die Umgebung angepasst (5 => I3)
- Wir passen den Hostnamen der Himbeere an (9 => A2)
- Wenn nicht erforderlich, deaktivieren wir den Device-Tree (9 => A5, disable)
Das Tool verlassen wir mit dem Punkt „Finish“ und starten den Raspberry neu.
SSH-Konfiguration
Im nächsten Schritt passen wir die SSH-Konfiguration an. In der entsprechenden Konfigurationsdatei „/etc/ssh/sshd_config“ ändern wir den SSH-Port auf einen anderen als 22. Zudem überlegen wir, ob wir in unserer privaten Netzwerkumgebung den SSH-Zugriff als Nutzer „root“ zulassen. Wenn dies gewünscht ist, suchen wir die Zeile beginnend mit „PermitRootLogin“ und ändern diese wie folgt:
PermitRootLogin yes
Nach einem
/etc/init.d/ssh restart
sind die Änderungen aktiviert.
NTP-Server einstellen
Wer, wie in diesem Beitrag beschrieben, einen eigenen NTP-Server einsetzt, trägt diesen nun in die Konfigurationsdatei „/etc/ntp.conf“ ein:
server meinntpserver iburst
Die Änderungen werden mit einem
/etc/init.d/ntp restart
wirksam.
Passwortloser SSH-Login
In vielen Beiträgen ist beschrieben, dass beispielsweise der openHAB-Server regelmäßig Aktionen auf dem Raspberry via SSH ausführt. Dazu ist ein passwortloser SSH-Login vom openHAB-Server auf die Himbeere notwendig.
Dazu geben wir auf dem openHAB-Server den öffentlichen Schlüssel aus:
cat /root/.ssh/id_rsa.pub
und fügen die komplette Ausgabe in folgende Datei auf dem Raspberry ein: „/root/.ssh/authorized_keys„.
In den meisten Fällen muss zuvor das „.ssh„-Verzeichnis per Hand erstellt werden:
mkdir /root/.ssh
Raspberry Komplettupdate
In fast jedem Beitrag weise ich darauf hin, dass wir vor dem jeweiligen Projekt die Himbeere aktualisieren. Daher fasse ich hier kurz die Schritte zusammen, um eine vollständige Aktualisierung durchzuführen.
Zunächst aktualisieren wir die lokale APT-Datenbank, alle mittels APT installierten Pakete und installieren das Tool „rpi-update„:
apt-get update -y && apt-get upgrade -y && apt-get dist-upgrade -y && apt-get install rpi-update -y
Anschließend aktualisieren wir die Firmware unseres Raspberry mit dem neuen Tool:
rpi-update
Nachdem das Tool durchgelaufen ist, ist ein Neustart unseres Systems notwendig:
shutdown -r now
Schlussendlich räumen wir unser System noch auf:
apt-get autoremove
WLAN einrichten
Um das WLAN auf unserem Raspberry einzurichten, prüfen wir nach dem Anschließen des WLAN-Sticks zunächst mit
dmesg
und
lsusb
, ob der Stick erkannt wurde und im System bereit steht. Falls dem so ist, editieren wir die Datei „/etc/network/interfaces„. Wir entfernen zunächst den kompletten Absatz, bei welchem es sich um den Adapter „wlan0“ handelt. Anschließend fügen wir an dieser Stelle folgende Zeilen ein, die natürlich an die eigenen Gegebenheiten angepasst werden müssen:
auto wlan0 allow-hotplug wlan0 iface wlan0 inet dhcp wpa-ap-scan 1 wpa-scan-ssid 1 wpa-ssid "dein_wlan_netzwerkname" wpa-psk "dEiN_sEhR_sIcHeReR_wLaN_sChLüSsEl"
Nach einem Neustart mit
shutdown -r now
sollte die WLAN-Verbindung nun automatisch aufgebaut werden. Das verfolgt man am besten auch wieder im Log des DHCP-Servers.
Jürgen Nielsen
21.02.2016 @ 16:08
….tja, da kann man nur sagen „Anfänger“!
Danke, darauf hätte ich eigentlich selbst kommen müssen, aber manchmal scheint man Scheuklappen ausgefahren zu haben und das Gehirn ausgeschaltet.
Danke.
Daniel Wenzel
19.02.2016 @ 13:01
/etc/ssh/sshd_config ist eine Konfigurationsdatei, kein Script oder andere ausführbare Datei.
Um den Inhalt zu ändern wird ein Editor benötigt.
Auf der Shell arbeite ich recht gerne mit „nano“
Der komplette „Befehl“ würde also lauten:
nano /etc/ssh/sshd_config
Den Texteditor nano beendet man mit der Tastenkombination STRG + X
Nano fragt uns beim Beenden, ob wir die Änderungen speichern wollen.
Jürgen Nielsen
19.02.2016 @ 12:43
Hallo,
sind diese Angaben für Jessie(Feb2016) noch zutreffend?
Z.B. bei der SSH-Konfiguration habe ich keinen Zugriff auf >> „/etc/ssh/sshd_config“ <<
Einerlei ob ich es als root , pi oder pi mit sudo versuche kommt immer : Keine Berechtigung
bzw Kommando nicht gefunden.
Danke
Gruß
Jürgen Nielsen