如何阻止 MacOS 更新覆盖我的 auto_master 文件? [关闭]

Posted

技术标签:

【中文标题】如何阻止 MacOS 更新覆盖我的 auto_master 文件? [关闭]【英文标题】:How do I stop MacOS updates from overwriting my auto_master file? [closed] 【发布时间】:2021-05-04 15:14:01 【问题描述】:

如何阻止 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

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

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

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

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

解决办法是什么?

当我发现它时,我的下巴很容易掉下来。 基本上,我们是在欺骗 OS X,让其认为我们正在安装其他地方。

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

当您处于此路径时,尝试通过.. 到达父路径将使您保持在根路径。

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

到目前为止,你们中的一些人已经弄清楚了。

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

对于前 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,但自动挂载程序不会这样看;)

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

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

【讨论】:

其实我并没有尝试使用 /Volumes。我觉得很烦人的是,Apple 决定除了标准名称之外,没有任何名称对我的文件系统根目录有效。我添加的行如下: /qnap auto_qnap 我当然有 auto_qnap 文件中 /qnap 中的映射。每当 MacOS 进行操作系统更新时,它都会丢弃我的线路,并且通常甚至不会在重新定位的文件中为它制作保存文件(如果他们一直在制作保存文件,我不会打扰)。

以上是关于如何阻止 MacOS 更新覆盖我的 auto_master 文件? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何阻止变量符号被导出 macOS

强制 SVN 更新/签出覆盖本地文件

如何阻止 Jetbrains Rider 在 macOS 上的 ALT-9 上打开侧面板

如何阻止flutter web在每次构建时覆盖我的index.html?

不知道如何阻止字典键覆盖自己

使用 Swift 在 macOS 上显示 Unobtrusive 消息