In diesem Beitrag wird es hauptsächlich darum gehen, wie man eine Festplatte in einem Linux System (z.B. Raspberry Pi) formatiert, mountet und diese Festplatte als festen bestandteil des Systems angibt. Zusätzlich werden wir unsere Festplatte so konfigurieren, dass es als Haupt-Speicherpfad für unser Cloud-System (Nextcloud) genutzt wird.
Ich hatte meine Cloud ohne eine externe Festplatte installiert und wollte die Festplatte dann nachträglich einbinden. Das hat mir aber so viele Probleme gemacht, dass ich es einfacher gefunden habe, die Festplatte zu formatieren und Nextcloud komplett von neu aufzusetzen.
Festplattenkennung auslesen
Damit wir die Festplattenkennung ausgeben können, geben wir folgendes in die Konsole (SSH) ein:
sudo blkid -o list -w /dev/null
Nach einer kurzen Wartezeit wird euch eine Liste von Laufwerken samt ihrer Daten angezeigt. Hier müsst ihr euer Laufwerk finden und euch die Kennung merken (aufschreiben). Die müsste sda1 oder ähnlich sein. Diesen Namen solltet ihr euch merken, weil ich in diesem Beitrag des öfteren darauf verweisen werde.

Laufwerk formatieren und mounten
Um euren Laufwerk zu formatieren, müsst ihr folgenden Befehl eingeben und das sda1 durch eure Festplatten-Kennung ersetzen.
sudo mkfs.ext4 /dev/sda1
Sobald ihr diesen Befehl abgeschickt habt, wird die Festplatte formatiert und am Ende habt ihr ein ext4 Dateisystem. Ich werde nicht auf die Details wie Dateisystem und die Notwendigkeit der Formatierung eingehen.
Jedoch kann ich euch sagen, dass ich die Installation von Nextcloud mit einer Festplatte versucht habe, welches ein NTFS Dateisystem hatte und es hat mir sehr viele Probleme gemacht. Seitdem ich das ext4 Dateisystem benutze, habe ich keine Probleme mehr mit meiner Cloud gehabt.
Laufwerk Mounten
In Windows ist es so, dass du ein Laufwerk per USB anschließt und dieser direkt vom System erkannt und gemountet wird. Mounten bedeutet, dass ein externes Laufwerk einen festen Pfad bekommt. Z.B. habt ihr an einem Windows Rechner die Festplatte C oder die Externe Festplatte D.
Linux arbeitet in dieser Hinsicht etwas anders. Das Laufwerk erhält beim anschließen eine eigene Kennung. Um die Erreichbarkeit der Festplatte zu vereinfachen, muss man die externe Festplatte mounten. Dadurch bekommt sie einen eigenen Pfad, wie z.B. /media/extern-1tb
Damit wir eine Festplatte mounten können, müssen wir erst einmal einen Ordner erstellen, unter dem später die Festplatte erreichbar sein wird. Ich habe zum Beispiel den Pfad /media/extern-1tb erstellt. Hierzu führen wir folgendes aus:
sudo mkdir /media/extern-1tb
Dieses Befehl erstellt in den Ordner media, einen Ordner mit dem Titel extern-1tb
Sobald der Ordner erstellt worden ist, können wir unsere Festplatte mit folgendem Befehl auf diesen Ordner verweisen. Bitte beachtet hierbei, dass FESTPLATTENKENNUNG mit eurer Kennung (z.B. sda1) ersetzt werden muss.
sudo mount /dev/FESTPLATTENKENNUNG /media/extern-1tb/
Nachdem ihr die Festplatte erfolgreich gemountet habt, ist diese unter dem zuvor angegebenen Pfad erreichbar. Wenn ich z.B. /media/extern-1tb angebt, wird auf die externe Festplatte verwiesen.
Dateirechte vergeben
In Linux gibt es Benutzer und Benutzer Gruppen. Falls ihr euren Benutzernamen nicht geändert habt (Raspberry Pi), ist euer Benutzername pi. Wenn ihr einen Ordner oder eine Datei erstellt, seid ihr automatisch der Eigentümer (owner). Es ist wichtig zu wissen, dass alle Ordner, die ihr bis jetzt erstellt habt nur für euch zugänglich sind, weil ihr der Besitzer seid.
Euer Webserver greift auf die Dateien unter dem Benutzernamen www-data zu. Das bedeutet im aktuellen Fall, dass die externe Festplatte nicht vom Webserver genutzt werden kann, weil der Eigentümer pi ist, also ihr seid. Deswegen werden wir die Festplatte dem Webserver zuweisen, damit dieser ungestört seine Operationen durchführen kann. Das machen wir mit folgendem Befehl. Bitte denkt dran, den Pfad zu eurer Festplatte anzupassen.
chown -R www-data:www-data /media/extern-1tb
Sobald ihr das gemacht habt, kann der Webserver (z.B. nginx), innerhalb des angegebenen Ordners, alles tun und lassen was er möchte.
Auto Mount
In Linux ist das so, dass eine externe Festplatte automatisch ausgeworfen wird, sobald du das System (Raspberry Pi) neu gestartet hast. Deswegen werden wir jetzt dafür sorgen, dass unser Raspberry Pi automatisch unsere externe Festplatte beim Booten (starten) mountet (im System verknüpft).
Das automatische einbinden von Festplatten ist mittlerweile sehr einfach. Wir geben in die Konsole folgendes ein:
sudo nano /etc/fstab
Nun seht ihr alle Laufwerke, die beim Start von eurem Rechner automatisch eingebunden werden. In eurem Fall (Raspberry Pi) gehört zu diesen Laufwerken auch die Speicherkarte, die bei jedem Start automatisch in euer System eingebunden wird.
Dort erstellt ihr eine neue Zeile und gebt eure Einbindung folgendermaßen ein:
{Festplattenkennung} {Zielordner} {Dateisystem} {Standardkonfiguraion} {Backup} {Reihenfolge}
In meinem Fall sieht das dann so aus:
/dev/sda1 /media/extern-1tb txt4 defaults 0 0
Wenn ich die Informationen eingetragen habe sieht das bei mir in der Konsole wie folgt aus:

Nachdem wir eine Zeile mit unserer Festplatte hinzugefügt haben, schließen wir die Datei (Strg + X) und bestätigen unsere Eingaben. Anschließend können wir unser System (Raspberry Pi) mit sudo reboot neu starten und kontrollieren, ob es funktioniert hat.
Wir haben jetzt gelernt, wie das Einbinden von Laufwerken in Linux-Systemen funktioniert und haben unsere Festplatte eingebunden. Dadurch haben wir alle Vorbereitungen für die Installation von Nextcloud abgeschlossen und werden uns im nächsten Beitrag anschauen, wie wir die Installation durchführen können. Hierbei werden wir die externe Festplatte als unseren Standard-Speicherpfad angeben.