![]() |
Raspberry Pi: Externe USB-Platte/USB-StickProf. Jürgen Plate |
Das Standard-Speichermedium des Raspberry Pi ist seine SD-Karte. Wenn die Kapazität
der SD-Karte nicht ausreicht oder häufige Lese- und Schreibzugriffe stattfinden,
können Sie einen USB-Stick oder eine externe USB-Festplatte einbinden. Der
USB-Stick hat den Vorteil, dass er geräuschlos arbeitet und ohne externe Stromversorgung
auskommt, jedoch auch nur eine begrenzte Speicherkapazität hat. Eine USB-Festplatte
bietet dagegen eine wesentlich Speicherkapazität. Sie benötigt jedoch immer eine
externe Stromversorgung, da der Raspberry Pi auf dem USB-Port nicht genug Strom liefern
kann. Das Einbinden der Speichermedien erfolgt genauso wie bei jedem anderen
Linux-Rechner:
sudo mkdir /media/usbdisk
tail –f /var/log/messagesWenn Sie nun den USB-Stick oder die Platte anschließen, werden entsprechende Log-Einträge angezeigt, zum Beispiel:
... Dec 18 15:02:29 pipibox kernel: [ 2.015471] usb 1-1: New USB device found, idVendor=0c0b, idProduct=b136 Dec 18 15:02:29 pipibox kernel: [ 2.015476] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 Dec 18 15:02:29 pipibox kernel: [ 2.015480] usb 1-1: Product: HDT725032VLAT80 Dec 18 15:02:29 pipibox kernel: [ 2.015483] usb 1-1: Manufacturer: TrekStor Dec 18 15:02:29 pipibox kernel: [ 2.015486] usb 1-1: SerialNumber: 00000000000E0ECDW Dec 18 15:02:29 pipibox kernel: [ 2.022622] Initializing USB Mass Storage driver... Dec 18 15:02:29 pipibox kernel: [ 2.022876] scsi3 : usb-storage 1-1:1.0 Dec 18 15:02:29 pipibox kernel: [ 2.023077] usbcore: registered new interface driver usb-storage Dec 18 15:02:29 pipibox kernel: [ 2.023081] USB Mass Storage support registered. Dec 18 15:02:29 pipibox kernel: [ 3.024345] scsi 3:0:0:0: Direct-Access TrekStor HDT725032VLAT80 1.05 PQ: 0 ANSI: 0 Dec 18 15:02:29 pipibox kernel: [ 3.025337] scsi 3:0:0:0: Attached scsi generic sg1 type 0 Dec 18 15:02:29 pipibox kernel: [ 3.034324] sd 3:0:0:0: [sda] 625142448 512-byte logical blocks: (320 GB/298 GiB) Dec 18 15:02:29 pipibox kernel: [ 3.037312] sd 3:0:0:0: [sda] Write Protect is off Dec 18 15:02:29 pipibox kernel: [ 3.074354] sda: sda1 Dec 18 15:02:29 pipibox kernel: [ 3.087407] sd 3:0:0:0: [sda] Attached SCSI disk ...Die vorletzte Zeile "sda: sda1" sagt Ihnen, welchem Block-Device die Platte zugeordnet wurde. Diese Angabe benötigen Sie später für das Einhängen des neuen Gerätes. Mit [Strg]-[C] beenden Sie das Kommando tail wieder.
sudo mount -t vfat -o uid=pi,gid=pi /dev/sda1 /media/usbdisk/Dieses Mount-Kommando bindet die auf dem USB-Gerät vorhandene Dateistruktur unterhalb des Mountpoints (/media/usbdisk) ein. Das Gerät bleibt aber nur bis zum nächsten Systemneustart bzw. bis zum Aushängen eingebunden. Die Option -o sogt dafür, dass der User pi den Stick lesen und schreiben kann. Alternativ könnte man statt uid=pi,gid=pi auch nur gid=users,umask=007 angeben, dann können alle User, die zur Gruppe "users" gehören auf den Stick zugreifen.
cd /media/usbdisk ls –ali ...
sudo umount /media/usbdisk
Das Ein- und Aushängen von Dateisystemen per Hand ist eigentlich nur bei gelegentlicher Benutzung sinnvoll - wenn man beispielsweise für einen Datentransfer einen fremden Stick anschließen möchte. Soll das USB-Speichermedium dauerhaft betrieben werden, können Sie es so ins System einbinden, dass es gleich beim Booten gemounted wird. In diesem Fall ist auch zu überlegen, ob man das Windows-Dateisystem (vfat, ntfs) nicht gleich durch ein Linux-Dateisystem (in der Regel ext4) ersetzt. Damit fällt dann auch die Gefahr weg, über das bei vfat vorhandene Dateigrößen-Limit von 4 GByte zu stolpern.
Mit dem Kommando fdisk wird die vorhandene Partition geändert (als "root"-User). Mit "p" zeigt fdisk, welche Partitionen eingerichtet sind. Die in der Regel auf dem Stick vorhandene Windows-Partition wird in eine Linux-Partition umgewandelt. Mittels "t" wird auf den Typ 83 (Linux) umgestellt und dann mit "w" die Partitionstabelle auf den USB Stick geschrieben.
Achtung: Bitte auchten Sie genau darauf, welche Platte Sie beim Aufruf von fdisk angeben. Das Ändern der Partionstabelle vernichtet alle Dateiinfos auf der Platte.
Der Vorgang sieht dann prinzipiell so aus (Listing teilweise gekürzt):
fdisk /dev/sda Command (m for help): p Disk /dev/sda: 32.0 GB, 32015679488 bytes ... Device Boot Start End Blocks Id System /dev/sda1 32 62530623 31265296 c W95 FAT32 (LBA) Command (m for help): t Selected partition 1 Hex code (type L to list codes): 83 Changed system type of partition 1 to 83 (Linux) Command (m for help): p Disk /dev/sda: 32.0 GB, 32015679488 bytes ... Device Boot Start End Blocks Id System /dev/sda1 32 62530623 31265296 83 Linux Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.Sie können alternativ die vorhandene(n) Partition(en) mit "d" löschen und eine entsprechende Linux-Partition nach oben angegebenem Muster anlegen:
Command (m for help): d Selected partition 1 Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-15669247, default 2048): Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-15669247, default 15669247): Using default value 15669247 Command (m for help): ... (weiter wie oben)
Das Formatieren dauert nicht lange und ist mit einem Kommando erledigt:
sudo mkfs.ext4 -L USBPLATTE /dev/sda1 # oder auch: sudo mke2fs -t ext4 -L USBPLATTE /dev/sda1 ... Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: doneNun kann die neue Partition schon mal probeweise gemounted werden, damit Sie auch darauf zugreifen können.
#mount /dev/sda1 /mntNun können Sie nachsehen, ob auch alles geklappt hat:
df -h Filesystem Size Used Avail Use% Mounted on rootfs 3.6G 3.4G 247M 86% / /dev/root 3.6G 3.4G 247M 86% / devtmpfs 235M 0 235M 0% /dev tmpfs 49M 248K 49M 1% /run tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 98M 0 98M 0% /run/shm /dev/mmcblk0p1 56M 19M 38M 34% /boot /dev/sda1 7.4G 145M 6.9G 3% /mntWenn Sie die USB-Disk für den Datenaustausch mit einem Windows-PC verwenden wollen, ist es günstiger, diese nicht mit ext4 zu formatieren, sondern das Format auf vfat zu belassen. Dann dürfen die Dateien aber nicht größer als 4 GByte wewrden.
Um eine Platte schon beim Booten einzuhängen, müssen Sie die Datei /etc/fstab erweiteren, die normalerweise nur die SD-Karten-Partitionen und das proc-Dateisystem enthält. Öffnen Sie die Datei mit Ihrem Lieblingseditor (vi, emacs, nano, ...):
proc /proc proc defaults 0 0 /dev/mmcblk0p1 /boot vfat defaults 0 2 /dev/mmcblk0p2 / ext4 defaults,noatime 0 1Die einfachste Möglichkeit wäre es, das Gerät mit den oben ermittelten Optionen einzubinden:
proc /proc proc defaults 0 0 /dev/mmcblk0p1 /boot vfat defaults 0 2 /dev/mmcblk0p2 / ext4 defaults,noatime 0 1 /dev/sda1 /media/usbdisk ext4 rw,user,umask=0,noatime 0 0Wenn dann aber mal zwei USB-Geräte in den Buchsen stecken etc. wird unter Umständen die Platte im falschen Verzeichnis eingehängt. Deshalb ist es günstiger die Platte oder den Stick über die eindeutige UUID zuzuordnen. Dazu muss diese mysteriöse UUID aber erst einmal ermittelt werden. Dazu wird (bei eingestecktem Stick/Platte) das Kommando blkid eingegeben (auch wieder als root-User):
sudo blkid /dev/mmcblk0p1: UUID="E0DD-55C5" TYPE="vfat" /dev/mmcblk0p2: UUID="271ee469-0746-4824-b89b-b1e446c47ff4" TYPE="ext4" /dev/sda1: LABEL="TREKSTOR" UUID="009D-304B" TYPE="vfat" /dev/sda2: LABEL="USB DISK" UUID="F0E5-0793" TYPE="vfat"(Alternativ können Sie auch die Kommandos tune2fs -l /dev/sda1 oder ls -l /dev/disk/by-uuid verwenden.)
Wie Sie sehen, habe ich zur Trekstor-Platte noch einen USB-Stick eingesteckt. Die UUID für den USB-Stick ist F0E5-0793 und der Dateisystemtyp vfat, die UUID für die USB-Platte ist 009D-304B und der Dateisystemtyp ebenfalls vfat (noch...). Die Linux-Dateisysteme haben auch eine viel längere UUID als die vfat-Systeme.
Mit diesem Wissen kann die Datei /etc/fstab erweitert werden (diesmal nur die Platte). Per Editor wird die letzte Zeile neu eingetragen und die Datei abgespeichert:
proc /proc proc defaults 0 0 /dev/mmcblk0p1 /boot vfat defaults 0 2 /dev/mmcblk0p2 / ext4 defaults,noatime 0 1 UUID=009D-304B /media/usbdisk ext4 defaults,user,rw,noatime 0 0Die Platte wird nun beim Booten gemounted - sofern sie angeschlossen ist. Sonst kann es beim Booten etwas dauern, weil das System erst nach einigen Mount-Versuche weitermacht. Wenn Sie die USB-Platte erst im laufenden Betrieb einstecken, kann sie nun viel einfacher mit dem Kommando sudo mount -a eingebunden werden.
Falls die Angabe "UUID=009D-304B" nicht funktionieren sollte, versuchen Sie es doch einmal mit "/dev/disk/by-uuid/009D-304B2 in der Datei /etc/fstab.
Wenn Sie die SD-Karte in weitere Partitionen teilen oder einen USB-Stick nutzen, sollten Sie die oben bei der Datei /etc/fstab angegebene Option "noatime" auch für diese Partitionen verwenden. Linux speichert standardmäßig die letzte Zugriffszeit einer Datei (atime). Wenn diese Information nicht gebraucht oder nicht gewünscht wird, können Partitionen mit der o. g. Option gemountet werden. Die Speichermedien werden dadurch weniger belastet (weniger Schreiboperationen), was sich zudem in einem kleinen Performance-Schub bemerkbar macht.
Hinweis: In der Regel ist der Zugriff auf die neue Platte nur für den Superuser möglich. Damit auch der User "pi" darauf zugreifen kann, könnte man den Mountpoint (im Beispiel /media/usbdisk) diesem User zuteilen. Es reicht auch, wenn man nur die Gruppe ändert und Schreibrecht für die Gruppe setzt:
chown pi.pi /media/usbdisk # User und Gruppe aendern chgrp pi /media/usbdisk # nur Gruppe aendern chmod g+w /media/usbdisk # Schreibrecht fuer die GruppeSollen alle User in den Genuss der USB-Disk kommen, könnte man es auch so machen wie beim Verzeichnis /tmp. Hier dürfen alle lesen und schreiben. Damit aber nicht ein User die Dateien eines anderen löschen kann, wird noch das "sticky"-Bot gesetzt:
chmod ugo+rwx /media/usbdisk chmod +t /media/usbdiskOder auch einfacher:
chmod 1777 /media/usbdisk
Das Rezept des vorhergehenden Abschnitts funktioniert wunderfein, wenn der USB-Stick oder die Platte beim Einschalten des RasPi immer schon angeschlossen sind. Sonst gibt es beim Boot-Vorgang eine Pause, wenn das System versucht, die Platte einzubinden. Eine einfache Lösung wäre es, die Platte mit der Option noauto in der fstab zu definieren. Dann wird sie nicht automatisch eingehängt und kann manuell montiert werden. Das kann auf die Dauer lästig sein.
Deshalb kann ein Automount über den udev-Mechanismus installiert werden. Dazu werden zwei Dateien neu angelegt. Die erste Datei liegt im Verzeichnis /etc/udev/rules.d/ und ich nenne sie mal 99-usbmount.rules. Der Name kann beliebig sein, nur die "99-" davor und die Endung ".rules" sind wichtig:
ACTION=="add", SUBSYSTEMS=="usb", KERNEL=="sd*", RUN+="/bin/bash /usr/local/bin/mountusb mount /dev/%k" ACTION=="remove", SUBSYSTEMS=="usb", KERNEL=="sd*", RUN+="/bin/bash /usr/local/bin/mountusb umount /dev/%k"Die erste Zeile ist für das Einstecken des USB-Sticks zuständig, die zweite für das Abziehen. In beiden Fällen wir das Shellscript /usr/local/bin/mountusb aufgerufen, beim Einstecken mit dem Parameter "mount" und bei Abziehen mit "umount". Als zweiter Parameter wird das Device mitgegeben. Nach Erstellen der Datei muss das UDEV-System neu gestartet werden und die Datei einzubinden:
/etc/init.d/udev restartDas Shellscript mountusb im Verzeichnis /usr/local/bin/ ist recht kurz:
#!/bin/bash # Verzeichnis fuer den USB-Stick definieren MountPoint=/media/usb # Kommandozeilen-Parameter ubernehmen ACTION=$1 DEVICE=$2 # Nun ans Werk if [ "$ACTION" = "mount" ]; then # falls nicht vorhanden Mountpoint anlegen [ ! -d $MountPoint ] && mkdir -p $MountPoint # USB-Stick einhaengen, Gruppe 100 ist "users", alle # Mitglieder dieser Gruppe dürfen lesen/schreiben /bin/mount -o gid=100,umask=007 $DEVICE $MountPoint elif [ "$ACTION" = "umount" ]; then # USB-Stick aushaengen /bin/umount -f $DEVICE fiNach der Eingabe des Shellscripts nicht vergessen, es ausführbar zu machen:
chmod +x /usr/local/bin/mountusbNur falls das Dateisystem des Sticks nicht einwandfrei erkannt wird, muss gegebenenfalls der Typ des Dateisystems angegeben werden (normalerweise wird er automatisch erkannt). Das erreicht man mit dem Parameter -t gleich nach /bin/mount:
Die SD-Karten, die im Raspberry Pi als Festplatten-Ersatz dienen sind nicht für häufige Schreib-Lese-Vorgänge gedacht. Ihre Lebensdauer nimmt bei häufigen Schreibzugriffen rapide ab. Deshalb ist es je nach Anwendung mitunter sinnvoll, das Root-Filesystem auf einen USB-Stick oder eine USB-Festplatte auszulagern. Die SD-Karte wird dann nur noch zum Booten lesend angesprochen. Da reicht dann auch die kleinste Größe, weil nur noch die Boot-Partition (Typ vfat) benötigt wird. Die Umstellung erfolgt in drei Schritten:
Im ersten Schritt wird der USB-Datenträger, wie oben beschrieben, mit einem Linux-Dateisystem formatiert. Wichtig ist dabei, das die Partition das Label rootfs erhält (sudo mkfs.ext4 -L rootfs /dev/sda1).
Im zweiten Schritt muss nun der Inhalt der alten root-Partition auf den USB-Datenträger geschrieben werden. Dafür gibt es mehrere Möglichkeiten. Mann kann beispielsweise die SD-Karten-Partition mittels dd Bit für Bit kopieren (als root-User):
dd if=/dev/mmcblk0p2 of=/dev/sda1Das dauert relativ lange, weil die komplette SD-Karte bitweise kopiert wird - auch nicht von Dateien belegte Teile. dd besitzt auch keinererlei Fortschrittsanzeige oder gibt Statusmeldungen aus. Man muss einfach warten, bis es vorbei ist.
Eine weitere Möglichkeit bietet tar, der Tausendsassa. Es werden zwei tar-Prozesse durch eine Pipe verknüpft. Einer schreibt in die Pipe, der andere liest daraus - und das natürlich in verschiedenen Verzeichnissen (als root-User):
(cd / ;tar cpf - )|(cd /mnt; tar xpvf - )Die dritte Möglichkeit ist der Einsatz von rsync. Falls nicht schon vorhanden kann das Tool schnell mit sudo apt-get install rsync nachinstalliert werden. Das Kommando lautet (als root-User):
rsync -axv / /mntEgal mit welchem Tool Sie kopieren, es wird etwas dauern - nur nicht ungeduldig werden (nein, auch nach einer halben Stunde nicht).
Im dritten Schritt muss der Raspberry Pi so konfiguriert werden, dass er nicht mehr von der SD-Karte sondern vom USB-Datenträger bootet. Dazu wird zuerst die Datei /boot/cmdline.txt bearbeitet. Da es sich um eine doch recht wichtige und kritische Systemdatei handelt, machen Sie zuerst ein Backup:
sudo cp /boot/cmdline.txt /boot/cmdline.origNun tauschen Sie die bisherige Bootpartition /dev/mmcblk0p2 gegen die neue Partition /dev/sda1 aus. Die Datei besteht nur aus einer langen Zeile. Sie laden Sie in Ihren Lieblingseditor und suchen nach der Zeichenkette "root=/dev/mmcblk0p2" Dort wird dann "mmcblk0p2" durch "sda1" ersetzt. Zur Sicherheit wird noch ein weiterer Befehl angehängt, denn es kann vorkommen, dass bei Einschalten der USB-Datenträger etwas länger braucht, bis er gemounted und bereit ist. Er wird daher ein Delay von 5 Sekunden festgelegt. Sie können dann testen, ob das Booten auch mit einem kürzeren Delay (oder gar ohne) stabil funktioniert. Die Zeile sieht dann so ähnich aus wie folgt (wegen der Länge umbrochen, Änderungen in rot):
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 ↵ console=tty1 root=/dev/sda1 rootfstype=ext4 ↵ elevator=deadline rootwait rootdelay=5(Wenn Sie schon die serielle Konsole deaktiviert haben, ist die Zeile ggf. kürzer.)
Schussendlich muss der USB-Datenträger auch noch in der Datei /etc/fstab als Root-Filesystem eingebunden werden (der alte Eintrag wurde mit "#" auskommentiert). Achtung: NICHT die Datei /etc/fstab auf der SD-Karte, sondern die auf dem USB-Datenträger!
proc /proc proc defaults 0 0 /dev/sda1 / ext4 defaults,noatime 0 1 /dev/mmcblk0p1 /boot vfat defaults 0 2 #/dev/mmcblk0p2 / ext4 defaults,noatime 0 1Nun sollte ein Reboot klappen. Übrigens sieht man an der "ACT"-LED nicht mehr viel, sie zeigt nur Aktivitäten auf der SD-Karte an. Manche USB-Stick haben eine eigene LED als Aktivitätsanzeige, woran man dann den Bootvorgang beobachten kann. Ich habe als Anzeige den Heartbeat eingeschaltet, an dem man erkennt, wann der RasPi fertig mit dem Booten ist. Die LED blinkt dann schön regelmäßig (siehe RasPI_OnboardLED.html). Nach dem Reboot sieht man dann mit dem df-Kommando, dass die neue Root-Platte eingebunden wurde:
df -h Filesystem Size Used Avail Use% Mounted on rootfs 7.4G 1.6G 5.5G 22% / /dev/root 7.4G 1.6G 5.5G 22% / ...
Alternativ zur Plattenbezeichung (in den vorausgegangenen Beispielen /dev/sda1) können Sie auch hier die UUID verwenden. Angenommen, die USB-Platte habe die UUID "5ee42379-50c6-4c1a-a34a-0043bb0eb18d", dann sieht in der Datei /etc/fstab auf dem USB-Datenträger der Eintrag folgendermaßen aus:
proc /proc proc defaults 0 0 UUID=5ee42379-50c6-4c1a-a34a-0043bb0eb18d / ext4 defaults,noatime 0 1 /dev/mmcblk0p1 /boot vfat defaults 0 2 #/dev/mmcblk0p2 / ext4 defaults,noatime 0 1(Auch hier kann gegebenenfalls statt "UUID=" der Pfad "/dev/disk/by-uuid/" verwendet werden.)
Die UUID muss dann natürlich auch in der Datei /boot/cmdline.txt auf der SD-Karte eingetragen werden:
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 ↵ console=tty1 root=UUID=5ee42379-50c6-4c1a-a34a-0043bb0eb18d ↵ rootfstype=ext4 elevator=deadline rootwait rootdelay=5
Mit der Root-Partition auf einen USB-Datenträger ergeben sich etliche Vorteile:
In dieser Datei werden alle Partitionen/Dateisysteme festgelegt, die beim Bootvorgang automatisch eingebunden werden sollen. Hier kann man auch Mountpoints für CD-ROMS oder USB-Sticks festlegen, die dann automatisch verwendet werden, wenn eine CD eingelegt oder ein USB-Stick eingesteckt wird. Die Definitionen werden zeilenweise angelegt und durch Leer- oder Tabulatorzeichen in sechs Abschnitte unterteilt: Dateisystem, Mountpoint, Typ, Optionen, Dump und Pass. Zum Beispiel:
# Dateisystem Mountpoint Typ Optionen Dump Pass /dev/sda1 / ext4 defaults 0 1Folgende Beispiele zeigen die Verwendung. Die einzelnen Abschnitte werden anschließend erläutert.
# Verwendung eines Labels LABEL=root / ext4 defaults 0 1 # Verwendung der UUID UUID=7388c376-7a04-4242-abcd-d3d4021d536a / ext4 defaults 0 1 # Verwendung der Gerätedatei /dev/sda1 / ext4 defaults 0 1
In den Beispielen wurde jeweils defaults als Option verwendet, für weitere Informationen siehe Optionen.
Das Dateisystem wird entweder durch ein Label, die UUID, die Gerätedatei oder ein weiteres definiertes Stichwort spezifiziert:
Der Mountpunkt bestimmt, an welcher Stelle im Verzeichnisbaum das Dateisystem eingehängt wird. Hier gibt es einen Konsens, basierend auf dem Filesystem Hierarchy Standard (FHS). Dateisysteme, die nur temporär eingebunden werden, legt man direkt unter /mnt ab. Auch, wenn das Verzeichnis /media laut FHS Unterverzeichnisse für Wechseldatenträger wie z. B. USB-Sticks oder SD-Karten vorgesehen ist, ist dort ein dauerhaftes Mounten von zusätzlichen Festplatten immer noch besser, als diese unter /mnt einzuhängen. Darüber hinaus kann man im eigenen home-Verzeichnis Unterverzeichnisse als Mountpunkte erstellen und weitere Festplatten dort einhängen. Bei Servern ist es vielfach üblich, /, /var und /home als getrennte Dateisysteme (Partitionen) zu verwenden und diese in der fstab auch so zu definieren.
Zum Mounten (deut. "montieren")eines Dateisystems muss dessen Typ angegeben werden. Es besteht ausserdem die Möglichkeit der automatischen Typ-Erkennung. Durch die Verwendung von FUSE (zum Beispiel SSHFS) können weitere Optionen verfügbar werden. Hierzu ist die Dokumentation des jeweiligen FUSE-Moduls konsultieren.
Typ | Verwendung/Bezeichnung | Bemerkung |
---|---|---|
auto | Standardwerte setzen | Automatische Erkennung des Dateisystems |
ext2/3/4 | ext-Dateisysteme | Bei Verwendung von ext2, ext3, oder ext4 |
iso9660 | CDs und DVDs | Dateisysteme nach ISO 9660-Level 2 und 3 |
udf | meist DVDs | Ablösung von ISO 9660 |
jfs | Journaling File System | Vor allem für LVM interessant |
nfs | NFS-Shares einbinden | Verwendung für das Network File System |
ntfs/ntfs-3g | Microsoft NTFS | ntfs-3g bietet Schreibzugriff |
reiserfs | Reiser FS | Für das Einbinden von Reiser FS 1 bis 3 |
swap | Swap-Partitionen | Kein direkter Dateizugriff möglich, nur Swap |
ramfs | Ramdisks | |
tmpfs | Ramdisks | nutzt im Gegensatz zu ramfs auch den Swap-Platz |
vfat | Microsoft FAT 12/16/32 | Meist auf USB-Sticks verwendet |
xfs | XFS | Häufig bei NAS-Lösungen oder HDD-Recordern |
btrfs | B-tree FS | Noch in der Entwicklung/im Betastadium |
Der Typ auto sollte nur bei Wechseldatenträgern zur Verwendung kommen, bei denen man sich nicht sicher sein kann, welches Dateisystem verwendet wird.
Die Optionen steuern den Zugriff auf das jeweilige Dateisystem. Mehrere Optionen werden durch Komma getrennt (ohne Leerzeichen!).
Option | Wirkung |
---|---|
defaults | Setzt rw, suid, dev, exec, auto, nouser und async |
dev/nodev | Gerätedateien auf dem Dateisystem werden interpretiert/nicht interpretiert. |
exec/noexec | Das Ausführen von Dateien wird erlaubt/verboten |
gid | Definition der Gruppen-ID mittels gid=users |
uid | Definition der User-ID mittels uid=benutzername |
suid/nosuid | Das SUID-Bit wird berücksichtigt/nicht berücksichtigt. |
auto/noauto | Der Datenträger wird automatisch beim Booten eingehängt oder nicht. |
ro/rw | Nur Lesezugriff bzw. Lese- und Schreibzugriff möglich. |
sw | Verwendung als Swap-Dateisystem. |
sync/async | Es wird alles direkt auf den Datenträger geschrieben (sync) bzw. der Cache verwendet (async). |
user/nouser | Jeder Benutzer darf das Gerät einhängen (user) bzw. es darf nur root (nouser). Aushängen darf immer nur der Benutzer, der das Gerät eingehängt hat. |
users | Jeder Benutzer darf das Gerät einhängen und aushängen. |
umask=000 | Angabe einer user mask für den Zugriff - siehe Kommando umask.|
noatime und nodiratime | Keine Protokollierung von Zugriffszeiten für Dateien oder Verzeichnisse in der Inodetabelle speichern. Dies reduziert die Datenträgerzugriffe. Empfehlenswert für SSDs und SD-Karten. |
errors=remount-ro | Bei auftretenden Fehler im Betrieb wird das Dateisystem im Read-Only-Modus neu eingebunden. |
noauto,x-systemd.automount | Automatisches Einbinden durch systemd beim ersten Zugriff. |
Die Dump-Anweisung steht heute auf 0 und wurde ursprünglich zu Backup-Zwecken verwendet. Auf aktuellen Systemen gibt es zuverlässigere und schnellere Datensicherungsmethoden, so dass dieser Wert immer auf 0 gelassen werden sollte.
Die Pass-Anweisung wird vom Dateisystem-Test ausgewertet und definiert, in welcher Reihenfolge die Dateisysteme geprüft werden sollen:
Eventuell will man einen USB-Stick, der für Raspbian (oder ein anderes Linux) partitioniert und formatiert wurde, wieder mit Windows nutzen oder wieder zum allgemeinen Datenaustausch verwenden. In diesem Fall muss die Partitionierung wieder gelöscht und der Stick mit einem FAT32-Dateisystem formatiert werden. Die Tools dafür sind auf der Kommandozeile verfügbar.
Was aber, wenn Ihnen das erst einfällt, wenn der Stick (eventuell fern einer Linuxkiste) schon im Windows-Rechner steckt? Keine Angst, das Repartitionieren geht auch unter Windows. Dazu starten Sie die Eingabeaufforderung als Administrator (Klicken mit der rechten Maustaste → Als Administrator ausführen). Dann folgen Sie dem unten gezeigten Bildschirmprotokoll. ACHTUNG: Unbedingt mehrfach prüfen, ob als aktive Platte wirklich der Stick und nicht die Festplatte gewählt wurde! Das geschieht im Beispiel unten mittels select disk 1. Die Dateigröße von 7389 MB verweist darauf, dass es sich um den Stick handelt (Benutzereingaben kursiv dargestellt).
Microsoft Windows [Version 6.1.7601] Copyright (c) 2009 Microsoft Corporation. Alle Rechte vorbehalten. C:\Windows\system32>diskpart Microsoft DiskPart-Version 6.1.7601 Copyright (C) 1999-2008 Microsoft Corporation. Auf Computer: SCHROTTSOCKE DISKPART> list disk Datenträger ### Status Größe Frei Dyn GPT --------------- ------------- ------- ------- --- --- Datenträger 0 Online 465 GB 0 B Datenträger 1 Online 7389 MB 0 B DISKPART> select disk 1 Datenträger 1 ist jetzt der gewählte Datenträger. DISKPART> clean Der Datenträger wurde bereinigt. DISKPART> create partition primary Die angegebene Partition wurde erfolgreich erstellt. DISKPART> exit Datenträgerpartitionierung wird beendet... C:\Windows\system32>Nun muss die neue Partition noch formatiert werden. Dazu einfach den Stick herausziehen. Wird er nun wieder eingesteckt, erscheint meist automatisch die Aufforderung, den Stick zu formatieren.