Czy ktoś wie o jakichkolwiek zasobach, które mogłyby pokazać mi, jak zrobić własny serwer „Dropbox, Ubuntu One” w domu?
Bardzo podoba mi się pomysł tych usług, ale nie chcę umieszczać swoich „rzeczy” w chmurach. Idealnie powinien mieć klienta działającego w systemie Linux i Windows.
Próbowałem skonfigurować iFolder na moim Ubuntu 10.04, ale jak dotąd bez powodzenia.
software-recommendation
file-server
użytkownik1978
źródło
źródło
sudo apt-get install ubuntu-one-server
.Odpowiedzi:
Obecnie nie ma świetnej alternatywy typu open source, która działałaby od razu po wyjęciu z pudełka. Najlepiej mieć na oku projekt sparkleshare: http://www.sparkleshare.org/
Mam nadzieję, że rozwinie się to w świetną, zrób to sam, alternatywę.
źródło
Jest ich naprawdę dużo.
SparkleShare (zależnie: git / subversion, mono, python) w oprogramowaniu do synchronizacji opartym na GUI github .
za. Wersjonowanie: poprzez system kontroli źródła, a więc oparty jest na muteksie na centralnym serwerze poprzez numer wersji.
b. Stan: w przygotowaniu
do. Plusy: OSS, tak łatwo modyfikowalny mono, Wady: proces na poziomie użytkownika, zależny od GC, nieefektywny protokół udostępniania według rzędów wielkości, ponieważ git jest przede wszystkim dla małych plików tekstowych, dość trudny do skompilowania (próbowałem). Korzystanie z narzędzi wysokiego poziomu.
Lipsync (deps: Unison, rsync) oprogramowanie oparte na usługi linii poleceń.
za. Wersjonowanie: poprzez algorytm delta rsync . Zakładam, że programista musi wybrać rozwiązanie konfliktu.
b. Stan: Nie mogę znaleźć jego kodu źródłowego, więc nie mam pojęcia. Jedynymi rzeczami w jego repozytorium git są binaria.
do. Plusy: niezła konfiguracja, użycie narzędzi średniego poziomu.
iFolder - Dropbox firmy Novell. Nie badałem jeszcze jego źródła. Chcę tylko zakończyć tę edycję i jeśli ludzie będą zainteresowani, dodam więcej.
za. Wersjonowanie:
b. Stan: Problematyczne jest nawet skompilowanie go na Ubuntu, nie mówiąc już o pakietach. Oto szczegółowy przewodnik instalacji .
do. Plusy: klient Windows X64, dojrzały, integracja AD z listami kontroli dostępu, funkcje, których żaden inny projekt nie rozpoczął. Myślę, że może to być dobry punkt wyjścia. Minusy: Novell może nie używać swojej publicznej repozytorium svn jako podstawowej repozytorium i jedynie upuszczać kod. Nie wiem jednak dokładnie o tym. Może być zbyt sprzężony z openSUSE, aby łatwo zainstalować na Ubuntu. Aby sprawdzić jego algorytmy.
scp / rcp - przestarzałe na rzecz rsync
DRDB - blokuje narzędzia do tworzenia kopii lustrzanych urządzeń dla rozproszonej RAID-1, tj. Wariant serwera Dropbox. Nie sprawdziłem jeszcze jego kodu źródłowego, ale jest to tylko Linux. Rzeczywisty algorytm byłby prawdopodobnie łatwy do połączenia z kodem źródłowym w moich rozważaniach poniżej tej listy oprogramowania.
za. Wersjonowanie: wewnętrzny format wiadomości przez LAN / WAN
b. Stan: wydaje się wystarczająco dojrzały
do. Plusy: wystarczająco stabilne dla systemu Linux, Wady: nie są obsługiwane żadne inne systemy operacyjne
Obecnie badam poprawę czasów kompilacji w zwirtualizowanym systemie Windows 7, gdzie czasy kompilacji w systemie Windows 7 na metalu wynoszą 40 s, ale zwirtualizowane około 3 mln 20s. Zastanawiam się nad napisaniem sterownika ioctl, który jest pamięcią podręczną zapisu, która wygląda jak dysk RAM dla wybranych folderów w systemie plików NTFS.
Korzystając z powyższego oprogramowania, myślę, że tygodniowy program rozwoju dla 2-3 osób w pełnym wymiarze czasu wytworzyłby użyteczną Alphę, która nie straci plików przez połączenie powyższych programów.
W moim systemie ogólną ideą byłoby:
Zamontuj dysk wirtualny \? {GUID}, czyli dysk RAM i pamięć podręczną RW. Oprogramowanie tworzące ten dysk wirtualny przyjmuje dwa parametry wejściowe (istotne):
za. Folder docelowy; to jest folder SMB, więc pozwolę stosowi sieciowemu systemu operacyjnego obsłużyć faktyczne operacje wejścia / wyjścia. W moim przypadku jest to z kolei wirtualny folder VMWare, który sam w sobie ma cel na dysku ext4, ale może to być twój serwer plików korzystający z SAMBA / SMB.
b. Ścieżka folderu do zamontowania, np. C: \ ramdisk
Ten kod do tworzenia wirtualnych woluminów pochodzi z kodu TrueCrypt , w /Driver/DriverFilter.c (między innymi plikami)
Dysk korzysta z protokołu SMB / protokołu VMWare / sieciowego do pobierania danych podczas uruchamiania; pobiera z niskim priorytetem zadania, asynchronicznie z sieci i zapełnia pamięć podręczną. Może korzystać z prostego algorytmu kompaktowania i mieć 1 wątek, który wykorzystuje przekazywanie kontynuacji typu komunikatu w celu uzyskania doskonałej wydajności. W systemie Windows może używać normalnych asynchronicznych wywołań we / wy, a w systemie Linux może korzystać z implementacji epoll / inotify i pobierać kod z nginx .
Moja usługa, która jest dyskiem RAM, montuje nienazwany dysk RAMDISK jako folder NTFS. Wszystkie programy mogą kontynuować pisanie do C: \ ramdisk lub jakkolwiek to nazywam.
Kopiowanie asynchroniczne z sieci wciąż trwa. Przy szybkości odczytu około 100 MiB / si ramdysku 2 GiB odczytanie wszystkich danych wynosiłoby 20,5 s.
Każde wywołanie odczytu spowoduje wykonanie obliczenia indeksu w CPU w ustalonej tablicy n: ulong GiB max. Wymagałoby to jednak rozwiązania konfliktu lub blokad odczytu i zapisu. Gdybyśmy wdrożyli algorytm rozwiązywania konfliktów, taki jak te dostępne za pośrednictwem Microsoft Sync, moglibyśmy przekazać każdą porcję, która jest w konflikcie, jako wiadomość do innego procesu rozwiązywania konfliktu. Dropbox rozwiązuje go, tworząc nowy plik i nadając mu nazwę „PrevFileName Konflikt kopii nazwy użytkownika (rrrr-MM-dd) .ext”. Być może można to zmienić za pomocą małego widżetu, jeśli kompiluje się w oparciu o to jedno źródło - widżet wykryłby zaległe zmiany jako komunikaty / zdarzenia i wybrałby protokół rozwiązywania konfliktów. W związku z tym podczas programowania dla folderu w trybie wyłączności maszyna wirtualna z systemem Windows może ustawić widżet na „wyłączny”.
To miałoby te PRO
źródło
OwnCloud ! brzmi jak coś, czego szukasz.
źródło
Słyszałem o Syncany na podcastie Ubuntu UK , obecnie w wersji beta, ale wygląda na to, że spełnia wymagania
źródło
Nie sądzę, że jest to dokładnie to, czego szukasz, ale zależy to od zamierzonego użycia.
CrashPlan to pakiet oprogramowania do tworzenia kopii zapasowych i powiązana z nim usługa hostingu kopii zapasowych online, ale różni się tym, że ich oprogramowanie ma tryb, który pozwala na tworzenie kopii zapasowych danych przez Internet (lub LAN) na innym komputerze z uruchomionym oprogramowaniem.
Oznacza to, że miejsce docelowe nie musi znajdować się w chmurze. Nie przypomina dropbox, ponieważ polega raczej na tworzeniu kopii zapasowych, a nie synchronizowaniu plików i uzyskiwaniu do nich dostępu z dowolnego miejsca, ale jeśli chcesz tworzyć kopie zapasowe, działa dobrze. Jeśli chcesz uzyskać dostęp do plików z kopii zapasowej z drugiego komputera, myślę, że możesz wykonać „przywracanie lokalne”, ale nie próbowałem tego.
Podstawowy pakiet oprogramowania jest bezpłatny i obsługuje tryb „tworzenia kopii zapasowej na innym komputerze”, ale wykonuje tylko zaplanowaną kopię zapasową, ale istnieje wersja „pro” oprogramowania, która kosztuje i synchronizuje w czasie rzeczywistym, a nie tylko zaplanowane kopie zapasowe. (Przestrzeń dyskowa w chmurze jest również opcjonalną opłatą dodatkową za miesiąc)
źródło
Używam Unison dla klienta i rsnapshot (rsync ze skryptem perla) do tworzenia kopii zapasowych serwera.
źródło
Sprawdź, czy to pomoże:
http://fak3r.com/2009/09/14/howto-build-your-own-open-source-dropbox-clone/
źródło
Jeśli chcesz skonfigurować dwa (lub więcej) komputery z replikowanym folderem, spójrz na glusterfs.
Konfiguracja jest łatwa, jeśli postępujesz zgodnie z instrukcją obsługi GlusterFS .
źródło
Nikt nie wspomniał o synchronizacji Bitorrent ? Działa na czymkolwiek - Ubuntu, Windows, wiele popularnych systemów operacyjnych na smartfony, raspberry pi .... nazywasz to, prawdopodobnie działa i jako zwykły użytkownik. Zaszyfrowane transfery, pliki nie są przechowywane w chmurze (choć myślę, że bittorrent uruchamia moduł śledzący), dość szybko, możesz selektywnie udostępniać foldery i prawie bez komplikacji, wystarczy skopiować i wkleić klucz do drugiego system.
Po skonfigurowaniu po prostu działa.
źródło
Trzymam moje oko na AeroFS . Wygląda na to, że może to być usługa typu Dropbox, w której przechowywanie w chmurze jest opcjonalne. Nie wiem, czy / kiedy wdrożą wsparcie mobilne i myślę, że wymagałoby to również synchronizacji tych plików z chmurą. Interesuje mnie przede wszystkim dość bezbolesne rozwiązanie do synchronizacji między komputerami z systemem Windows, Mac i Linux.
Są na wczesnej wersji beta, ale jeśli chcesz, możesz zapisać się na zaproszenie.
źródło
Używam apache z mod_dav (webdav) dla serwera apache, mogę go zamontować jako napęd i pobierać / pobierać pliki przez Internet. Jest to dość proste, ale może zaspokoić twoje potrzeby.
źródło
Chociaż są już tutaj wymienione ciekawe alternatywy i jest to starsze pytanie, jestem przekonany, że ten temat wyraźnie nie jest przestarzały i, wręcz przeciwnie, nabiera coraz większego znaczenia, ze względu na ostatnie wydarzenia naruszające prywatność.
Dlatego chcę podzielić się własnym doświadczeniem. Moje obecne rozwiązanie dla własnego hostowanego środowiska chmurowego to Seafile .
Funkcje Seafile:
Moje doświadczenia Seafile:
Ponieważ nie potrzebuję wsparcia proxy, jestem bardzo zadowolony z Seafile!
źródło
Używam SSHFS do montowania katalogów na moim serwerze jako katalogów lokalnych na moim komputerze stacjonarnym i laptopie. Wszystkie zmiany plików są zapisywane bezpośrednio na serwerze. Jednak w przeciwieństwie do Dropbox, pliki nie są przechowywane lokalnie na komputerach klienckich. Myślę, że jest to świetne, ponieważ nie musisz się martwić synchronizacją i wersjonowaniem, ale nie jest idealne do użytku offline lub bardzo dużych plików.
Jest to bardzo bezpośrednie i proste i uważam, że jest to najlepsze rozwiązanie. Jedyne, czego nie używam, to duże media, takie jak zdjęcia i filmy, ponieważ wszystkie pliki są dostępne przez sieć. Te, które synchronizuję z Rsync.
Link do dokumentacji SSHFS -> http://fuse.sourceforge.net/sshfs.html
źródło