Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I specify a label/path with spaces in /etc/fstab? [closed]

I am having trouble trying to get theh permissions for some of my external drives set up.

I believe the probem is due to how I am dealing with spaces in the text such that the commands can be interpreted by the terminal. I have found this, which seems to indicate that I need to configure my etc/fstab file to show the following:

# UNCONFIGURED FSTAB FOR BASE SYSTEM /host/ubuntu/disks/swap.disk    none    swap    sw  0   0 LABEL='Expansion Drive'  /media/'Expansion Drive'  ntfs-3g  defaults,umask=0022,fmask=0133  0  0 LABEL='Expansion Drive_'  /media/'Expansion Drive_'  ntfs-3g  defaults,umask=0022,fmask=0133  0  0 

However, This is showing an error that the drive Drive_' is not ready. I realize that this is due to using ""s or ''s, but I am not sure how else to do this properly. My 2 drives are called Expansion Drive and Expansion Drive_ . Anyone know how to solve this problem?

EDIT: Here is what I can see in the media folder:

chasebrown@ubuntu:/media$ ls -al total 32 drwxr-xr-x  6 root       root        1024 Mar  9 16:32 . drwxr-xr-x 24 root       root        1024 Feb 23 23:14 .. drwx------  1 chasebrown chasebrown  4096 Mar  8 04:21 Expansion Drive drwx------  1 chasebrown chasebrown  4096 Mar  8 04:21 Expansion Drive_ dr-x------  1 chasebrown chasebrown  2048 May 20  2009 GDRV-25922+VR2 drwx------  1 chasebrown chasebrown 20480 Mar  8 04:21 WD EXTERNAL 

Also sudo lsblk -f:

chasebrown@ubuntu:/dev/disk/by-uuid$ sudo lsblk -f [sudo] password for chasebrown:  NAME   FSTYPE  LABEL           MOUNTPOINT sda                             ├─sda1 ntfs    System Reserved  └─sda2 ntfs                     sdb                             └─sdb1 ntfs                    /host sdc                             └─sdc1 ntfs    Expansion Drive /media/Expansion Drive_ sdd                             └─sdd1 ntfs    Expansion Drive /media/Expansion Drive sde                             └─sde1 ntfs    WD EXTERNAL     /media/WD EXTERNAL sr0    iso9660 GDRV-25922+VR2  /media/GDRV-25922+VR2 loop0  ext3                    / 

And sudo blkid:

chasebrown@ubuntu:/dev/disk/by-uuid$ sudo blkid /dev/loop0: UUID="87a15942-982f-4edd-bf44-439dc286fd7c" SEC_TYPE="ext2" TYPE="ext3"  /dev/sr0: LABEL="GDRV-25922+VR2" TYPE="iso9660"  /dev/sda1: LABEL="System Reserved" UUID="64CEEA61CEEA2B4E" TYPE="ntfs"  /dev/sda2: UUID="4CA4EBC0A4EBAAA2" TYPE="ntfs"  /dev/sdb1: UUID="00064EEE064EE46E" TYPE="ntfs"  /dev/sdc1: LABEL="Expansion Drive" UUID="C682A8EE82A8E3E1" TYPE="ntfs"  /dev/sdd1: LABEL="Expansion Drive" UUID="D006D78406D769CC" TYPE="ntfs"  /dev/sde1: LABEL="WD EXTERNAL" UUID="D65AFC375AFC15C9" TYPE="ntfs"  

Therefore my new fstab file is:

# UNCONFIGURED FSTAB FOR BASE SYSTEM /host/ubuntu/disks/swap.disk    none    swap    sw  0   0 LABEL=Expansion\040Drive  /media/Expansion\040Drive  ntfs-3g  defaults,umask=0022,fmask=0133  0  0 LABEL=Expansion\040Drive_  /media/Expansion\040Drive_  ntfs-3g  defaults,umask=0022,fmask=0133  0  0 

SOLUTION: I ended up changing the LABEL to UUID and it worked for some reason.

Here is the resulting /etc/fstab file was :

# UNCONFIGURED FSTAB FOR BASE SYSTEM /host/ubuntu/disks/swap.disk    none    swap    sw  0   0 UUID=C682A8EE82A8E3E1  /media/Expansion\040Drive  ntfs-3g  defaults,umask=0022,fmask=0133  0  0 UUID=D006D78406D769CC  /media/Expansion\040Drive_  ntfs-3g  defaults,umask=0022,fmask=0133  0  0 
like image 413
chase Avatar asked Mar 09 '13 21:03

chase


People also ask

Do spaces matter in fstab?

The number of spaces is a way to cosmetically separate the columns/fields. It has no meaning other than that. I.e. no the amount of white space between columns does not matter.

How do you add a space in fstab?

Issue Is known that / etc / fstab words are separated by spaces and it is not possible to put spaces in the path of the mount point. Solution This limitation is easily bypassed by typing "\ 040" instead of a space in the configuration file...

What is defaults in etc fstab?

defaults = rw, suid, dev, exec, auto, nouser, and async. ntfs/vfat = permissions are set at the time of mounting the partition with umask, dmask, and fmask and can not be changed with commands such as chown or chmod.

How do I know if my fstab entry is correct?

Verify /etc/fstab file contents and display verbose output. Verify static ext4 filesystem type information defined in particular file (mounted file systems table). Sample static filesystem information file that deliberately contains multiple errors. Verify this inconsistent and erroneous file contents.


1 Answers

You can use the escape sequence \040 to escape spaces:

# UNCONFIGURED FSTAB FOR BASE SYSTEM /host/ubuntu/disks/swap.disk    none    swap    sw  0   0 LABEL=Expansion\040Drive  /media/Expansion\040Drive  ntfs-3g  defaults,umask=0022,fmask=0133  0  0 LABEL=Expansion\040Drive_  /media/Expansion\040Drive_  ntfs-3g  defaults,umask=0022,fmask=0133  0  0 

BTW, you cannot quote part of the string like you mentioned in the question. If you're quoting, you need to quote the entire string.

Another thing I happen to notice from the output of blkid is that there are 2 partitions (on 2 separate drives sdc1 and sdd1) both having the same LABEL Expansion Drive. To workaround this, you can use UUID instead.

UUID=C682A8EE82A8E3E1  /media/Expansion\040Drive  ntfs-3g  defaults,umask=0022,fmask=0133  0  0 UUID=D006D78406D769CC  /media/Expansion\040Drive_  ntfs-3g  defaults,umask=0022,fmask=0133  0  0 
like image 109
Tuxdude Avatar answered Sep 23 '22 02:09

Tuxdude