Raspberry Pi – SWAP erweitern

  1. Vorwort
  2. Swap erweitern

    1. Auf dem Pi einloggen
    2. Sich root-Rechte geben
    3. Die Datei “/etc/dphys-swapfile” öffnen und bearbeiten
    4. Setup und AKtivierung des Swap

1 Vorwort

Der RAM eines (Stand: 21.10.2014) aktuellen Raspberry Pi (B+) ist 512MB groß.

Je nach Anwendung(-en) kann der Pi an seine Grenzen geraten. Dass er trotzdem so stabil wie möglich weiter läuft sollte man also den Swap erweitern (Standard müsste 100MB sein).

Bei meinem Pi benutze ich einen 16GB Speicher – das ist für meine Zwecke mehr als genug. Also kann ich auch den Swap großzügig vergrößern.

2 Swap erweitern

2.1 Auf dem Pi einloggen

Das kann man entweder per SSH oder direkt “vor Ort” machen.

2.2 Sich root-Rechte geben

Entweder man loggt sich als root-User ein oder man führt jeden Befehl mit dem vorangestellten “sudo” aus

2.3 Die Datei “/etc/dphys-swapfile” öffnen und bearbeiten

Die Datei “/etc/dphys-swapfile” mit

öffnen und folgende Zeile einfügen (überschreiben):

2.4 Setup und AKtivierung des Swap

Anschließend folgt ein Setup der Swap-Datei und das aktivieren des Swap.

Der Swap sollte nun on-the-fly geändert werden und ihr solltet somit einen größeren Spielraum beim RAM zur Verfügung haben.

Raspberry Pi – Raspbian installieren

Nachdem ich gelesen habe, dass der nächste Raspberry Pi (Version 2) frühestens 2017 kommen solle. Meine Hoffnung wurde zerschmettert und somit habe ich mir einen Raspberry Pi B+ (B Plus) zugelegt.

Edit: Mittlerweile ist er ja bereits erschienen, groß geändert hat sich an der Vorgehensweise allerdings nichts.

Hier eine kleine Anleitung zur Installation eines Raspbian. Die Vorgehensweise müsste sich allerdings auch auf die anderen Betriebssysteme übertragen lassen.

  1. Benötigte Materialien
  2. Vorbereitung
  3. Betriebssystem installieren
  4. Abschluss

1 Benötigte Materialien

  • Einen Raspberry Pi B+ (wobei diese Anleitung auch auf alle Vorgänger zutreffen dürfte)
  • Eine Flash-Speicherkarte (je nach Version)
    • Raspberry Pi B+ => microSD
    • Vorgänger des B+ => SD
  • Eine Stromversorgung für den Pi
  • Für die Erstinstallation einen Monitor / Fernseher mit HDMI-Anschluss (Composite sollte auch funktionieren)
  • Eine USB-Tastatur
  • Einen Internetzugang

2 Vorbereitung

Zur Vorbereitung werden wir erst einmal das Betriebssystem herunterladen. Das macht man am Besten durch die offizielle Quellen. Die heruntergeladene Datei wird entpackt, dadurch hat man dann eine .img Datei.

Diese .img Datei kann man nun mit dem Win32 Disk Imager auf die (micro-)SD-Karte spielen.

Dazu startet man den Disk Imager, wählt den entsprechenden Pfad zur .img Datei aus, wählt das richtige Device (Gerät, Laufwerksbuchstabe) aus und sobald man sich vergewissert hat, dass alle Angaben korrekt sind, drückt man auf den Button “Write“.

Dadurch wird das Image auf die (micro-)SD-Karte geschrieben.

!!! Bevor die Stromversorgung des Pi hergestellt wird

Nachdem das Betriebssystem erfolgreich auf die (micro-)SD-Karte geschrieben wurde kann es in den dafür vorgesehenen Slot geschoben werden. Anschließend noch das Internetkabel, die Tastatur und den Monitor / Fernseher anschließen.

Nachdem man sich vergewissert hat, dass alles richtig angeschlossen und vorbereitet ist, kann die Stromversorgung des Pi hergestellt werden.

3 Betriebssystem installieren

Beim ersten Systemstart wird eine Vorkonfiguration vorgenommen – das kann etwas dauern.

