月度归档:2012年03月

Linux KDE/XFCE同步方案

目前坚果云只支持Gnome/Nautilus插件,不支持其他桌面系统文件管理器插件。但是,我们的同步和UI逻辑与平台无关,所以理论上是可以在使用KDE/XFCE的Linux发行版里面正确同步。我们实际测试了kubuntu和xubuntu,发现的确可行。以下是KDE/XFCE下用坚果云同步的步骤,有兴趣的同学可以尝试一下。

1. 解决依赖关系: openjdk, gvfs-bin
$> sudo apt-get install openjdk-6-jre-headless gvfs-bin

如果您的系统不是基于ubuntu,请使用对应的包管理工具,安装这些包。

2. 下载坚果云二进制组件
如果你的系统是32bit:
$> wget http://url.cn/2J2BnO -O /tmp/nutstore_bin.tar.gz

如果你的系统是64bit:
$> wget http://url.cn/4MxqP7 -O /tmp/nutstore_bin.tar.gz

3. 解压缩和复制
$> mkdir -p ~/.nutstore/dist
$> cd ~/.nutstore/dist && tar zxf /tmp/nutstore_bin.tar.gz

4. 安装坚果云菜单和图标
$> ~/.nutstore/dist/bin/install_core.sh

安装以后,您可以点击系统菜单:Applications > Internet > Nutstore,启动坚果云程序。

请注意,由于暂时没有Dolphin和Thunar插件,这个方法不能在这些文件管理器里面显示同步状态图标,也不能显示坚果云右键菜单。后续我们支持文件浏览器插件,但是需要一点时间。

如何避免和解决文件冲突

出现文件冲突通常是由于本地的文件和云端文件数据内容不一致,为了不让数据丢失,客户端在同步时会在本地保存云端的文件,并将本地的文件命名为冲突文件,其内容为另一份修改的版本,冲突文件和源文件会同步到到所有电脑上。

以下情况可能引发冲突:

  • 您和您的伙伴同时修改了同一个文件
  • 同步应用程序自动生成文件时(例如QQ聊天记录、eclipse自动编译结果等),如果多个电脑同时运行该应用程序,则很容易产生冲突
  • 解除绑定同步文件夹后,修改了文件夹内的文件内容,再次绑定后,被修改文件一定会冲突
  • 在未打开坚果客户端的情况下,在两台电脑上修改了同一个文件

坚果云重命名的冲突文件的文件名在windows上带有“-冲突”字样,在linux和mac上带有“-NSConflict”字样。如果该同步文件夹还会和用户同步,那么冲突文件名字中会加上产生该冲突文件的用户昵称。

具体如下图所示:

文件冲突发生后,你可以在本地搜索所有带有“-冲突”(Windows)字样或”-NSConflict”(Mac OS X或Linux)的文件,采取以下措施:

  • 如果确定文件内容没有实质修改,或者冲突文件内容应该被云端文件覆盖,那么可以直接移除所有冲突文件。即使出现误操作,仍然可以从坚果云的历史版本中恢复出该冲突文件,进行内容比对。
  • 如果明确两份文件的内容有区别(此情景常发生于多人同步),您需要手动打开两个文件,比对内容,然后将冲突文件中的修改挪到原文件中,随后删除冲突文件。 对于文本文档,可以采用winmerge等工具进行比对;对于Word文档,可以采用Word自带的文件内容比较进行比对(Office 2003:工具->比较并合并文档,Office 2007以上:审阅->比较)。
  • 如果因为卸载客户端或者“取消同步”后修改了文件导致内容和云端不一致,在重新安装客户端和“恢复同步”后产生的冲突,那么可以确信冲突文件应该是更新版本。您可以删除云端同步下来的文件,然后将冲突文件重命名为原来的名字。

文件发生冲突给同步带来了不便,因此需要尽量避免冲突发生。以下是一些避免发生冲突的建议:

  1. 邀请伙伴与您同步时,请尽量控制伙伴的操作权限,如果伙伴仅需读取文件,那么请将他的权限设置为“只读”。
  2. 如果伙伴需要与您一起操作同步文件夹,那么指定某个用户对内容分类和管理,其他的用户只负责添加、编辑文件,而避免移动和删除文件。另一种思路是,每个用户创建的文件都放在以个人名字命名的子文件夹下。用户尽可能将文件名字赋予意义和容易理解。
  3. 与不同伙伴同步的文件最好放在不同的同步文件夹中,并分别邀请不同伙伴加入,这样可以很好的控制同步文件夹的参与人数,减少冲突发生的频率。
  4. 避免将未同步完成的文件手动拷贝到其他电脑,这样容易引发冲突,尤其是office文件。通常情况下,坚果云的局域网同步能够很好的处理这个场景。
  5. 避免取消同步某个同步文件夹,然后再将其恢复同步。因为取消同步后,修改了文件夹内的文件内容,再次恢复同步后,被修改文件一定会冲突。
  6. 同步应用程序自动生成文件时(例如QQ聊天记录、eclipse自动编译结果等),避免该应用程序同时在多台电脑上运行。针对QQ聊天记录,请务必在坚果云完成对云端数据的同步后再启动和登录QQ,否则因为QQ自动修改聊天记录, 很容易造成冲突。

我们如何重视用户数据安全?

坚果云一直将”安全”做为最重要的目标之一. 不幸的是, “安全”二字标榜起来容易, 真要做到, 颇为艰难. 最近的一件工作就反映了这个情况.

百度对于大部分使用”https”访问的安全页面都不收录, 造成我们的主页迟迟不能出现在搜索引擎的首页结果上.  我们想了各种办法, 包括 “为百度爬虫指定单独的HTTP页面”, “通过百度的各个工具提交页面”,  “比对同类型网站的主页”, “咨询认识的百度的朋友”, 得出的结论是最好将主页制定为http版本, “见效快, 疗效好”, 同时主页打开的速度还够快.

不过我们仍在坚持使用https版本做为登录主页. 否则,  登录后的用户一旦直接在浏览器中输入”jianguoyun.com”,  用户身份信息(cookie)将直接明文传输. 如果用户处在不安全的网络环境, 例如咖啡店, 星巴克, 机场, 或者其他使用代理上网的场合,  只需一个简单工具, 用户数据将瞬间可以被其他人访问.

甭管用了什么本地加密, 也甭管用了多复杂的密码, 只要一个链条松动, 用户放在”云存储”中的数据将瞬间暴露. 这是做一个”安全云存储”困难的地方, 也是我们为什么将”安全”做为最重要的目标之一.

BTW: 有认识百度爬虫团队的人吗? 我们还在继续寻找解决办法.