Kendi Dropbox / Ubuntu'yu nasıl yaparım? Bir sunucu evde mi?

70

Bana kendi "Dropbox, Ubuntu One" sunucumu nasıl hazırlayacağımı gösteren herhangi bir kaynak bilen var mı?

Bu servislerin fikrini gerçekten çok beğeniyorum, ama "eşyalarımı" bulutlara koymak istemiyorum. İdeal olarak, Linux ve Windows üzerinde çalışan bir istemci olmalı.

Ubuntu 10.04'ümde iFolder'ı kurmaya çalıştım ama şimdiye kadar hiç bir başarı elde etmedim.

    
sordu user1978 05.09.2010 19:08

13 cevap

41

Şu anda kutudan çıkacak harika bir açık kaynak alternatifi yok. Göz atmanın en iyi yolu, sparkleshare projesidir: İşte

Umarım bu harika olur, kendiniz yapın, alternatif yapın.

    
verilen cevap Rick 05.09.2010 19:13
44

Aslında bir sürü var.

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

    . Versiyonlama: bir kaynak kontrol sistemi ile, mutex tabanlı bir versiyonda merkezi bir sunucuya dayanır.

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

    c. Artıları: OSS, mono-temelde bu kadar kolay değiştirilebilir, Eksileri: kullanıcı düzeyinde süreç, GC-bağımlı, etkisiz paylaşım protokolü büyüklüğü ile git siparişleri esas olarak küçük metin dosyaları için, derlemek oldukça zor (Ben denedim). Üst düzey araçlar kullanarak.

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

    . Sürüm: rsync delta algoritm aracılığıyla. Programcının uyuşmazlık çözümünü seçmesi gerektiğini düşünüyorum.

    , b. Devlet: Kaynak kodunu bulamıyorum, bu yüzden hiçbir fikrim yok. Git repolarındaki tek şey ikilidir.

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

  • iFolder - Novell'in Dropbox'ı. Henüz kaynağını çalışmadım. Sadece bu düzenlemeyi ele almak istiyorum ve eğer insanlar ilgilenirse daha fazla ekleyeceğim.

    . Sürüm:

    , b. Devlet: Ubuntu'da bile paketlemeyi bile zorlaştıran problemler. İşte ayrıntılı bir yükleme kılavuzu .

    c. Artıları: Windows X64 istemcisi, olgun, ACL'lerle AD entegrasyonu, başka hiçbir projenin uygulamaya koymadığı özellikler. Bunun iyi bir başlangıç ​​noktası olabileceğini düşünüyorum. Eksileri: Novell halk repo repolarını birincil repo olarak kullanamaz ve sadece kod-damla yapar. Bununla ilgili tam olarak bilmiyorum. Ubuntu'ya kolayca yüklemek için openSUSE'ye bağlanabilir. Algoritmalarını kontrol etmek için.

  • scp / rcp - rsync lehine onaylanmadı

  • DRDB - dağıtılmış RAID-1 için cihaz yansıtma araçlarını, yani dropbox'ın sunucu varyantını engelleyin. Kaynak kodunu henüz kontrol etmedim, ancak sadece linux. Asıl algoritmanın, bu yazılım listesinin altındaki müziklerimdeki kaynak koduyla birleştirilmesi muhtemelen kolay olacaktır.

    . Versiyonlama: LAN / WAN üzerinden dahili mesaj formatı

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

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

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

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

