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
1 |
passwd |
und das Passwort für den Nutzer „root“ mit
1 |
sudo passwd |
Anschließend wechseln wir zum Nutzer „root“ mit
1 |
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:
1 |
PermitRootLogin yes |
Nach einem
1 |
/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:
1 |
server meinntpserver iburst |
Die Änderungen werden mit einem
1 |
/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:
1 |
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:
1 |
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„:
1 |
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:
1 |
rpi-update |
Nachdem das Tool durchgelaufen ist, ist ein Neustart unseres Systems notwendig:
1 |
shutdown -r now |
Schlussendlich räumen wir unser System noch auf:
1 |
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
1 |
dmesg |
und
1 |
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:
1 2 3 4 5 6 7 |
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
1 |
shutdown -r now |
sollte die WLAN-Verbindung nun automatisch aufgebaut werden. Das verfolgt man am besten auch wieder im Log des DHCP-Servers.
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.
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.
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