it-swarm-tr.com

Evde kendi Dropbox / Ubuntu One sunucumu nasıl yapabilirim?

Evde kendi "Dropbox, Ubuntu One" sunucumu nasıl yapacağımı gösterebilecek kaynakları bilen var mı?

Bu hizmetlerin fikrini gerçekten seviyorum, ama 'eşyalarımı' bulutlara koymak istemiyorum. İdeal olarak, Linux ve Windows üzerinde çalışan bir istemciye sahip olması gerekir.

Ubuntu 10.04'imde iFolder'ı kurmaya çalıştım, ancak şimdiye kadar herhangi bir başarı elde etmedim.

70
user1978

Şu anda kutudan çıkacak harika bir açık kaynak alternatifi yok. Göz önünde bulundurmanız gereken en iyi şey sparkleshare projesidir: http://www.sparkleshare.org/

Umarım bu büyük bir büyüyecek, kendiniz yapın, alternatif.

41
Rick

Aslında birçoğu var.

  • SparkleShare (deps: git/Subversion, mono, python) --- github GUI tabanlı senkronizasyon yazılımı.

    a. Sürüm oluşturma: bir kaynak kontrol sistemi sayesinde, sürüm numarası aracılığıyla merkezi bir sunucu üzerinde muteks tabanlıdır.

    b. Devlet: geliştirme aşamasında

    c. Artıları: OSS, mono tabanlı çok kolay değiştirilebilir, Eksileri: kullanıcı düzeyinde işlem, GC-bağımlı, etkisiz paylaşım protokolü olarak büyüklük git git öncelikle küçük metin dosyaları için, oldukça derlemek zor (denedim). Üst düzey araçlar kullanma.

  • lipsync (deps: Unison, rsync) Komut satırı servis tabanlı yazılım.

    a. Sürüm oluşturma: rsync delta algoritm ile. Programcı çatışma çözümlemesi seçmeli.

    b. Durum: Kaynak kodunu bulamıyorum, bu yüzden hiçbir fikrim yok. Git deposundaki tek şey ikili.

    c. Artıları: Orta seviye araçlar kullanarak güzel kurulum.

  • iFolder - Novell'in Dropbox'ı. Henüz kaynağını incelemedim. Sadece bu düzenlemeyi ele almak istiyorum ve insanlar ilgilenirse daha fazlasını ekleyeceğim.

    a. sürüm:

    b. Durum: Paketleri bir kenara bırakıp Ubuntu'da bile derleme sorunu. Ayrıntılı kurulum kılavuz .

    c. Artıları: Windows X64 istemcisi, olgun, ACL'lerle AD entegrasyonu, başka hiçbir projenin uygulamaya başlamadığı özellikler. Bence bu iyi bir başlangıç ​​noktası olabilir. Eksileri: Novell, genel svn deposunu birincil repo olarak kullanamaz ve yalnızca kod bırakmaları yapabilir. Bununla ilgili tam olarak bilmiyorum. Ubuntu'ya kolayca kurulabilmek için openSUSE ile çok fazla birleştirilebilir. Algoritmalarını kontrol etmek için.

  • scp/rcp - rsync lehine kullanımdan kaldırıldı

  • DRDB - dağıtılmış RAID-1 için cihaz yansıtma araçlarını, yani dropbox'ın sunucu varyantını engelleyin. Henüz kaynak kodunu kontrol etmedim, ama sadece linux. Gerçek algoritma muhtemelen bu yazılım listesinin altındaki benim kodlarımdaki kaynak kodu ile birleştirmek kolay olurdu.

    a. Sürüm oluşturma: LAN/WAN üzerinden dahili mesaj biçimi

    b. Devlet: yeterince olgun görünüyor

    c. Artıları: Linux için yeterince kararlı, Eksileri: başka hiçbir işletim sistemi desteklenmez


Şu anda, sanallaştırılmış bir Windows 7'de derleme sürelerini iyileştirmeyi araştırıyorum, burada metal üzerindeki bir Windows 7'deki derleme süreleri 40 s, ancak yaklaşık 3m 20s sanallaştırıldı. NTFS'de seçilen klasörler için bir ram diskine benzeyen bir yazma önbelleği olan bir ioctl sürücüsü yazmayı düşünüyorum.

Yukarıdaki yazılımı kullanarak, bir haftalık 2-3 kişilik tam zamanlı gelişimin, yukarıdaki yazılımları birleştirerek dosyalarınızı kaybetmeyen kullanışlı bir Alfa üreteceğini düşünüyorum.


