如何阻止 MacOS 更新覆盖我的 auto_master 文件?每个重要的 MacOS 更新总是删除我的自定义 auto_master 并放入默认的 auto_master。实际上,我只在文件末尾添加了一行,甚至不修改现有行,因为它们与我无关。
1 回答
我花了很多时间弄清楚 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,但自动挂载程序并不这样看;)
此配置在重新启动后保留挂载,并自动创建挂载点。