
Photo by Daniel von Appen at Unsplash Daniel von Appen
Einbinden der Festplatte
Nur wenn die USB-Festplatte neu in die USB Buchse eingesteckt wird, bindet das System sie automatisch ein. Wir wollen das aber auch in jeder anderen Lage, nach einem Neustart zum Beispiel. Das müssen wir dem System erst beibringen.
Warum eigentlich eine externe Festplatte? Der Speicher auf der Raspberry ist sehr begrenzt. Viele Anwendungsgebiete der Raspberry verlangen jedoch das Verwalten großer Datenmengen.
Jede dieser Anwendungen verwaltet dann ‘ihre’ Daten in einem eigenen Ordner auf dieser Festplatte. Manchmal greifen sie auch auf dieselben Daten aus unterschiedlichen Gründen zu.
Die Grundlage jeder Datenverarbeitung ist es, dass jede Anwendung den Ordner, den Container, mit ‘seinen’ Daten sicher findet. Im Folgenden stellen wir diese Container zur Verfügung.
Man kann für jede Anwendung eine eigene Partition (Laufwerk) auf der Festplatte einrichten. Ein Grund dafür ist die Datensicherheit. Wenn eine Partition Fehler im Dateisystem aufweist, sind die anderen Partitionen davon nicht betroffen. Die Daten sind physisch voneinander getrennt.
Alles auf ein Laufwerk zu packen und die Daten nur auf der Software-Ebene voneinander abzugrenzen, geht aber genauso gut.
Unix kennt keine Laufwerksbuchstaben wie Windows sie hat. Geräten wie Festplatten oder USB-Sticks werden Laufwerke zugewiesen, in den sie dem geneigten Publikum ihren Inhalt präsentieren. Standard auf der Raspberry ist das Verzeichnis /media/ .
Jedes mal, wenn ein Gerät in die Raspberry eingehängt wird, entsteht dort ein Unterverzeichnis, in dem auf die Daten des Gerätes zugegriffen werden kann.
Der Vorgang heißt unter Unix ‘einhängen’ oder ‘mounten’.
Wir werden das System so konfigurieren, dass dort dauerhaft und bei jedem Neustart wieder die Daten zu finden sind.
Wir werden dazu auf der Festplatte mehrere Partitionen einrichten und unter /media/ mehrere Unterverzeichnisse erstellen. Dann verknüpfen wir die Laufwerke mit den Verzeichnissen. Alles keine Raketentechnik.
Wir können das vollständig auf der Eingabeaufforderung erledigen, wie alles auf Unix.
Grundsätzlich ist es besser, mit Eingabeaufforderung zu arbeiten.
Es gibt aber auch Möglichkeiten, die grafische Oberfläche zu benutzen. Wir gehen auf einige dieser Methoden ein.
Wir gehen bei diesem Tutorial davon aus, das die Platte leer ist.
ACHTUNG. Wenn die Platte Daten enthält, sind sie nach der folgenden Prozedur futsch.
Variante 1:
Mit den grafischen Oberflächen Gparted und PcManFM
Mit STRG+ALT+T oder mit dem Icon oben links das Terminalfenster mit der Eingabeaufforderung öffnen und den gerade installierten grafischen Festplattenmanager ‘GParted’ starten.
pi@Raspi-Server:~ $ sudo gparted
GParted legt auch ein Icon im Startmenü unter Einstellungen an. Kann man natürlich auch benutzen.





