3

如何阻止 MacOS 更新覆盖我的 auto_master 文件?每个重要的 MacOS 更新总是删除我的自定义 auto_master 并放入默认的 auto_master。实际上,我只在文件末尾添加了一行,甚至不修改现有行,因为它们与我无关。

4

1 回答 1

0

我花了很多时间弄清楚 OS X 中 NFS 共享的自动挂载...

在某个地方,Apple 决定不允许直接安装到 /Volumes 中:

/etc/auto_master (见最后一行)

#
# Automounter master map
#
+auto_master        # Use directory service
/net            -hosts      -nobrowse,hidefromfinder,nosuid
/home           auto_home   -nobrowse,hidefromfinder
/Network/Servers    -fstab
/-          -static
/-          auto_nfs    -nobrowse,nosuid

/etc/auto_nfs (这都是一行)

/Volumes/my_mount    -fstype=nfs,noowners,nolockd,noresvport,hard,bg,intr,rw,tcp,nfc nfs://192.168.1.1:/exports/my_share
    

确保你:

sudo chmod 644 /etc/auto_nfs

否则自动挂载程序将无法读取配置并失败并出现 ... parse_entry: getmapent for map failed...错误/var/log/messages

尽管它“应该”,但这将不起作用(不再起作用!)。

$ sudo automount -cv
...
automount: /Volumes/my_mount: mountpoint unavailable

请注意,如果您使用 手动创建挂载点mkdir,它将挂载。但是,在重新启动时,OS X 会删除挂载点,并且自动挂载将失败。

解决方案是什么?

当我弄清楚时,这太容易了,我的下巴掉了下来。基本上,我们是在欺骗 OS X 以为我们正在安装在其他地方。

当您谈论几乎任何环境中的路径时,根文件夹是您可以到达的最高路径,无论是C:\(windows) 还是/(*nix)

当您在此路径上时,尝试到达父路径时,via..将使您保持在根路径上。

例如:/../../../../仍然只是/

到目前为止,你们中的一些人已经想通了。

TL;DR / 解决方案:

更改您的/etc/auto_nfs配置(这都是一行)

/Volumes/my_mount    -fstype=nfs,noowners,nolockd,noresvport,hard,bg,intr,rw,tcp,nfc nfs://192.168.1.1:/exports/my_share

对于 pre-Catalina:到(这都是一行)

/../Volumes/my_mount    -fstype=nfs,noowners,nolockd,noresvport,hard,bg,intr,rw,tcp,nfc nfs://192.168.1.1:/exports/my_share

对于 Catalina 及以上:至(仅此一行)

/System/Volumes/Data/../Data/Volumes/my_mount    -fstype=nfs,noowners,nolockd,noresvport,hard,bg,intr,rw,tcp,nfc nfs://192.168.1.1:/exports/my_share

并重新运行自动挂载程序:

$ sudo automount -cv
...
automount: /Volumes/my_mount: mounted

……给你!从技术上讲/../Volumes仍然是/Volumes,但自动挂载程序并不这样看;)

此配置在重新启动后保留挂载,并自动创建挂载点。

来源githubhttps ://gist.github.com/L422Y/8697518

于 2021-05-05T02:14:37.830 回答