Sistemimde o zaman genel fikir şöyle olurdu:

  1. Sanal sürücüyü takma \? {GUID}, yani ram-disk ve RW-önbellek. Bu sanal sürücüyü oluşturan yazılım iki giriş parametresi (çok önemlidir) alır:

    . Hedef klasör; Bu SMB klasörüdür, bu yüzden işletim sisteminin ağ yığınının gerçek IO'yu işlemesine izin vereceğim. Benim durumumda bu, bir ext4 sürücüsünde kendi başına bir hedefe sahip olan VMWare sanal klasörüdür, ancak SAMBA / SMB kullanarak dosya sunucunuz kolayca olabilir.

    , b. Monte edilecek klasörün yolu, ör. C: \ ramdisk

    Sanal birimler oluşturmaya yönelik bu kod, /Driver/DriverFilter.c dosyasında (diğer dosyalar arasında) TrueCrypt'ın kodundan alınır.

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

  3. Ram diskim olan hizmetim, adlandırılmamış ramdisk sürücüsünü bir NTFS klasörü olarak mount eder. Tüm programlar C: \ ramdisk'e veya onu ne ararsam yazmaya devam edebilir.

  4. Ağdaki Async kopyası hala devam ediyor. Yaklaşık 100 MiB / s ve 2 GiB ramdisk okuma oranı ile, tüm verileri okumak için 20.5 saniye olacaktır.

Okunacak her çağrı, indeksin bir sabit n: ulong GiB max boyutlu diziye bir CPU içi hesaplamasını gerçekleştirecektir. Ancak çakışma çözme veya okuma yazma kilitleri gerektirir.Microsoft Senkronizasyonu aracılığıyla kullanılabilenler gibi bir uyuşmazlık çözüm algoritması uygularsak, başka bir çakışma çözüm sürecine mesaj olarak çakışmayan her bir parçayı geçirebiliriz. Dropbox, yeni bir dosya oluşturarak ve "PrevFileName Kullanıcı Adının Çakışan Kopyası (yyyy-MM-dd) .ext" adını vererek onu çözer. Belki de bu tek bir kaynaktan derlenirse küçük bir widget ile değiştirilebilir. Widget, mesaj / etkinlik olarak olağanüstü değişiklikleri algılar ve çakışma çözümleme protokolünü seçer. Bu nedenle, özel modda bir klasöre karşı programlama yaparken, Windows VM, widget'i 'özel' olarak ayarlayabilir.

Bu PRO'lara sahip olacak

  • Engellemesiz / async
  • olur
  • Bu varsayımı yapar ancak bir bilgisayarın en çok dosyalara yazmasını gerektirmez.
  • İsteğe bağlı büyük dosyalar için çalışır
  • Söz konusu projeleri bir araya getirerek * nix ve Windows üzerinde çalışacaktı.
  • Yüksek okuma performansı gerektiğinde çalışır (yani dosyalar fiziksel olarak diskte bulunur)
  • Çelişen olaylara ulaşıldığında, kullanıcının farklı türdeki olaylar için (örneğin, farklı türde dosyalar için) geçerli olan eklentileri yazmasını / indirmesini sağlayan bir kullanıcı ara yüzü uygulaması sağlanabilir. Örneğin. Kompare / WinDiff ile bir metin dosyası oluşturulabilirken, bir ikili çoğaltılabilir ve başka bir dosya olarak kaydedilebilir.
verilen cevap Henrik 31.01.2011 20:22
18

OwnCloud ! aradığınız bir şeye benziyor.

    
verilen cevap Dinesh 22.10.2011 11:18
5

Senkronizasyon hakkında duydum. / 25 / s04e07-powerslave / "> Ubuntu UK Podcast , şu anda beta, ancak gereksinimleri karşılıyor gibi görünüyor

    
verilen cevap deveneyi 24.06.2011 18:57
3

Bunun tam olarak ne aradığınızı düşünmüyorum, fakat 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 size izin veren bir moda sahip olmasıdır. Verilerinizi İnternet üzerinden (veya LAN) yazılımı çalıştıran başka bir PC'ye yedeklemeniz gerekir.

Bu, hedefin bulutta olması gerekmediği anlamına gelir. Dropbox gibi değil, her yerde dosyaları senkronize etmek ve dosyalara erişmek yerine yedekleme yapmakla ilgili değil, ama sadece istediğiniz yedeklerse iyi çalışıyor. Yedeklenen dosyalara diğer bilgisayardan erişmek istiyorsanız, "yerel geri yükleme" yapabileceğinizi düşünüyorum, ancak denediğim bir şey değil.

