![Cómo montar una partición con espacios en el camino](https://rvso.com/image/1345293/C%C3%B3mo%20montar%20una%20partici%C3%B3n%20con%20espacios%20en%20el%20camino.png)
Creé una partición y quería montar esa partición en este directorio/home/max/VirtualBox VMs
Escribí esta línea en fstab:
/dev/sda4 /home/max/VirtualBox\ VMs ext4 valores predeterminados 0 0
pero me esta dando este error
[mntent]: la línea 16 en /etc/fstab es incorrecta
Sé que recibo este error debido al espacio entre las 'virtualBox VM'
¿Es posible montar en ese directorio?
[max@localhost VirtualBox VM]$ contraseña /home/max/VM VirtualBox
Respuesta1
Utilice comillas.
/dev/sda4 "/home/max/VirtualBox VMs" ext4 predeterminado 0 0
Respuesta2
fstabtiene su propia sintaxis. Para utilizar espacios como parte del nombre de un directorio, debe especificar supunto de códigocomo un número octal de 3 dígitos relleno con ceros, precedido por una barra invertida (carácter de escape).
EnASCII, el punto de código del carácter de espacio es 32 o 40 en octal, por lo que puedes usar:
/dev/sda4 /home/max/VirtualBox\040VMs ext4 defaults 0 0
Tenga en cuenta que, si bien los puntos de código también son compatibles con otros personajes, el soporte es bastante inestable. En mi máquina, puedes escribir \127
en lugar de W
, perono \070
en lugar de 8
...
Respuesta3
Estoy convirtiendo toda la ruta en un punto de código con una función Bash:
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")
Respuesta4
Tuve el mismo problema, pero con un ligero giro: montarbtrfssubvolumen que contiene Virtual Box en mi directorio de inicio en la partición de ext4 (acababa de cambiar los discos duros).
Seguí la solución de Dennis pero todavía tenía problemas. El problema con el que me encontré fue que tanto la ruta del sistema antigua como la nueva contenían un espacio que mi solución era reemplazartodorutas que contienen espacios con \040
; se vería algo como esto:
/dev/sda1
siendo btrfs del viejo sistema/dev/sdb1
del nuevo sistema- Montar el subvolumen
path/with space
en/home/<user>/VirtualBox VMs
- /etc/fstab final:
...
/dev/sdb1 /home ext4 defaults 0 0
/dev/sda1 /home/<user>/VirtualBox\040VMs btrfs defaults,subvol=path/with\040space 0 0
...