为什么不使用Ubuntu One在家外同步文件夹?


19

我花了一段时间才发现,使用Ubuntu One,我只能同步主文件夹中的文件夹。在所有其他文件夹上,Ubuntu One选项在首选项中均可用,但实际操作显示为灰色。

Ubuntu的一个常见问题是说得十分明白:

否,当前您只能选择同步主目录中的文件夹。

但是,我实际上想知道为什么以及这种情况是否会改变,以及周围是否有窍门(除了将我的住所设置为另一个/)?

我个人的主文件夹中除了程序配置之外没有任何重要数据。所有文档,图片,音乐都位于一个/data实际上位于其他分区上的文件夹中。这使得在想要重新安装Ubuntu时更加容易。


我不是在购买“您不想同步特殊分区”。我认为不同步主目录之外的内容不是正当的理由。U1不应同步某些文件夹/目录。例如,在Linux上为/ etc,/ home,/ boot;\ windows,Windows上的\ program文件。我也有同样的情况。我不在Windows笔记本电脑的主目录或文档目录中保存任何内容。如果这样做的话,我那里会有几个GB的东西。我宁愿使用其他几个位置。

Answers:


17

至少在可预见的将来,它不会改变(就此而言,我可以预见未来几年)。坦率地说,允许用户选择家中以外的任意文件夹与Ubuntu One进行同步(可能会在多台不同的计算机之间进行同步)会带来大量的可用性问题,以涵盖一个用例,这很普遍。

我记得最主要的问题之一是,如果您尝试同步可移动设备的安装点(并且很多人都尝试这样做),则在删除设备时,syncdaemon会删除所有内容。为了使其正常运行,syncdaemon必须了解设备,检测其删除情况,诸如此类。付出了巨大的努力,并且在可用性方面造成了巨大的噩梦。

另一个问题是,如果你试图用特殊的权限,所有权或文件类型在一个文件夹同步:想/etc//tmp/或者/dev/因为一些最坏的情况。还是您不拥有的任何文件夹。我们可以简单地禁止同步您不拥有的文件夹,但事实上,有人知道以root身份运行syncdaemon(尽管有警告)。

一种解决方法是将文件夹挂载(通过/etc/fstab,因此您可以合理地确定每次都安装了分区-否则可能会丢失同步数据)将/data文件夹放到家里。您可以简单地移至/data~/data或者,如果您对/data路径进行了硬编码(很有可能),或者如果您已经习惯了/data(也很有可能),/data则将符号链接或绑定安装到家庭中的安装点。如果您根本不想在家里看到它,只需制造它~/.data


我认为用例现在不是很普遍,因为没有一个不错的界面可用于同步任意文件夹。我同意这不是一件容易的事,但是一旦解决了工程和可用性问题并提供了一个不错的直观界面,我相信许多人会使用它,因为许多人拥有多台计算机。
阿拉斯

SpiderOak,Wuala和Bitcasa都支持在Linux上同步外部驱动器,因此这个问题并非无法解决。你提到syncdaemon当驱动器被删除将删除一切-没有你们的作家syncdaemon?您不能对外部驱动器进行编程以使其执行该操作吗?
BlueRaja-Danny Pflughoeft

是的,我们当然可以。我们还没有这样做。
奇帕卡

在具有高级用户的Windows上,禁止更改此设置仅是<del> stupid </ del>是不明智的。公司和理智的家庭设置的系统驱动器通常与Windows中的数据驱动器不同。例如。我从来没有养什么c:\users\<myusername>,我把所有的个人,在一个单独的硬盘驱动器上的一个单独的分区的所有其他数据。但是在Windows中,挂载和链接并不像在所有版本中的linux中那样容易,因此,人们并不会简单地将那些驱动器或文件夹挂载或链接到一个人的主文件夹中。我发现完全不允许我更改此位置,这真是太疯狂了。即使是保管箱也可以做到这一点。
n611x007 2013年

1
@naxa高级用户可以将其主目录的位置更改为另一个驱动器(如果您实际上将所有个人数据保存在该驱动器中,那么您已经完成了此操作),因此这一点很重要。
奇帕卡

4

我确实设法通过使用绑定安装来使其工作。输入的行/etc/fstab如下所示:

/mnt/s1/Audio   /home/daniel/Music      bind    defaults,bind   0       0

显然,您将需要对相关文件夹的写权限。我不确定,可能您可能还需要拥有这些文件。


3

我怀疑原因是权利。您会注意到,您也无法轻松编辑主目录之外的任何文件吗?这是linux的一项常规安全功能,我怀疑Ubuntu One开发人员(很正确)认为普通用户会将其所有文件都保存在主目录中,该守护程序可以在没有提升特权的情况下轻松运行。

关于您的配置的侧面说明,所有这些都是优先事项,但是我将完整的/ home /保留在单独的磁盘/分区上。这确实意味着在重新安装之间,您需要检查并删除所有隐藏的文件夹/文件以进行全新安装,但是这将为您带来具有ubuntuone权限等的完全本地主目录的优点-只是个想法。


2
哦,我刚刚尝试了一种更明显的解决方法(符号链接),而ubuntuone却没有任何一种...
thomasmichaelwallace 2011年

1

用两个词:使用Dropbox。

@Chipaca列出的原因可能很难克服,但是Dropbox设法做到了。的确,该解决方案不是开源的,但是直到Ubuntu One的人们解决了一些主要的可用性问题(这是其中的一个),许多用户才能使用Ubuntu One。


0

在Ubuntu 12.04下,我有一个非常相似的设置。我的音乐库上有一个NFTS分区,该分区对Windows 7和Ubuntu都是可见的。我希望能够将此目录同步到Ubuntu One,而不必将整个目录显式移动到我的主目录(似乎是合理的请求,对吧?)。

我的解决方案是每次我启动Ubuntu时就将共享分区挂载到主目录中。这采取了两个相当简单的步骤。

  1. 安装并使用该文件pysdm以确保分区在启动时正确安装(不一定在您的主目录中,而是在文件系统中的某个位置)。或者,/etc/fstab如果您有足够的信心,则可以自己修改文件。作为一个相当新的用户,我发现pysdm解决方案更加简单。

    无论哪种方式,请确保/etc/fstab在执行此步骤之前备份文件!(以防万一!)

    sudo cp /etc/fstab /etc/fstab.old (例如)

    如果出现问题,您始终可以还原旧文件,然后回到原来的位置:

    sudo cp /etc/fstab.old /etc/fstab

    pysdmGUI中,选择目标分区,然后单击“助手”按钮。确保选择“设备的所有者可以安装它”选项。这样可以确保您可以使用Upstart重新挂载到主目录中。就我而言,我将sda4分区设置为挂载在/media/sda4/

  2. 通常,Upstart的行为由目录中的文件定义/etc/init/。为了/media/sda4在主目录中挂载新分区(对我来说),我定义了一个/etc/init/mount-mydirs.conf文件,其中包含:

    start on runlevel [2345]
    task
    exec /bin/mount-mydirs`
    

    第一行告诉Upstart在正常启动时执行任务。第二行告诉Upstart该作业要执行一次(而不是无限期或重复执行的作业),最后一行告诉它执行脚本/bin/mount-mydirs(具有root特权)。

    文件`/ bin / mount-mydirs'看起来像:

    mount --bind /media/sda4/ /<home directory>

    (--bind选项允许从原始安装点和新安装点访问文件)。

写这篇文章时,我正在听我完全同步的,新安装的音乐库!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.