Synchronizacja danych aplikacji przez Dropbox-a

Słowem wstępu, dla tych, którzy jeszcze nie mieli styczności z Drobpox-em, jest to aplikacja internetowa służąca do przechowywania plików na serwerach serwisu. Jednak przede wszystkim z założenia Dropbox służy do synchronizacji plików pomiędzy różnymi komputerami oraz urządzeniami mobilnymi (platformy Iphone, Ipad, Android, Blackberry). Nie byłoby w tym nic nadzwyczajnego, gdyby nie to, że w zasadzie integralną częścią tego serwisu jest aplikacja desktopowa, umożliwiająca synchronizację plików z serwerem w łatwy sposób. Aplikacja ta działa w tle i tworzy katalog, który jest stale monitorowany i jeżeli dokona się jakiejś operacji na plikach lub katalogach (dodawanie, usuwanie, edycja, zmiana nazwy) wewnątrz niego, wówczas natychmiast zmiany te są przesyłane na serwer. Działa to też w drugą stronę - jeżeli tylko na serwerze wykona się jakieś operacje na plikach, natychmiast zmiany pobierane są przez aplikację i wprowadzane lokalnie. Do tego dochodzi jeszcze możliwość współdzielenia folderów z innymi użytkownikami, a więc łatwej wymiany plikami. Super narzędzie do synchronizacji i backupów.

Często zdarza się, że oprócz zwyczajnej synchronizacji plików, potrzebne jest coś więcej - synchronizacja danych programów. Na pewno wiele z Was korzysta z kilku komputerów. Na pewno zdarzała się sytuacja, że po zrobieniu czegoś na jednym komputerze, chciało się wrócić do tego na innym (np. po powrocie do domu z pracy). Może to być dostęp do historii przeglądanych stron, historii czatu komunikatora, zapisanych notatek etc. I właśnie tu do akcji wchodzi Dropbox.

Posłużę się przykładem z życia wziętym - chciałem mieć notatki programu Tomboy zsynchronizowane pomiędzy komputerem w pracy i komputerem w domu. Rozwiązanie jest bardzo proste. Wystarczy dane Tomboy-a przekopiować do katalogu Dropbox-a i utworzyć do niego dowiązanie symboliczne. W moim przypadku wyglądało to tak:

cp -R ~/.local/share/tomboy ~/Dropbox/daneprogramow/ 
mv ~/.local/share/tomboy ~/.local/share/tomboy_old 
ln -s ~/Dropbox/daneprogramow/tomboy ~/.local/share/tomboy

To samo zrobiłem na obu komputerach. Dzięki temu rozwiązaniu moje notatki automatycznie się synchronizują. Można to zastosować w wielu przypadkach, zachęcam do eksperymentowania. Pozostaje jeszcze pytanie - co z użytkownikami Windowsa? W zasadzie coś podobnego można zdziałać w Windowsie Vista oraz 7, ponieważ w tych wersjach systemu istnieje możliwość tworzenia dowiązań symbolicznych. W XP niestety nie ma takiej możliwości, pozostaje ewentualnie zmiana katalogu przechowującego dane programu który chcemy zsynchronizować, o ile program ten daje taką możliwość.

Na koniec mam prośbę. Jeżeli jeszcze nie posiadasz konta na Drobpox-ie, a powyższy tekst zachęcił Cię do założenia go, zarejestruj się używając tego linku: http://db.tt/o1RL26G. Prowadzi on do formularza rejestracyjnego - jeżeli utworzysz konto za jego pośrednictwem, oboje na tym skorzystamy, ponieważ zarówno ja jak i Ty otrzymasz dodatkowe 250 MB powierzchni do wykorzystania.

iPlus pod Arch Linux

Sprzęt

Kwestia uruchomienia iPlusa pod Linuksem okazała się prostsza niż myślałem. Zaczęło się od tego, że modem PCMCIA Option GT MAX 3G, z którego korzystam, jest na dzień dobry rozpoznawany przez jądro. Automatycznie ładuje się moduł nozomi i pojawiają się urządzenia /dev/noz0-3. Jeden problem z głowy. Dla sprawdzenia można wpisać polecenia:

$ pccardctl status
Socket 0:
  3.3V 32-bit PC Card
$ lspci | grep Option
03:00.0 Network controller: Option N.V. Qualcomm MSM6275 UMTS chip

Dla bezpieczeństwa polecam przed wyciągnięciem użyć polecenia

# pccardctl eject

Oprogramowanie

Do zarejestrowania się w sieci przydatny będzie program comgt, a do połączenia wvdial i ppp.

