I have 2 directories which both have stuff in them:
-
/home/user/folderApple
-
/mnt/drive/folderBanana
I want to mount folderBanana
onto folderApple
like this:
sudo mount --bind "/mnt/drive/folderBanana" "/home/user/folderApple"
But I still want to be able to access the contents of folderApple
while this is activated. From what I am reading, binding the original directory to a new location should make it available, like this:
mkdir "/home/user/folderApple-original"
sudo mount --bind "/home/user/folderApple" "/home/user/folderApple-original"
But this just binds /mnt/drive/folderBanana
to /home/user/folderApple-original
as well. I tried reversing the order and result is the same.
How do I tell mount
to look for the underlying directory?
I am happy to use symlinks or something else if it’ll reliably get the job done, I am not wedded to this mechanism.
(The purpose of all this is that when an external drive is connected, I can have the storage conveniently available, but when it is not connected, the system will fallback to internal storage. But then I will want to move files between the fallback and external locations when both are available. So I need to see both locations at once.)
You need to
sudo mount --bind "/home/user/folderApple" "/home/user/folderApple-original"
before you
sudo mount --bind "/mnt/drive/folderBanana" "/home/user/folderApple"
.The results are the same no matter which order I do the mounts in.
So… are you saying the contents of
/home/user/folderApple-original
really changes after you bindmount something over/home/user/folderApple
? This seems odd. Do you have submounts under the original directory? Try with--rbind
?