Temel yazılım paketi ücretsizdir ve "başka bir bilgisayara yedekle" modunu destekler, ancak yalnızca zamanlanmış yedekleme yapar, ancak yazılımın "zamanlanmış yedeklemeler" yerine, gerçek zamanlı olarak senkronize edilmesini ve senkronize edilmesini sağlayan "pro" bir sürümü vardır. . (Bulut depolama alanı ayrıca aylık ekstra isteğe bağlı bir ücrettir)

    
verilen cevap Simon P Stevens 05.09.2010 20:12
3

İstemci için Unison ve sunucuyu yedeklemek için rsnapshot (perl betiği ile rsync) kullanıyorum.

    
verilen cevap bassgey 21.10.2010 14:20
2

Bunun yardımcı olup olmadığını görün:

İşte

    
verilen cevap guest442 05.09.2010 22:21
2

Çoğaltılmış bir klasörle iki (veya daha fazla) makine kurmak isterseniz, glusterfs'a bakın.

GlusterFS Kullanıcı Kılavuzu 'nu takip ederseniz kurulumu kolaydır.

    
verilen cevap Richard Holloway 07.09.2010 00:34
2

Hiç kimse bitorrent senkronizasyonundan bahsetmedi mi? Herhangi bir şey üzerinde çalışır - Ubuntu, pencereler, birçok ortak akıllı telefon OS, ahududu pi .... adını, muhtemelen çalışır ve düzenli bir kullanıcı olarak. Şifreli aktarımlar, dosyalar bulutta saklanmaz (bence bittorrent izleyiciyi bunun için çalıştırır), oldukça hızlıdır, klasörleri seçici bir şekilde paylaşabilirsiniz ve neredeyse hiçbir karmaşıklık içermez, sadece bir anahtarı kopyalayıp yapıştırmanız gerekir. sistemi.

Kurulduktan sonra, sadece çalışır.

    
verilen cevap Journeyman Geek 08.02.2014 05:33
1

Gözlerimi AeroFS adresinde tutuyorum. Bulutta depolamanın isteğe bağlı olduğu Dropbox benzeri bir hizmet olabileceği anlaşılıyor. Mobil desteği ne zaman kullanacaklarını ve ne zaman kullanacaklarını bilmiyorum, bu da bu dosyaları bulutta senkronize etmenizi gerektirir. Öncelikle Windows, Mac ve Linux bilgisayarlar arasında oldukça ağrısız bir senkronizasyon çözümü ile ilgileniyorum.

Bunlar erken beta aşamasındadır ancak isterseniz bir davet için kaydolun .

    
verilen cevap dempa 28.01.2012 12:01
1

Apache web sunucusu için mod_dav (webdav) ile apache kullanıyorum, bunu bir sürücü olarak ve web üzerinden dosya indirme / yükleme olarak yerleştirebilirim. Bu oldukça basit, ancak ihtiyaçlarınızı karşılayabilir.

    
verilen cevap JurjenB 21.02.2012 20:35
1

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 mahremiyet kırılma olaylarından dolayı giderek daha fazla önem kazandığına inanıyorum.

Bu nedenle kendi deneyimlerimi paylaşmak istiyorum. Kendi ev sahibi bulut ortamına yönelik şu anki çözümüm Seafile .

Seafile özellikleri:

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

Seafile deneyimlerim:

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

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

    
verilen cevap Nicolas 29.07.2014 10:35
0

Sunucumdaki dizinleri masaüstü ve dizüstü bilgisayarımda yerel dizinler olarak yerleştirmek için SSHFS kullanıyorum. Tüm dosya değişiklikleri doğrudan sunucuya kaydedilir. Ancak dropbox'ın aksine, dosyalar istemci makinelerinizde yerel olarak depolanmaz. 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. Kullanmıyorum tek şey, tüm dosyalar ağ üzerinden erişilebilir çünkü resim ve film gibi büyük medya. Rsync ile senkronize ettiğim kişiler.

SSHFS belgelerine bağlantı - & gt; İşte

    
verilen cevap Sam Swift 31.01.2011 20:25

Etiketlerdeki diğer soruları oku