# pacman -S comgt wvdial ppp

Ten ostatni prawdopodobnie jest już w systemie.

Konfiguracja

Najpierw należy edytować lub utworzyć plik wvdial.conf:

[Dialer Defaults]
Modem = /dev/noz0
Baud = 460800
SetVolume = 0
Dial Command = ATDT
FlowControl = NOFLOW
Init1 = ATZ
Init2 = ATM0
Auto DNS = 1

[Dialer iplus]
Username = any
Password = any
Phone = *99***1#
Stupid Mode = 1
Init3 = AT+CGDCONT=1,"IP","www.plusgsm.pl"
Dial Attempts = 3

W przypadku gdy modem jest pod innym urządzeniem, trzeba odpowiednio zmienić /dev/noz0

Następnie trzeba edytować, lub stworzyć jeżeli nie istnieje, plik /etc/ppp/peers/wvdial:

noauth
debug
/dev/noz0
115200
defaultroute
crtscts
lock
local
nodetach
usepeerdns
lcp-echo-failure 4
lcp-echo-interval 65535

Uruchomienie

Najpierw rejestrujemy się w sieci:

# comgt -d /dev/noz0

Enter PIN number: ****
Waiting for Registration..(120 sec max).
Registered on Home network: "Plus",2
Signal Quality: 18,99

Ostatnim krokiem jest połączenie z siecią

# wvdial iplus

Debian & Broadcom Wireless & ndiswrapper

Ostatnio zakupiłem sobie router TP-Link TL-WR542G. Wcześniej używałem starego komputera z Pentium III 500 MHz, 96 RAM, z Gentoo w środku. Fajnie jest mieć router, którym można sobie zarządzać z konsoli, ale ma kilka wad - głośno chodzi, brak wi-fi, większy pobór prądu, zajmuje więcej miejsca. Ale starczy narzekania, do rzeczy. Pierwsze uruchomienie, szybka konfiguracja i coś tu nie gra. Internet strasznie zamula przez wi-fi. Wyniki testu łącza strasznie słabe - 300 kb przy pobieraniu danych, podczas gdy przy połączeniu przez kabel wychodziło około 2Mb. Jak nie trudno domyślić się, przyczyna tkwiła w sterowniku (BCM43xx). Z pomocą przychodzi ndiswrapper, który umożliwia instalację sterowników kart sieciowych, napisanych dla Windowsa. Sterowniki oraz listę obsługiwanych kart można znaleźć na stronie projektu. Przy wyborze sterownika należy zwrócić uwagę na pciid karty, które można odczytać przy pomocy polecenia lspci -nn. W moim przypadku jest to 14e4:4320
$ lspci -nn | grep Broadcom
02:04.0 Network controller [0280]: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller [14e4:4320] (rev 03)
więc dla mojej karty odpowiedni jest sterownik bcmwl5. Czas na istalację: # aptitude install ndiswrapper-common
# ndiswrapper -i bcmwl5.inf
Jeszcze tylko załadowanie modułu: # modprobe ndiswrapper
FATAL: Module ndiswrapper not found
Jak widać, moduł który chcę załadować nie istnieje. Trzeba więc taki moduł stworzyć. Potrzebne do tego będą pakiety: build-essential, module-assistant, ndiswrapper-source oraz linux-headers-2.[wersja_jądra], w przypadku korzystania z jądra z repozytorium. # aptitude build-essential module-assistant ndiswrapper-source
# m-a a-i ndiswrapper
# modprobe ndiswrapper
Teraz już można w pełni cieszyć się bezprzewodowym dostępem do internetu.
Żeby moduł uruchamiał się przy starcie systemu, wystarczy dopisać go do listy /etc/modules: # echo "ndiswrapper" >> /etc/modules i dodać moduł bcm43xx do czarnej listy, żeby nie ładował się przy starcie systemu i nie kolidował z ndiswrapperem: # echo "blacklist bcm43xx" >> /etc/modprobe.d/blacklist

Nowy rozdział.

Postanowiłem zmobilizować się do regularnego pisania, mało tego, do pisania o sprawach technicznych, wyszukiwania czegoś ciekawego i przelewania na bloga swoich doświadczeń. Wierzę w to, że dzięki staraniom o jakość wpisów, moja wiedza na dany temat będzie chociaż trochę bardziej rzetelna.

Oddzielam więc tematykę techniczną od mojego pierwotnego joggera (aczkolwiek nie usuwam ostatecznie), na którym będę pisał na luźne tematy i tak o dla siebie, dla uzewnętrznienia swoich wnętrzności.

Let the force be with me.