我们已经在几台 Mac 上为 Snow Leopard 用户设置了网络帐户,除了使用本地 Sqlite 数据库作为首选项/缓存的应用程序外,这些帐户运行良好。最大的问题是 Acrobat reader,它启动后立即崩溃并出现 Sqlite 错误。
同一台机器上的本地帐户没有这些问题,这使我相信这是由于应用程序将其 Sqlite 存储在用户的配置文件夹中,/Users/JDoe
而我们的网络帐户设置实际上是 Samba 共享smb://server/users/JDoe
。
我猜测 Sqlite 驱动程序无法通过 SMB/CIFS 正确锁定文件,因此出现问题。
我们也可以:
- 如何以某种方式改变我们的 Samba 共享,使其更加适合 Sqlite?
- 使用 Samba Vetoing(或类似方法)排除 .sqlite 文件
- 使用符号链接,以便用户配置文件中的 .sqlite 文件实际上是本地文件,可能存储在
/Users/Shared
- 其他一些更为智能的解决方案。
答案1
我猜测 Sqlite 驱动程序无法通过 SMB/CIFS 正确锁定文件,因此出现问题。
完全正确,尽管它也困扰着 AFP,并且显然特定于某些版本的 sqlite 库。Adobe 在涉及网络家庭的任何事情上都是惯犯,我们已经使用符号链接方法(通常是特定的首选项目录,而不是单个文件)解决了这个问题。
这是一个相当混乱的解决方案,因为它实际上只是针对单个机器上的单个用户进行修复。我们也想知道是否有人想出了更优雅的方法。
答案2
对于特定用户或计算机网络帐户或组,通常可以使用工作组管理器和MCX 文件夹重定向特征。
例如: