当我打开指向该文件系统上目录的符号链接时,是否可以自动挂载文件系统?

Bra*_* Ho 21 filesystems arch-linux automounting mount symlink

我在 Xfce 中使用 Arch。

最近,我创建了一个指向文件系统目录的符号链接。

但是我不想在启动期间挂载文件系统,也不想在打开符号链接之前手动挂载它。

当我打开指向该文件系统上目录的符号链接时,是否可以自动挂载该文件系统?

Ste*_*itt 23

autofs可以为你做这件事。您可以使用各种选项配置任意数量的挂载点,只要访问挂载点,就会挂载相应的文件系统。在一定数量的不活动后,文件系统将再次卸载。

毫无疑问,使用 的方法有很多种autofs,但根据我过去使用它的方式,这里有一种方法可以做您想做的事情。

您从一个目录开始,该目录将包含许多autofs挂载点(好吧,至少有一个);说/misc。您不需要创建它,但是您需要创建一个配置文件,该文件将描述您要安装在那里的所有文件系统;例如,我可以使用以下文件挂载 CD、DVD 和蓝光光盘,另存为/etc/auto.misc

cd              -fstype=iso9660,ro,nosuid,nodev    :/dev/cdrom
br              -fstype=udf,ro,nosuid,nodev        :/dev/cdrom
Run Code Online (Sandbox Code Playgroud)

一般语法是挂载点,后跟由 引入的任何选项-,然后:是本地系统上由 引入的挂载点。(我在这里进行了简化,autofs(5)有关详细信息,请参阅联机帮助页。)

然后通过在 中添加条目来启用此文件/etc/auto.master

/misc   /etc/auto.misc
Run Code Online (Sandbox Code Playgroud)

重新启动autofs

sudo service autofs restart
Run Code Online (Sandbox Code Playgroud)

你应该能够运行

ls /misc/cd
Run Code Online (Sandbox Code Playgroud)

并查看驱动器中任何 CD 的内容。(显然,用适合您情况的任何内容替换名称和挂载目标。)

一旦你有了它,你就可以从其他任何地方链接到自动挂载的文件系统中的任何东西,就像它们是标准的、非自动挂载的文件系统一样。所以在我的例子中,

ln -s /misc/br blu-ray
Run Code Online (Sandbox Code Playgroud)

blu-ray在命令运行的任何地方创建一个链接。您也可以进一步链接到文件系统,

ln -s /misc/br/BDMV autolinktest
Run Code Online (Sandbox Code Playgroud)

创建autolinktest指向电影内容的链接。访问链接将挂载目标文件系统。


bvo*_*mer 12

您可以使用 来执行此操作systemd,因此您无需安装额外的软件,只需进行少量的额外配置即可。

只需添加noauto,x-systemd.automountfstab.

noauto在启动时不自动挂载并x-systemd.automount让 systemd 在访问时挂载它。

将 x-systemd.automount 添加到fstab一行后,您需要运行:

  sudo systemctl daemon-reload
Run Code Online (Sandbox Code Playgroud)

然后是以下一项或两项:

  sudo systemctl restart remote-fs.target
  sudo systemctl restart local-fs.target
Run Code Online (Sandbox Code Playgroud)

然后自动挂载将变为活动和可用。

来源:ArchWiki - fstab