How do I mount sub-directory to a hard drive in Linux?
Solution 1
I assumed that disk A is not mounted as the root (/) filesystem. If it is, just ignore lines with driveA.
Edit your /etc/fstab:
/dev/diskA /var/www/ auto defaults 1 2 /dev/diskB /var/www/upload auto defaults 1 2
You can replace "auto" by the filesystem you have on that partition, but the above should work anyway.
If disks A and B are mounted elsewhere you can try symlinking:
ln -s /path/to/driveA_mountpoint /var/www/ ln -s /path/to/driveB_mountpoint /var/www/upload
Note: /var/www and directory "upload" on driveA must not exist or this will fail.
Personally I prefer using the bind option of mount:
mount -o bind /var/www/ /path/to/driveA_mountpoint mount -o bind /var/www/upload /path/to/driveB_mountpoint
Consider editing /etc/fstab though - it's probably the best way.
Solution 2
is Hard Drive B mounted? If it is,
ln -s /path/to/hard/drive/B/mount/point /var/www/upload
Otherwise
mount -t <fstype> -o defaults /dev/<hard driver B> /var/www/upload
Related videos on Youtube
Admin
Updated on September 17, 2022Comments
-
Admin over 1 year
Let us assume that I have two hard drives (A,B) and have the following directories:
- /var/www
- /var/www/upload
Currently if I upload a file to /var/www OR /var/www/upload ; it will be saved in drive A.
How do I make the folder /var/www/upload point to the drive B. So if I upload a file to /var/www/upload it will be saved in drive B but when I upload a file to /var/www ,it will be saved in drive A.
-
Roy Rico over 14 yearsThis answer assumes that drive a is not the root drive. if A is the root drive then you only need to create an empty directory ( /var/www/upload ), then create an fstab entry for drive b in the example above.
-
Roy Rico over 14 yearsthis will work, but I think adding it to the fstab will be a better solution because it will remount when the machine boots whereas it wouldn't in your example.
-
warren over 14 years@minder - to put a bind mount in your
/etc/fstab
:/path/orig /new/path/mount bind defaults 0 0
-
Frederic Leitenberger over 6 yearsYou have a typo in first code block:
/dev/diskB /ver/www/upload
→ver
→var
-
stanm over 2 yearsHmm, isn't it the other way around?
mount -o bind /path/to/driveB_mountpoint /var/www/upload
?