O zaman benim sistemimde genel fikir şu olurdu;

  1. Bir sanal sürücü monte edin \? {GUID}, yani ram-disk ve RW-önbellek. Bu sanal sürücüyü oluşturan yazılım iki giriş parametresi alır (hayati önem taşır):

    a. Hedef klasör; Bu SMB klasörü, bu yüzden işletim sisteminin ağ yığını gerçek IO işlemek için izin vereceğim. Benim durumumda bu kendi içinde bir hedef olan VMWare sanal klasörü ext4 sürücü, ancak kolayca SAMBA/SMB kullanarak dosya sunucunuz olabilir.

    b. Bağlanacak klasörün yolu, ör. C:\ramdisk

    Sanal birimler oluşturmak için bu kod TrueCrypt'in kod , /Driver/DriverFilter.c (diğer dosyalar arasında) içinde alınır.

  2. Sürücü başladığında verileri almak için SMB/VMWare/ağ protokolünü kullanır; ağdan eşzamansız olarak düşük görev önceliğine sahip olur ve önbelleğini doldurur. Basit bir sıkıştırma algoritması kullanabilir ve mükemmel performans elde etmek için mesaj kutusu tipi devamı kullanan 1 iş parçacığına sahip olabilir. Windows'da normal async IO çağrılarını kullanabilir ve linux üzerinde epoll / inotify uygulamasını kullanabilir ve - nginx .

  3. Ram-disk olan hizmetim, adlandırılmamış ramdisk sürücüsünü NTFS klasörü olarak bağlar. Tüm programlar C:\ramdisk'e ya da her ne dersem yazmaya devam edebilir.

  4. Ağdan zaman uyumsuz kopya devam ediyor. Yaklaşık 100 MiB/s okuma hızı ve 2 GiB ramdisk ile tüm verileri okumak 20,5 s olacaktır.

Her bir okuma çağrısı, indeksin sabit bir n: ulong GiB maksimum boyutlu diziye) CPU içi hesaplamasını yapacaktır. Yine de çakışma çözmeyi veya okuma-yazma kilitlerini gerektirecektir. Microsoft Sync aracılığıyla kullanılabilenler gibi bir çakışma çözümleme algoritması uygulamak için, bir çakışma çözme işlemine ileti olarak çakışan her parçayı başka bir çakışma çözüm sürecine geçirebiliriz. -dd) .ext ".Bu, tek bir kaynağa karşı derleniyorsa, küçük bir widget aracılığıyla değiştirilebilir - widget, mesaj/olay olarak olağanüstü değişiklikleri algılar ve çakışma çözümleme protokolünü seçer. özel modda bir klasör varsa, Windows VM widget'ı 'özel' olarak ayarlayabilir.

Bu şu PRO'lara sahip olacak

  • Engellemeyen/zaman uyumsuzluk olurdu
  • Bu varsayımı yapar, ancak bir bilgisayarın çoğunlukla dosyalara yazmasını gerektirmez.
  • Rasgele büyük dosyalar için çalışır
  • Söz konusu projeleri birbirine bağlayarak * nix ve Windows üzerinde çalışacaktır.
  • Yüksek okuma performansına ihtiyaç duyulduğunda çalışır (yani, dosyalar fiziksel olarak diskte bulunur)
  • Çakışan olaylara ulaşıldığında, kullanıcının farklı türdeki etkinlikler için (ör. Farklı dosya türleri) uygun şekilde hareket eden eklentiler yazmasına/indirmesine izin veren bir kullanıcı arayüzü uygulaması sağlanabilir. Örneğin. Kompare/WinDiff ile bir metin dosyası getirilebilirken, bir ikili dosya kopyalanır ve başka bir dosya olarak kaydedilir.
44
Henrik

owncloud ! aradığınız bir şey gibi geliyor.

18
Dinesh

Syncanybuntu UK Podcast , şu anda beta duydum ama gereksinimleri karşılar gibi görünüyor

5
deveneyi

Aradığınızı tam olarak sanmıyorum, ancak kullanım amacınıza bağlı.

CrashPlan bir yedekleme yazılımı paketi ve ilgili çevrimiçi yedekleme barındırma hizmetidir, ancak farklı olan, yazılımlarının verilerinizi internet (veya LAN) üzerinden çalışan başka bir bilgisayara yedeklemenizi sağlayan bir moda sahip olmasıdır. yazılım.

Bu, hedefin bulutta olması gerekmediği anlamına gelir. Dosyaların her yerden senkronize edilmesi ve erişilmesinden ziyade yedeklemeyle ilgili olması dropbox gibi değildir, ancak sadece istediğiniz yedeklemeler varsa iyi çalışır. Yedeklenen dosyalara diğer PC'den erişmek istiyorsanız, "yerel geri yükleme" yapabileceğinizi düşünüyorum ama denediğim bir şey değil.

Temel yazılım paketi ücretsizdir ve "başka bir bilgisayara yedekleme" modunu destekler, ancak yalnızca zamanlanmış yedekleme yapar, ancak yazılımın yalnızca zamanlanmış yedeklemelerden ziyade gerçek zamanlı senkronizasyona da mal olan ve "pro" sürümü vardır. (Bulut depolama alanı ayrıca aylık isteğe bağlı bir ödemedir)

3
Simon P Stevens

