如何在 Linux 中将子目录挂载到硬盘驱动器?

13 linux hard-drive mount drive

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

  • /var/www
  • /var/www/上传

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

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

min*_*der 24

我假设磁盘 A没有安装为根 (/) 文件系统。如果是,只需忽略带有驱动器 A 的行。

编辑您的 /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

注意:驱动器 A 上的/var/www 和目录“upload”不能存在,否则会失败。

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

mount -o bind /var/www/ /path/to/driveA_mountpoint
mount -o bind /var/www/upload /path/to/driveB_mountpoint

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

  • 此答案假定驱动器 a 不是根驱动器。如果 A 是根驱动器,那么您只需要创建一个空目录( /​​var/www/upload ),然后在上面的示例中为驱动器 b 创建一个 fstab 条目。 (3认同)
  • @minder - 在你的 `/etc/fstab` 中放置一个绑定挂载:`/path/orig /new/path/mount bind defaults 0 0` (3认同)
  • 嗯,这不是反过来吗?`mount -o 绑定 /path/to/driveB_mountpoint /var/www/upload`? (2认同)

Cia*_*ian 5

硬盘B是否挂载?如果是,

ln -s /path/to/hard/drive/B/mount/point /var/www/upload
Run Code Online (Sandbox Code Playgroud)

否则

mount -t <fstype> -o defaults /dev/<hard driver B> /var/www/upload
Run Code Online (Sandbox Code Playgroud)