是否有人知道可以向我展示如何在家制作自己的“ Dropbox,Ubuntu One”服务器的资源?
我真的很喜欢这些服务的想法,但是我不想把我的“东西”放在云端。理想情况下,它应该具有在Linux和Windows上运行的客户端。
我尝试在Ubuntu 10.04上设置iFolder,但到目前为止没有成功。
sudo apt-get install ubuntu-one-server
。
是否有人知道可以向我展示如何在家制作自己的“ Dropbox,Ubuntu One”服务器的资源?
我真的很喜欢这些服务的想法,但是我不想把我的“东西”放在云端。理想情况下,它应该具有在Linux和Windows上运行的客户端。
我尝试在Ubuntu 10.04上设置iFolder,但到目前为止没有成功。
sudo apt-get install ubuntu-one-server
。
Answers:
当前没有开箱即用的出色开源替代方案。最值得关注的是sparkleshare项目:http://www.sparkleshare.org/
希望这将成为一个伟大的事情,自己动手,替代。
实际上有很多。
基于GitHub GUI的同步软件上的SparkleShare(deps:git / subversion,mono,python)。
一种。版本控制:通过源代码控制系统,因此基于版本号在中央服务器上基于互斥体。
b。状态:开发中
C。优点:OSS,基于单声道,因此易于修改,缺点:用户级进程,依赖GC的,无效的共享协议,其数量级为git,因为git主要用于小的文本文件,很难编译(我尝试过)。使用高级工具。
lipsync(deps:Unison,rsync)基于命令行服务的软件。
一种。版本控制:通过rsync delta algoritm。我认为程序员必须选择冲突解决方案。
b。声明:我找不到其源代码,所以我不知道。他的git repo中唯一的东西就是二进制文件。
C。优点:设置不错,使用了中级工具。
iFolder -Novell的Dropbox。我尚未研究其来源。我只想进行此编辑,如果人们有兴趣,我会添加更多内容。
一种。版本控制:
b。状态:在Ubuntu上编译它存在问题,更不用说软件包了。这是详细的安装指南。
C。优点:Windows X64客户端,成熟,具有ACL的AD集成,没有其他项目开始实现的功能。我认为这可能是一个很好的起点。缺点:Novell可能不会将其公共svn存储库用作主要存储库,而只会执行代码删除。我对此一无所知。可能与openSUSE耦合太紧而无法在Ubuntu上轻松安装。查看其算法。
scp / rcp-不推荐使用rsync
DRDB-用于分布式RAID-1的块设备镜像工具,即Dropbox的服务器变量。我还没有签出它的源代码,但是它只是Linux。在此软件列表下方,按我的想法,实际的算法可能很容易与源代码结合。
一种。版本控制:LAN / WAN上的内部消息格式
b。状态:似乎已经足够成熟
C。优点:对于Linux足够稳定,缺点:不支持其他操作系统
现在,我正在研究虚拟化Windows 7的编译时间,其中Windows 7 on metal的编译时间为40 s,而虚拟化的Windows 3约为20 m。我正在考虑编写一个ioctl驱动程序,它是一个直写式缓存,看起来像NTFS上所选文件夹的ram磁盘。
使用上述软件,我认为一个星期的2至3人全日制开发将产生一个可用的Alpha,通过组合上述软件,您不会丢失任何文件。
在我的系统上,一般的想法是:
挂载虚拟驱动器\?{GUID},即虚拟磁盘和RW缓存。创建此虚拟驱动器的软件需要两个输入参数(至关重要):
一种。目标文件夹;这是SMB文件夹,因此我将让操作系统的网络堆栈处理实际的IO。就我而言,这是VMWare虚拟文件夹,其本身在ext4驱动器上有一个目标,但是使用SAMBA / SMB可以很容易地成为您的文件服务器。
b。要安装的文件夹的路径,例如C:\ ramdisk
用于创建虚拟卷的此代码取自/Driver/DriverFilter.c中的TrueCrypt的代码(以及其他文件)。
该驱动器在启动时使用SMB / VMWare /网络协议来获取数据。它以低任务优先级从网络异步获取并填充其缓存。它可以使用一种简单的压缩算法,并具有1个线程,该线程使用消息框类型的连续传递来获得出色的性能。在Windows上,它可以使用常规的异步IO调用,在Linux上,可以使用epoll / inotify实现并从nginx获取代码。
我的服务是ram磁盘,将未命名的ramdisk驱动器安装为NTFS文件夹。所有程序都可以继续写入C:\ ramdisk或我称之为的任何文件。
来自网络的异步复制仍在继续。读取速度约为100 MiB / s和2 GiB ramdisk,则读取所有数据将需要20.5 s。
每次读取调用都将在CPU中将索引执行到固定的n:ulong GiB max大小的数组中。但是,这将需要解决冲突或读写锁定。如果我们要实现一个可通过Microsoft Sync获得的解决冲突的算法,则可以将每个冲突的块作为消息传递给另一个冲突解决过程。Dropbox通过创建一个新文件并将其命名为“ PrevFileName用户名的冲突副本(yyyy-MM-dd).ext”来解决该问题。如果有人针对单个源进行编译,则可以通过一个小窗口小部件来更改此方法-小窗口小部件将检测到未解决的更改作为消息/事件,并选择冲突解决协议。这样,在以独占模式对文件夹进行编程时,Windows VM可以将小部件设置为“独占”。
这将有这些专业人士
我认为这不是您想要的,但是取决于您的预期用途。
CrashPlan是一个备份软件包和相关的在线备份托管服务,但是不同的是,它们的软件具有一种模式,该模式允许您将数据通过Internet(或LAN)备份到另一台运行该软件的PC上。
这意味着目的地不必在云中。它与Dropbox完全不同,它更多地是关于备份而不是从任何地方同步和访问文件,但是,如果只是备份,则效果很好。如果您想从另一台PC访问备份的文件,我认为您可以执行“本地还原”,但这不是我尝试过的。
基本软件包是免费的,并且支持“备份到另一台计算机”模式,但是仅支持计划备份,但是该软件具有“专业版”,该版本也需要付费并进行实时同步,而不仅仅是计划备份。(云存储也是每月额外的可选费用)
没有人提到过bitorrent同步吗?可以在任何东西上运行-Ubuntu,Windows,许多常见的智能手机操作系统,树莓派...。您可以将其命名,并且可以作为普通用户使用。加密传输,文件不会存储在云中(尽管我认为bittorrent会为它运行跟踪器),速度相当快,您可以有选择地共享文件夹,并且几乎不涉及复杂性,您只需要复制并粘贴一个密钥即可系统。
设置完成后,就可以使用。
尽管这里已经列出了一些有趣的替代方法,并且这是一个较旧的问题,但我坚信,由于最近一次隐私泄露事件,该主题显然并不过时,并且正变得越来越重要。
因此,我想分享自己的经验。我当前针对类似托管云的环境的解决方案是Seafile。
Seafile功能:
我的Seafile经验:
因为我不需要代理支持,所以我对Seafile非常满意!
我使用SSHFS将服务器上的目录挂载为台式机和笔记本电脑上的本地目录。所有文件更改都直接保存到服务器上。但是,与保管箱不同,文件不是本地存储在客户端计算机上。我认为这很棒,因为您不必担心同步和版本控制,但是对于脱机使用或非常大的文件而言,它并不是理想的选择。
它非常直接和简单,我发现它是最好的解决方案。我唯一不使用的是大型媒体,例如图片和电影,因为所有文件都可以通过网络访问。我用Rsync同步的那些。
链接到SSHFS文档-> http://fuse.sourceforge.net/sshfs.html