在挂载点上挂载符号链接

在挂载点上挂载符号链接

我在一台名为 aaron 的机器上有一个 Samba 共享,名为 A。该共享内有一个名为 Audio-CD_WAVs 的 smylink,它指向机器本地目录。当 Windows 机器访问此共享时,Samba 会跟踪链接并将目标导出到 Windows,因此 Windows 看不到符号链接。

现在,我后来在另一台 Linux 机器 dathan 上将 Audio-CD_WAVs 安装在名为 CD-mount 的普通目录中。我使用 smbfs 进行此安装。我期望它安装链接的目标,但安装点本身 CD-mount 却变成了指向 aaron 上的目录的符号链接。我现在遇到的问题是,我无法卸载它,卸载命令跟踪符号链接并抱怨它不存在。那么我该如何卸载它(不重新启动机器,这会打扰很多人)?

安装前:

drwxrwxrwx CD 安装

$ 安装 CD 安装盘

后:

lrwxrwxrwx CD 安装 -> /some/nonexistant/directory12

$ umount CD 挂载

umount:directory12:未找到

$ mount |tail -n 1

//aaron.us.grn/A/Audio-CD_WAVs 在 /mnt/CD-mount 类型 cifs (ro,mand)

我认为这种行为的解释是,当 samba 看到 Linux 客户端时,它会启用“unix 扩展”选项,其中包括对符号链接的支持。不过,我是在安装了符号链接后才发现这一点的。

答案1

我尝试了 -f 和 -l,但都不起作用:

$ umount -f CD 挂载

umount2:没有该文件或目录

umount:directory12:未找到

$ umount -l CD 挂载

umount:directory12:未找到

答案2

你是对的,Samba 确实解释了符号链接并将其呈现为目录;smbfs 则不是。

Samba 中的选项是“follow symlinks = yes”,并在共享定义中定义。您可以使用“follow symlinks = no”关闭此行为。

不知为何,我怀疑符号链接是否已挂载。如果文件系统确实已卸载,则只需删除符号链接即可。


你可以尝试使用以下方法强行下马:

mount -f /mount-path

或者

mount -l /mount-path

相关内容