![So mounten Sie eine Partition mit Leerzeichen im Pfad](https://rvso.com/image/1345293/So%20mounten%20Sie%20eine%20Partition%20mit%20Leerzeichen%20im%20Pfad.png)
Ich habe eine Partition erstellt und wollte diese Partition in dieses Verzeichnis mounten/home/max/VirtualBox VMs
Ich habe diese Zeile in fstab geschrieben:
/dev/sda4 /home/max/VirtualBox\ VMs ext4 Standardwerte 0 0
aber es gibt diesen Fehler
[mntent]: Zeile 16 in /etc/fstab ist fehlerhaft
Ich weiß, dass dieser Fehler auftritt, weil zwischen den „VirtualBox-VMs“ Leerzeichen vorhanden sind.
Ist es möglich, in dieses Verzeichnis einzubinden?
[max@localhost VirtualBox-VMs]$ pwd /home/max/VirtualBox-VMs
Antwort1
Verwenden Sie Anführungszeichen.
/dev/sda4 "/home/max/VirtualBox-VMs" ext4-Standardwerte 0 0
Antwort2
fstabhat eine eigene Syntax. Um Leerzeichen als Teil eines Verzeichnisnamens zu verwenden, müssen Sie dessenCodepunktals mit Nullen aufgefüllte dreistellige Oktalzahl, der ein Backslash (Escape-Zeichen) vorangestellt ist.
InASCII, der Codepunkt des Leerzeichens ist 32 oder 40 im Oktalsystem, Sie können also Folgendes verwenden:
/dev/sda4 /home/max/VirtualBox\040VMs ext4 defaults 0 0
Beachten Sie, dass Codepunkte zwar auch für andere Zeichen unterstützt werden, die Unterstützung jedoch ziemlich unzuverlässig ist. Auf meinem Computer können Sie \127
anstelle von schreiben W
, abernicht \070
anstatt 8
...
Antwort3
Ich konvertiere den gesamten Pfad mit einer Bash-Funktion in einen Codepunkt:
fstab_path(){
local path=$1
local s=
local c=
for i in $(seq 1 ${#path})
do
c=${path:i-1:1}
s="$s"$(printf '\\0%o' "'$c")
done
echo "$s" >/dev/stdout
}
path="path with spaces tabs etc.."
fpath=$(fstab_path "$path")
Antwort4
Ich hatte das gleiche Problem, aber mit einer kleinen Abwandlung: MontagebtrfsUntervolume mit Virtual Box in mein Home-Verzeichnis auf der Partition von ext4 (ich hatte gerade die Festplatten gewechselt).
Ich folgte Dennis' Lösung, hatte aber immer noch Probleme. Das Problem, auf das ich stieß, war, dass sowohl der alte als auch der neue Systempfad ein Leerzeichen enthielten, das meine Lösung ersetzen sollteallePfade, die Leerzeichen mit enthalten \040
; das sähe dann ungefähr so aus:
/dev/sda1
btrfs des alten Systems sein/dev/sdb1
des neuen Systems- Untervolume mounten
path/with space
auf/home/<user>/VirtualBox VMs
- Endgültige /etc/fstab:
...
/dev/sdb1 /home ext4 defaults 0 0
/dev/sda1 /home/<user>/VirtualBox\040VMs btrfs defaults,subvol=path/with\040space 0 0
...