21

When I am doing:

mount --bind dirone dirtwo

After OS reboot the binding is lost.

I am checking binded dirs in /proc/mounts

How can I make these binds permanent without clogging up /etc/fstab ?

Here's one entry from /proc/mounts

/dev/disk/by-uuid/4f5082d7-aba2-4bc7-8d64-3bbb3d773aab /home/username/dir ext4 rw,relatime,data=ordered 0 0
  • 1
    You have to either run that command during boot (rc.local) or put an entry in /etc/fstab. What makes you think this is clogging up /etc/fstab ? , this is what fstab is for, fstab is much "cleaner" then rc.local – Panther Nov 16 '14 at 18:30
31

What do you mean "clogging up /etc/fstab"? The best place to put this in is /etc/fstab; that's what it was made for!

All you have to do is add one line after the first mount:

# <device>                                 <dir>                 <type>  <options>                 <dump>  <pass>
UUID=288a84bf-876c-4c4b-a4ba-d6b4cc6fc0d2  /mnt/device            ext4    defaults,noatime,nofail   0       2
/mnt/device                                /srv/binded_device     none    bind                      0       0
  • So you recommend just copy/paste from /proc/mounts to /etc/fstab? – Alexander Kim Nov 17 '14 at 4:29
  • Yes, that should work. Just copy both the original mount and the mount --bind – ryanmjacobs Nov 17 '14 at 4:45
  • Thanks, but mount --bind doesn't saved in /proc/mounts ? – Alexander Kim Nov 17 '14 at 5:22
  • No, I guess it doesn't; but, it shouldn't be too hard to copy the first mount then add your own for mount --bind. – ryanmjacobs Nov 17 '14 at 6:10
  • just like in your example instead of rw,relatime,data=ordered type bind, right? – Alexander Kim Nov 17 '14 at 6:32
17

The easiest way is to mount --bind what you need like

mount --bind /home/sda1/Windows/Users/Me/Dropbox ~/Dropbox

Then open mtab

sudo nano /etc/mtab

Copy your line like

/home/sda1/Windows/Users/Me/Dropbox /home/me/Dropbox none rw,bind 0 0

and paste it in fstab so it would mount on reboot

sudo nano /etc/fstab

If you folder is on mounted disk make sure your binding line comes after disk mount

  • 2
    this should be the accepted solution. – Daksh Miglani Aug 31 '18 at 14:42
3

Another solution (which is helpful when you're using LVM and the accepted answer will not work and some may consider more useful since it uses a bit more logic) would be doing something similar to this:

Append the following to your crontab
# crontab -l | tail -1 ; cat /usr/sbin/custom-compiler-mount

@reboot /usr/sbin/custom-compiler-mount

Essentially you would use crond to execute a script on reboot

#!/bin/bash
( until [[ $( (mount |& grep vg0-homevol 2>&1 9<&1 > /dev/null 1<&9) ) ]] ; 
do 
sleep 1 
done & wait;mount -o rbind /home/linuxgeek/experimental/s3/gcc/ /gcc & ) & >/dev/null 

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.