问题描述
我花了一段时间才发现使用 Ubuntu One 只能同步主文件夹中的文件夹。在所有其他文件夹上,Ubuntu One 选项在首选项中可用,但实际操作显示为灰色。
Ubuntu One FAQ 对此非常清楚:
\\n
No, currently you can only select to synchronize folders inside your home directory.
\\n
但我真的想知道为什么以及这是否会改变,是否有一个技巧(除了将我的家设置为 /
之外的另一个技巧)?
除了程序配置,我个人的主文件夹中没有任何重要数据。所有文档、图片、音乐都位于名为 /data
的文件夹中,该文件夹实际上位于不同的分区上。当一个人想要重新安装 Ubuntu 时,这会变得容易得多。
最佳回答
它不会改变,至少在可预见的未来(我可以预见未来几年)。允许用户选择在家外的任意文件夹与 Ubuntu One 同步,这可能会在多台不同的计算机之间同步,这会引发大量可用性问题,以覆盖一个用例,坦率地说,这并不常见。
我记得的一个问题是,如果您尝试同步可移动设备的挂载点(并且有很多人尝试这样做),那么当您删除设备时,syncdaemon 将删除所有内容;为了使其正常工作,syncdaemon 必须了解设备,检测它们的移除,诸如此类。相当大的努力,并且有很大的可用性噩梦的潜力。
另一个问题是,如果您尝试同步具有特殊权限、所有权或文件类型的文件夹:将 /etc/
、 /tmp/
或 /dev/
视为一些最坏的情况。或者你不拥有的任何文件夹,真的。我们可以简单地禁止同步您不拥有的文件夹,但我们知道事实上有些人正在以 root 身份运行 syncdaemon(尽管我们发出警告)。
您的解决方法是将 /data
文件夹挂载到您的家中(通过 /etc/fstab
,因此您有理由确定每次都挂载分区 – 否则您可能会丢失同步的数据) /data
文件夹。您可以简单地将 /data
移动到 ~/data
或者,如果您有 /data
路径硬编码的东西(很可能),或者如果您自己已经习惯了 /data
(也很可能),则将安装 /data
符号链接或绑定到安装点你家。如果您根本不想在家中看到它,只需将其设为 ~/.data
即可。
次佳回答
我确实设法通过使用绑定安装来使其工作。 /etc/fstab
中的行如下所示:
/mnt/s1/Audio /home/daniel/Music bind defaults,bind 0 0
显然,您将需要对相关文件夹的写入权限。我不确定,您可能还需要拥有这些文件。
第三种回答
我怀疑原因是权利。您会注意到您也无法轻松编辑主目录之外的任何文件?这是 linux 的一般安全功能,我怀疑 Ubuntu One 开发人员(非常正确)认为普通用户会将他的所有文件保存在主目录中,守护进程可以在没有提升权限的情况下轻松运行。
在关于您的配置的旁注中,这完全取决于偏好,但我将完整的 /home/保存在单独的磁盘/分区上。这确实意味着在 re-installations 之间,您需要通过并删除所有隐藏的文件夹/文件以进行全新安装,但会给您带来具有 ubuntuone 权限等的完全本机主目录的优势 – 只是一个想法。