Mit GParted auf der Festplatte arbeiten
GParted startet mit der Ansicht des Systemlaufwerks.
Oben rechts ist eine Dropdown-Liste, mit der die richtige Platte ausgewählt werden kann (Bild 1). Im Bild 2 habe ich eine Platte ausgewählt, auf der sich bereits zwei Laufwerke befinden. Bei einer neuen Platte wird der entsprechende Balken leer sein oder eventuell ein vorformatiertes Laufwerk anzeigen, das von Linux auch sofort eingehängt wird, wenn man die Platte anschließt.
In dem Fall muss man die Platte erstmal aushängen, d.h. vom System entkoppeln. Dismount heißt der Vorgang bei Linux. Mit Rechtsklick in den Balken kriegen wir ein Kontextmenü. Auf “Aushängen” klicken (Bild 3). Nach dem Aushängen stehen uns mehr Optionen zur Verfügung (Bild 4). Wir entfernen ein eventuell vorhandenes Laufwerk mit “Löschen” und erstellen ein neues Laufwerk mit “Neu”. In dem anschließenden Dialog wählen wir die gesamte Größe der Platte, erstellen als Primäre Partition und wählen das Dateisystem “ext4”. Wir können hier auch eine Datenträgerbezeichnung vergeben. Müssen wir aber nicht. Dann klicken wir “OK”.
Es muss nicht der ganze Platz auf der Platte in ein Laufwerk gepackt werden. Man kann den Vorgang auch mehrmals mit kleineren Einheiten wiederholen.
Wenn wir fertig sind, klicken wir auf den grünen Haken (Bild 4) um alles ausführen zu lassen. Erst jetzt tut sich tatsächlich etwas auf der Platte.
Wenn wir fertig sind, brauchen wir noch eine Information. Mit Rechtsklick auf das Laufwerk holen wir sie uns unter “Information”. Mit der UUID (Bild 5) bringen wir dem System bei, die Platte in das von uns gewählte Laufwerk bei jedem Start einzuhängen.
Dazu müssen wir eine Systemdatei editieren, die sich im Verzeichnis /etc/ befindet. Die Datei “fstab”. Das kann man natürlich auf der Eingabeaufforderung machen. Ich erkläre hier einmal beispielhaft die grafisch unterstützte Variante mit dem Dateimanager PCManFM und dem vorhin installierten Editor Geany.
GParted offen lassen und den Dateimanager aufrufen. Das tun wir nicht über das Startmenü. Sondern wir rufen ein neues Terminalfenster auf und geben ein:
pi@Raspi-Server:~ $ sudo pcmanfm
Wir brauchen die Superkräfte der Pi, um fstab zu editieren. Deshalb stellen wir ein ‘sudo’ voran.
Ich möchte an dieser Stelle nicht unerwähnt lassen, dass das führen eines Dateimanagers mit Administratorrechten zur totalen Zerstörung des Systems berechtigt. Theoretisch. Praktisch auch.
Navigieren wir ins Verzeichnis /etc/ und markieren fstab mit der Maus. Mit Strg+C und Strg+V eine Sicherungskopie der originalen fstab anlegen. Im folgenden Dialog einen Dateinamen wie “fstab.org” eingeben und auf “Umbenennen” klicken.
Jetzt rechtsklick auf fstab und “Geany” oder “Öffnen mit …” und Geany aussuchen. Wer will, kann auch mit “Dateieigenschaften -> Öffnen mit … -> Anwendung auswählen” fstab dauerhaft mit Geany verknüpfen. In die offene fstab tragen wir die ermittelte UUID des Laufwerks zusammen mit dem gewünschten Verzeichnis ein.
Die Zeile sollte dann so aussehen.
UUID="die-ermittelte-UUID" /media/Raspi-Server/Web ext4 defaults 0 1
Die einzelnen Bereiche werden durch mindestens ein Leerzeichen getrennt. Die UUID ist die Kennung des Laufwerks. Das Verzeichnis /media/Web erstellen wir gleich. “ext4” ist das gewählte Dateisystem. “defaults” sind die Standardeinstellungen, mit denen das System das Laufwerk behandelt. Das reicht in der Regel. Mit “0” wird ein Backup mittels des Programms “dump” übersprungen. “1” veranlasst eine Prüfung des Laufwerks beim Booten.
Das wiederholen wir für jedes Laufwerk, das wir eingerichtet haben. Das könnte dann am Ende so aussehen.
UUID="die-ermittelte-UUID" /media/Raspi-Server/Web ext4 defaults 0 1 UUID="die-ermittelte-UUID" /media/Raspi-Server/Public ext4 defaults 0 1 UUID="die-ermittelte-UUID" /media/Raspi-Server/Medien ext4 defaults 0 1 UUID="die-ermittelte-UUID" /media/Raspi-Server/Privat ext4 defaults 0 1
Die Verzeichnisse können natürlich auch anders heißen. Theoretisch geht auch alles mit nur einem Laufwerk. Dann würde die einzige Zeile so aussehen.
UUID="die-ermittelte-UUID" /media/Raspi-Server ext4 defaults 0 1
Neugierige lesen hier weiter über alle Einträge, die in der fstab möglich sind.
Jetzt die fstab speichern.
Wir müssen nun noch die Verzeichnisse erstellen. Navigieren wir zum Verzeichnis /media/ und erstellen das Verzeichnis /Raspi-Server/.
Dann unterhalb davon die Verzeichnisse Web, Public, Privat und Medien. Das geht zum Beispiel mit einem Rechtsclick in das Verzeichnis. “Neu” auswählen –> “Verzeichnis” –> Name eingeben und dann die Entertaste. Also genau wie bei Windows auch. Wer hier Schwierigkeiten hat, sollte spätestens jetzt nach einer sinnvolleren Nachmittagsgestaltung Ausschau halten.
Die vier Verzeichnisse spiegeln die Aufgabenbereiche wieder, für die die Raspberry eingesetzt werden soll. Unter Web natürlich alles was irgendwie nach Internet aussieht. Unter Medien kommen die Filme, Bilder und die Musik. Die Datensammlungen werden in einen öffentlichen Bereich und in einen Bereich geteilt, in dem jeder Benutzer seine privaten Daten aufbewahren kann.
Zum Abschluss noch
pi@Raspi-Server:~ $ sudo mount -a
um alle in der fstab eingetragenen Laufwerke in ihre Verzeichnisse einzuhängen.
In der Variante mit nur einer Partition sind die beiden letzten Arbeitsschritte umgekehrt vorzunehmen. Erst mounten und dann die Verzeichnisse Web, Public, Privat und Medien erstellen.
Wenn wir jetzt nach /media/Raspi-Server/Web navigieren, ist das Verzeichnis nicht mehr leer. Es enthält das Unterverzeichnis “lost+found”. Ein vom Betriebssystem angelegtes Verzeichnis , das wir am Besten in Ruhe lassen. In der Variante mit nur einem Laufwerk befindet sich “lost+found” im Verzeichnis /media/Raspi-Server.
GParted kann geschlossen werden. PcManFM und Geany behalte ich persönlich offen bis zum Abschluss aller Arbeiten. Das ist aber Geschmackssache. Können beide jetzt auch geschlossen werden.
Das war die grafisch unterstützte Variante. Im weiteren Verlauf erkläre ich nur noch die folgende Methode in der Konsole.
Variante 2:
ACHTUNG. Wenn die Platte Daten enthält, sind sie nach der folgenden Prozedur futsch.
Konsole öffnen. Wir manipulieren die Festplatte(n) mit Hilfe von ‘fdisk’. Zunächst zeigen wir uns an, was überhaupt da ist.
pi@Raspi-Server:~ $ sudo fdisk -l
ergibt folgende Ausgabe.
Device Boot Start End Sectors Size Id Type /dev/mmcblk0p1 8192 3140625 3132434 1,5G e W95 FAT16 (LBA) /dev/mmcblk0p2 3140626 30867455 27726830 13,2G 5 Extended /dev/mmcblk0p5 3145728 3211261 65534 32M 83 Linux /dev/mmcblk0p6 3211264 3352575 141312 69M c W95 FAT32 (LBA) /dev/mmcblk0p7 3358720 30867455 27508736 13,1G 83 Linux Device Boot Start End Sectors Size Id Type /dev/sda1 2048 307202047 307200000 146,5G 83 Linux /dev/sda2 307202048 625141759 317939712 151,6G 83 Linux Device Boot Start End Sectors Size Id Type /dev/sdb1 256 263424255 263424000 1004,9G 83 Linux /dev/sdb2 680960768 732566527 51605760 196,9G 83 Linux /dev/sdb3 263424256 680960767 417536512 1,6T 83 Linux Partition table entries are not in disk order.
Hier sind offenbar drei Platten. Das war zu dem Zeitpunkt der Zustand meines Testsystems. /dev/mmcblk0p1-7 enthalten das Betriebssystem.
Finger wech davon!
/dev/sda und /dev/sdb sind die zu dem Zeitpunkt eingehängten USB-Platten. Wir manipulieren sie einzeln mit
pi@Raspi-Server:~ $ sudo fdisk /dev/sda bzw. pi@Raspi-Server:~ $ sudo fdisk /dev/sdb
Die Konsole sieht jetzt anders aus.
Wir sind im Programm ‘Fdisk’ und können Laufwerke durch die Eingabe von Buchstaben anzeigen, löschen und erstellen.
Die Standardbefehle von fdisk sind:
-
- p anzeigen
-
- n neu anlegen
-
- d löschen
-
- q beenden ohne Änderungen
- w Änderungen schreiben und beenden
Command (m for help): p
Zunächst p zur Anzeige der vorhandenen Laufwerke. Den Schritt können wir uns schenken, denn die Liste haben wir uns ja eben schon angeschaut.
Dann d zum Löschen. Muss für jede Partition wiederholt werden.
Dann n um eine neue Partition zu erstellen. Wir erstellen vier primäre Partitionen. Das ist das Limit für Linux. Für mehr Parttitionen müssten wir auf logische Laufwerke zurück greifen und das Thema behandle ich hier jetzt nicht. Nehmen wir an, unsere Platte ist 1000GB groß. Dann wäre die Aufteilung meiner Wahl:
-
- 150GB für die Webanwendungen
-
- 150GB für die private Cloud
-
- 200 GB für die öffentliche Cloud
- 500 GB für die Medien
Ihr wisst besser, wie Eure Anforderungen sind. Also n für neu anlegen, dann p für primäre Partition, dann die -Taste um den Vorschlag für den ersten Zylinder zu übernehmen (da können bei Euch andere Zahlen stehen) und schließlich +150G um die Größe der Parttition festzulegen. Sooft wiederholen wie gewünscht. Beim letzten Mal keine Größe eingeben, sondern nur um den restlichen Platz aufzubrauchen. Das G am Ende kann auch ein M für Megabyte sein, aber es ist wichtig, die Einheit anzugeben. Sonst glaubt fdisk, dass Ihr Sektoren meint und das führt zu unerwünschten Waschergebnissen.
Das Limit für Partitionen ist bei fdisk 1,5 TB. Wenn Ihr größere Partitionen braucht, sucht nach den Begriffen parted und GBT in der Suchmaschine Eures Vertrauens. Oder benutzt GParted.
Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (197-621, default 197): Using default value 197 Last cylinder or +size or +sizeM or +sizeK (197-621, default 621): +150G
Schließlich w , um die Änderungen auf die Platte zu schreiben.
Jetzt müssen die Partitionen noch formatiert werden. Eine erneute Eingabe von
pi@Raspi-Server:~ $ sudo fdisk -l
liefert die Liste mit den neuen Laufwerken. Das dürften jetzt /dev/sda1 bis /dev/sda4 sein. Formatiert werden sie mit dem ext4 Dateisystem.
pi@Raspi-Server:~ $ sudo mkfs.ext4 /dev/sda1
Entsprechend für jedes Laufwerk.
Die Laufwerke sind jetzt benutzbar. Sie sollen noch bei jedem Start automatisch eingehängt werden. Dazu müssen die Laufwerke in die Datei fstab im Verzeichnis /etc/ eingetragen werden. Zunächst eine Sicherungskopie der originalen fstab anlegen.
pi@Raspi-Server:~ $ sudo cp /etc/fstab /etc/fstab.org
Wir ermitteln die UUID der Platten. Obwohl unter Linux die Geräte auch mit z.B. /dev/sda angesprochen werden können, ist das an dieser Stelle die bessere Lösung.
pi@Raspi-Server:~ $ sudo blkid
Gibt eine Liste aller Laufwerke mit Ihren UUIDs aus. Wir öffnen die fstab mit dem Konsolen-Editor nano. und tragen die ermittelten Werte am Ende der Datei ein wie folgt:
pi@Raspi-Server:~ $ sudo nano /etc/fstab proc /proc proc defaults 0 0 /dev/mmcblk0p1 /boot vfat defaults 0 2 /dev/mmcblk0p2 / ext4 defaults,noatime 0 1 UUID=die-ermittelte-UUID /media/Raspi-Server/Web ext4 defaults 0 1 UUID=die-ermittelte-UUID /media/Raspi-Server/Public ext4 defaults 0 1 UUID=die-ermittelte-UUID /media/Raspi-Server/Privat ext4 defaults 0 1 UUID=die-ermittelte-UUID /media/Raspi-Server/Medien ext4 defaults 0 1
So wird jedes Laufwerk mit den richtigen Verzeichnissen mit den default Einstellungen verbunden und bei jedem Neustart überprüft.
Die Verzeichnisse können natürlich auch anders heißen. Theoretisch geht auch alles mit nur einem Laufwerk. Dann würde die einzige Zeile so aussehen.
UUID="die-ermittelte-UUID" /media/Raspi-Server ext4 defaults 0 1
Neugierige lesen hier weiter über alle Einträge, die in der fstab möglich sind.
STRG+O um zu Speichern und STRG+X zum Verlassen.
Dann legen wir die Verzeichnisse an, in die die Laufwerke eingehängt werden sollen.
pi@Raspi-Server:~ $ sudo mkdir /media/Raspi-Server
pi@Raspi-Server:~ $ sudo mkdir /media/Raspi-Server/Web
pi@Raspi-Server:~ $ sudo mkdir /media/Raspi-Server/Public
pi@Raspi-Server:~ $ sudo mkdir /media/Raspi-Server/Privat
pi@Raspi-Server:~ $ sudo mkdir /media/Raspi-Server/Medien
Jetzt hängen wir die Laufwerke mit dem mount-Befehl ein und checken, ob alles geklappt hat.
pi@Raspi-Server:~ $ sudo mount -a
Der zweite Befehl sollte eine Liste ausgeben, die alle unsere Laufwerke enthält. Wenn nicht, haben wir uns sehr wahrscheinlich einfach in der fstab irgendwo verschrieben.
In der Variante mit nur einer Partition ist die Reihenfolge der Befehle leicht verändert.
pi@Raspi-Server:~ $ sudo mkdir /media/Raspi-Serverpi@Raspi-Server:~ $ sudo mount -api@Raspi-Server:~ $ sudo mkdir /media/Raspi-Server/Webpi@Raspi-Server:~ $ sudo mkdir /media/Raspi-Server/Publicpi@Raspi-Server:~ $ sudo mkdir /media/Raspi-Server/Privatpi@Raspi-Server:~ $ sudo mkdir /media/Raspi-Server/MedienDie vier Verzeichnisse spiegeln die Aufgabenbereiche wieder, für die die Raspberry eingesetzt werden soll. Unter Web natürlich alles was irgendwie nach Internet aussieht. Unter Medien kommen die Filme, Bilder und die Musik. Die Datensammlungen werden in einen öffentlichen Bereich und in einen Bereich geteilt, in dem jeder Benutzer seine privaten Daten aufbewahren kann.
Wer bis hierher gekommen ist, wird mit mehr Arbeit belohnt. Wir erstellen einige Benutzer.