Das Betriebssystem zu installieren ist durch die geführte Installation recht simpel.
Im Grunde kann man einfach die Punkte nacheinander abarbeiten. Das, was nicht benötigt wird, kann ausgelassen werden.

Empfehlen würde ich den SSH-Server. Dadurch reichen dem Pi ein Netzwerkkabel und die Stromversorgung zum Betrieb.

4 Abschluss

Ich kann verstehen, die Euphorie ist groß.
Deshalb: Es fehlt, um per SSH auf den Pi zugreifen zu können, nur noch eine Information: die IP-Adresse des Pi.

Die IP-Adresse wird am einfachsten mittels

Die Ausgabe davon sollte in etwa so aussehen:

Mit der IP-Adresse kann nun mittels SSH auf den Pi zugegriffen werden und das System auf den aktuellsten Stand gebracht werden.
Bekannterweise mit:

und

Der Pi sollte nun den eigenen Ansprüchen angepasst werden. Empfehlenswert ist natürlich noch die Firewall zu konfigurieren!

Windows-Freigabe unter Linux einbinden (Kommandozeile)

Heute wollen wir eine Windows-Freigabe unter Linux (Debian, Ubuntu) einbinden.

  1. Die benötigten Pakete installieren
  2. Der Aufbau
  3. Beispiel

1. Die benötigten Pakete installieren

In diesem Fall ist es nur eines, nämlich “cifs-utils”.

2. Der Aufbau

Möchte man eine Freigabe dauerhaft einbinden, so nutzt man am Besten die Filesystem-Tabelle. Diese kann man mit dem gewünschten Editor folgendermaßen aufrufen:

Hier trägt man in dieser Reihenfolge (getrennt jeweils durch ein Leerzeichen) ein:

  1. file system (NETBiosname, IP-Adresse und Freigabenamen)
  2. mount point (lokaler Mount-Punkt)
  3. type (in unserem Fall “cifs”)
  4. options (Charset, Benutzerdaten etc.)
  5. dump (ob ein Backup des Laufwerks mittels “dump” erstellt werden soll – 0 für kein Backup, alles Andere für ein Backup)
  6. pass (Priorität zur Überprüfung des Laufwerkes mittels “fsck” – 0 für keine Überprüfung, 1 für hohe Priorität, 2 für niedrigere Priorität)

3. Beispiel

  1. Die IP-Adresse unseres Windows-Rechners ist “192.168.115.10” und der Freigabename “share”.
  2. Der Mount-Punkt ist “/mnt/network/computername/share”
  3. type ist in unserem Fall, wie schon erwähnt, “cifs”
  4. Die options werden sein “credentials”, “uid”, “iocharset” und “sec”
  5. dump wird in unserem Fall “0” sein – wir möchten in diesem Fall kein Backup
  6. pass wird in unserem Fall auch “0” sein – wir möchten in diesem Fall keine Überprüfung

So sieht die fertige Zeile dann im Endeffekt aus:

//192.168.115.10/share /mnt/network/computername/share cifs credentials=/root/.smbcredentials,uid=1000,iocharset=utf8,sec=ntlm 0 0

Für die in Punkt 4 angegebene Option “credentials” müssen wir noch

ausführen und

username=INSERT YOUR USERNAME OF THE WINDOWS MACHINE
password=INSERT THE PASSWORD

einfügen.

Hat man das getan kann man mit dem Befehl

alles in der Datei /etc/fstab aufgeführten Mounts einbinden.

Es könnten Fehler auftreten, wenn das Betriebssystem die “sec”-Option nicht unterstützen sollte (den Wert). In einem solchen Fall könnte man “ntlm” durch “ntlmv2” ersetzen.

SSH-Server installieren und sichern

Heute wird ein SSH-Server (Secure Shell) installiert und abgesichert. Dazu wird zählen

  1. SSH-Server installieren
  2. Root-Login verbieten
  3. Listen-Port ändern
  4. Benachrichtigung bei Login (per e-mail)

Hinweis: Ich verwende den Editor nano. Eine Datei wird mittels STRG+O gespeichert und mittels STRG+X geschlossen.

1. SSH-Server installieren

Installieren ist relativ simpel. Ich benutze meistens apt-get.

Bevor allerdings etwas installiert wird, sollte man die Paketliste erneuern und gegebenenfalls das System auf den neusten Stand bringen.

Ist dies geschehen, kann man mit der Installation des SSH-Servers fortfahren.