İstemci için Unison ve sunucuyu yedeklemek için rsnapshot (Perl komut dosyası ile rsync) kullanıyorum.

3
bassgey
2
guest442

Çoğaltılmış bir klasöre sahip iki (veya daha fazla) makine kurmak istiyorsanız, glusterfs'e bakın.

GlusterFS Kullanım Kılavuz 'yı izlerseniz kurulumu kolaydır.

2

Kimseden bahsedilmedi bitorrent senkronizasyon ? Bir şey üzerinde çalışır - Ubuntu, pencereler, birçok yaygın akıllı telefon işletim sistemi, Raspberry Pi .... adını verdiğinizde, muhtemelen çalışıyor ve normal bir kullanıcı olarak. Şifrelenmiş aktarımlar, dosyalar bulutta depolanmaz (bittorrent'in izleyiciyi çalıştırdığını düşünüyorum), makul derecede hızlı, klasörleri seçici olarak paylaşabilir ve neredeyse hiç karmaşıklık olmaz, sadece bir anahtarı kopyalayıp diğerine yapıştırmanız gerekir sistemi.

Bir kez ayarlandığında, sadece çalışır.

2
Journeyman Geek

Apache web sunucusu için Apache'yi mod_dav (webdav) ile kullanıyorum, bir sürücü olarak bağlayabilir ve dosyaları web üzerinden yükleyebilirim. Bu oldukça basit, ama ihtiyaçlarınızı karşılayabilir.

1
JurjenB

Gözümü tutuyorum AeroFS . Bulutta depolamanın isteğe bağlı olduğu Dropbox benzeri bir hizmet olabilir gibi görünüyor. Mobil desteği uygulayıp uygulayamayacaklarını/ne zaman uygulayacaklarını bilmiyorum ve sanırım bu dosyaları buluta senkronize etmenizi gerektiriyor. Öncelikle Windows, Mac ve Linux bilgisayarlar arasında oldukça ağrısız bir senkronizasyon çözümü ile ilgileniyorum.

Erken beta aşamasındalar, ancak isterseniz bir davet için kayıt yapabilirsiniz.

1
dempa

Zaten burada listelenen ilginç alternatifler olsa da ve bu daha eski bir soru olsa da, bu konunun açıkça modası geçmediğine ve tam tersine son gizlilik kırma olayları nedeniyle giderek daha fazla önem kazandığına inanıyorum.

Bu yüzden kendi deneyimimi paylaşmak istiyorum. Kendi barındırılan bulut ortamı için mevcut çözümüm Seafile .

Seafile özellikleri:

  • Web tabanlı bulut erişimi
  • Linux, Windows, Mac, iOS (ücretsiz değil), Android istemcileri
  • Kullanıcı/grup yönetimi
  • Farklı kütüphaneler aracılığıyla dosya organizasyonu
  • İstemci yazılımı ile otomatik dosya senkronizasyonu
  • Genel bağlantılar oluşturarak dosyaları yayınlama imkanı

Seafile deneyimlerim:

  • Kurulum kolay ve hızlı bir şekilde öldü! (ince bir debian vm'de, fiziksel Host dmraid 5'e paylaşım yoluyla saklanan dosyalar ile)
  • Kullanıcı arayüzü temiz ve işlevsel
  • İstemci yazılımı temiz ve işlevsel
  • Şimdiye kadar benim için hayır fonksiyonel sorunlar vardı! (bunu birkaç haftadan beri kullanıyor)
  • Özellik kümesi temeldir (owncloud ile karşılaştırıldığında), ama her şeyin burada çalıştığını vurguluyorum!
  • Doğrudan proxy desteği yok (en azından linux istemcisi ve web arayüzü için!). Not: web arabirimi çalışır, ancak webinterface yoluyla dosyaların indirilmesi bir proxy arkasında çalışmaz - bunun bir şekilde mümkün olup olmadığını bilmiyorum

Proxy desteğine ihtiyacım olmadığından Seafile'dan gerçekten memnunum!

1
Nicolas

Sunucumdaki dizinleri masaüstümde ve dizüstü bilgisayarımda yerel dizinler olarak bağlamak için SSHFS kullanıyorum. Tüm dosya değişiklikleri doğrudan sunucuya kaydedilir. Dropbox'ın aksine, dosyalar istemci makinelerinizde yerel olarak saklanmaz. Bunun harika olduğunu düşünüyorum çünkü senkronizasyon ve sürüm oluşturma konusunda endişelenmenize gerek yok, ancak çevrimdışı kullanım veya çok büyük dosyalar için ideal değil.

Çok doğrudan ve basit ve en iyi çözüm olduğunu düşünüyorum. Kullanmadığım tek şey resim ve filmler gibi büyük medyadır çünkü tüm dosyalara ağ üzerinden erişilir. Rsync ile senkronize ettiğimler.

SSHFS belgelerine bağlantı -> http://Fuse.sourceforge.net/sshfs.html

0
Sam Swift