如何在Linux中将子目录挂载到硬盘上?


13

让我们假设我有两个硬盘驱动器(A,B)并具有以下目录:

  • / var / www
  • / var / www / upload

目前,如果我将文件上传到/ var / www或/ var / www / upload;它将保存在驱动器A中。

如何使文件夹/ var / www / upload指向驱动器B。因此,如果我将文件上传到/ var / www / upload,它将保存在驱动器B中,但是当我将文件上传到/ var / www时,它将保存在驱动器A中。

Answers:


24

我假设磁盘A 没有作为根(/)文件系统挂载。如果是这样,只需忽略带有driveA的行。

编辑您的/ etc / fstab:

/ dev / diskA / var / www /自动默认值1 2
/ dev / diskB / var / www / upload自动默认值1 2

您可以将“ auto”替换为该分区上的文件系统,但是上述方法仍然可以正常工作。

如果磁盘A和B安装在其他位置,则可以尝试符号链接:

ln -s / path / to / driveA_mountpoint / var / www /
ln -s / path / to / driveB_mountpoint / var / www / upload

注意: driveA上的/ var / www和目录“上载”必须不存在,否则将失败。

我个人更喜欢使用mount的bind选项:

挂载-o绑定/ var / www / / path / to / driveA_mountpoint
挂载-o绑定/ var / www / upload / path / to / driveB_mountpoint

考虑编辑/ etc / fstab-这可能是最好的方法。


3
该答案假定驱动器a不是根驱动器。如果A是根驱动器,则只需要创建一个空目录(/ var / www / upload),然后在上例中为驱动器b创建一个fstab条目。
罗伊·里科

3
@minder-在您的目录中放入绑定坐骑/etc/fstab/path/orig /new/path/mount bind defaults 0 0
沃伦

1
:你在第一个代码块中的错字/dev/diskB /ver/www/upload→交通ver→交通var
弗雷德里克Leitenberger

3

硬盘B是否已安装?如果是,

ln -s /path/to/hard/drive/B/mount/point /var/www/upload

除此以外

mount -t <fstype> -o defaults /dev/<hard driver B> /var/www/upload

这会起作用,但是我认为将其添加到fstab中将是一个更好的解决方案,因为它将在计算机启动时重新安装,而在您的示例中则不会。
罗伊·里科
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.