Es kommt wahrscheinlich eine Anzeige mit mehreren Abhängigkeiten und zusätzlich benötigten Paketen und die Frage, ob man fortfahren wolle – bestätigen.

2. SSH Root-Login verbieten

Den Root-Login zu verbieten dient natürlich der Sicherheit, denn auf jedem Linux gibt es den Benutzer “root” – ein potentieller Angreifer muss nur noch das Passwort herausfinden. Bevor man nun aber den Root-Login verbietet, sollte man natürlich einen anderen Benutzer anlegen – sonst hat man im worst-case keinen Zugriff mehr auf den Server.

In diesem Beispiel können der USERNAME und weitere Angaben individuell angegeben werden.

Nachdem man diesen Befehl ausgeführt hat, wird man zwei Mal nach dem gewünschten Passwort gefragt.
Nachfolgend werden Eingaben von Informationen über den Benutzer abgefragt.
Name und weitere Angaben können einfach übersprungen werden, indem man die Enter-Taste drückt.
Dann sollte eine Frage erscheinen, ob die angegebenen Informationen korrekt sind – bestätigen.

Anschließend sollte man sicherstellen, dass man sich mit dem neuen Benutzer einloggen kann.

Führt man diesen Befehl als “root” aus, wird man nicht nach dem Passwort gefragt, von einem anderen Benutzer allerdings schon.

Ist das gelungen, kann weiter fortgefahren werden.

um wieder auf den eigentlichen Benutzer zurückzukehren und den Root-Login zu verbieten.

Ich benutze hierfür den Editor nano. Es kann natürlich auch der persönlich präferierte Editor genutzt werden.

Nun wird die Konfigurationsdatei für den SSH-Server geöffnet.

Hier sucht man nun nach der Zeile

PermitRootLogin yes

und ändert es in

PermitRootLogin no

um. Standardmäßig ist der Login als root gestattet – mit einem ändern von “yes” auf “no” wird es verboten.
Ist der Wert geändert wird die Datei gespeichert und geschlossen.

3. Listen-Port ändern

WICHTIG! Sollte auf dem System eine Firewall installiert sein, sollten auf jeden Fall Vorbereitungen getroffen werden, dass der Port auch zugelassen sein wird – sonst hat man im worst-case keinen Zugriff mehr auf den Server.

Hierfür öffnen wir wieder die Konfigurationsdatei für den SSH-Server.

Nun sucht man nun nach der Zeile

Port 22

Der Standard-Port für SSH ist 22 – nun einfach die 22 durch den gewünschten Port ersetzen. Hier sollte man aufpassen und keinen anderweitig verwendeten Port verwenden. Beispiele sind

  • 20/21 -> ftp
  • 80 -> http
  • 443 -> https

und viele mehr – nachzulesen hier.

Ist der Port geändert wird die Datei speichert und geschlossen und man führt

aus. Der SSH-Server wird neu gestartet.

Mit dem Befehl

kann man sehen, auf welchem Port der SSH-Server “lauscht”.

4. Benachrichtigung bei Login (per e-mail)

Vorraussetzung: Ein Paket für den Mailversand wie zum Beispiel Postfix ist installiert und konfiguriert, damit die Mail auch verschickt werden kann.

Möchte man bei jedem Login eine e-mail erhalten kann man folgendes Script erstellen und Einstellungen übernehmen.

Mit dem ersten Befehl wird die Datei für das Script erstellt, mit dem zweiten wird sie dann bearbeitet und anschließend soll sie ausführbar sein.

Dann kommt nachfolgendes Script in die gerade geöffnete Datei “shell-login.sh”. Natürlich kann man es noch Wunschspezifisch anpassen.

Die Datei wird wieder gespeichert und geschlossen.

Falls das Paket “finger” noch nicht installiert sein sollte, kann man es mitttels

nachinstallieren.

In der Datei “/etc/profile”

fügt man dann die Zeilen

hinzu (die Werte für “sender@domain.tld” und “receiver@domain.tld” natürlich anpassen) – das war es auch schon.

Ist alles erfolgreich abgelaufen ist der SSH-Server schonmal etwas sicherer – es gibt wie immer keine 100%ige Sicherheit. Man könnte auch noch eine Authentifizierung per Key verlangen, den Timeout einstellen und so weiter.