Wyszukiwanie w witrynie

Jak zainstalować Syncthing na Linux Mint 20


W tym samouczku dowiesz się, jak zainstalować Syncthing na Linux Mint 20. Syncthing to bezpłatny program do ciągłej synchronizacji plików typu peer-to-peer, który umożliwia synchronizację plików na wielu urządzeniach, dostępny dla systemu Linux, BSD, macOS, Windows, Android, iOS i Solaris.

Jest to alternatywa typu open source dla popularnej aplikacji Resilio Sync (wcześniej znanej jako BitTorrent Sync). Tworzenie, modyfikowanie lub usuwanie plików na jednym komputerze zostanie automatycznie zreplikowane na inne urządzenia. Syncthing nie przesyła plików na centralny serwer, taki jak Nextcloud, ale wymienia dane bezpośrednio między urządzeniami. Wszystkie Twoje dane są szyfrowane przy użyciu protokołu TLS podczas przesyłania między urządzeniami.

Funkcje synchronizacji

  • Darmowe i otwarte oprogramowanie.
  • Szybka prędkość synchronizacji.
  • Obsługuje synchronizację jednokierunkową.
  • Synchronizacja selektywna (Ignoruj wzorce).
  • Może korzystać z serwerów przekazujących, jeśli dwa urządzenia równorzędne nie mogą się ze sobą połączyć.
  • Obsługuje uwierzytelnianie LDAP.

Spis treści

  • Zainstaluj Syncthing na Linux Mint 20 poprzez oficjalne repozytorium Deb
  • Skonfiguruj synchronizację jako usługę systemową
  • Zainstaluj Syncthing na innym systemie operacyjnym
  • Skonfiguruj zaporę sieciową
  • Synchronizacja interfejsu internetowego
  • Rozpocznij synchronizację-plików-między-urządzeniami
  • Włącz uwierzytelnianie użytkownika
  • Folder tylko do wysyłania i odbierania
  • Wskazówki dotyczące rozwiązywania problemów

Zainstaluj Syncthing na Linux Mint 20 poprzez oficjalne repozytorium Deb

Synchronizacja jest zawarta w domyślnym repozytorium Linux Mint. Zaleca się jednak zainstalowanie Syncthing z oficjalnego repozytorium, aby otrzymać najnowszą wersję.

Otwórz okno terminala i użyj curl, aby pobrać klucz GPG, a następnie zaimportuj klucz za pomocą apt-key.

sudo apt install curl

curl -s https://syncthing.net/release-key.txt | sudo apt-key add -

Jeśli w terminalu zobaczysz OK, oznacza to, że klucz GPG został pomyślnie zaimportowany. Następnie dodaj oficjalne repozytorium deb za pomocą następującego polecenia.

echo "deb https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list

Ponieważ to repozytorium używa protokołu https, musimy zainstalować pakiet apt-transport-https, aby menedżer pakietów APT mógł nawiązać połączenie https z tym repozytorium.

sudo apt install apt-transport-https

Zaktualizuj indeks pakietów lokalnych i zainstaluj synchronizację w Linux Mint.

sudo apt update

sudo apt install syncthing

Skonfiguruj synchronizację jako usługę systemową

Oficjalny pakiet deb Syncthing jest dostarczany z wymaganym plikiem usługi systemowej. W katalogu /lib/systemd/system/ znajdziesz plik [email . Włącz synchronizację, aby automatycznie uruchamiać się podczas uruchamiania, uruchamiając poniższe polecenie. Zastąp username swoją rzeczywistą nazwą użytkownika.

sudo systemctl enable syncthing@username.service

Powyższe polecenie utworzy łącze symboliczne wskazujące plik [email .

Created symlink from /etc/systemd/system/multi-user.target.wants/syncth[email  to /lib/systemd/system/[email .

Teraz możemy uruchomić usługę Syncthing za pomocą następującego polecenia.

sudo systemctl start syncthing@username.service

Sprawdź status

systemctl status syncthing@username.service

Wyjście :

Wskazówka: jeśli powyższe polecenie nie zakończy się natychmiast, naciśnij Q, aby odzyskać kontrolę nad terminalem.

Widzimy, że autostart Syncthing jest włączony i działa.

Usługa systemowa syncthing tworzy pliki konfiguracyjne w /home/username/.config/syncthing/ i folderze /home/ nazwa użytkownika/Sync jako domyślny folder synchronizacji. Główny plik konfiguracyjny to /home/username/.config/syncthing/config.xml.

Zainstaluj Syncthing na innym systemie operacyjnym

Przejdź do strony pobierania Syncthing i zainstaluj Syncthing w innych systemach operacyjnych, takich jak Windows, macOS, BSD, Android. Obecnie nie ma oficjalnego klienta na iOS. Możesz użyć aplikacji innej firmy MobiusSync.

Skonfiguruj zaporę sieciową

Syncthing używa portu 22000 do komunikacji z urządzeniami równorzędnymi. Jeśli Twój komputer lub serwer włączył zaporę UFW, musisz zezwolić na port 22000 za pomocą następującego polecenia.

sudo ufw allow 22000/tcp

Dostęp do interfejsu internetowego synchronizacji

Domyślnie usługa Syncthing nasłuchuje na 127.0.0.1:8384. Teraz w pasku adresu przeglądarki internetowej wpisz 127.0.0.1:8384, aby uzyskać dostęp do interfejsu internetowego Syncthing. Możesz dodawać inne urządzenia Syncthing i udostępniać im foldery.

Rozpocznij synchronizację plików pomiędzy swoimi urządzeniami

Gdy mamy dwa urządzenia z uruchomioną funkcją Syncthing, możemy rozpocząć synchronizację plików między nimi.

W interfejsie internetowym Syncthing kliknij Akcje > Pokaż identyfikator w prawym górnym rogu. Zobaczysz identyfikator urządzenia, który jest długim ciągiem liter i cyfr. Kod QR, będący jednocześnie identyfikatorem urządzenia, służy do konfiguracji Syncthing na smartfonach.

Skopiuj identyfikator urządzenia, następnie otwórz interfejs internetowy Syncthing drugiego urządzenia i kliknij Dodaj urządzenie zdalne w prawym dolnym rogu. Następnie wklej identyfikator urządzenia i nadaj urządzeniu nazwę. Kliknij przycisk Zapisz.

Teraz drugie urządzenie spróbuje połączyć się z pierwszym urządzeniem. Odśwież interfejs sieciowy na pierwszym urządzeniu, zobaczysz następujący komunikat. Kliknij Dodaj urządzenie, aby dodać drugie urządzenie do listy urządzeń pierwszego urządzenia.

Teraz oba urządzenia są połączone.

W lewym panelu interfejsu internetowego znajduje się domyślny folder synchronizacji (/home/username/Sync). Kliknij przycisk Dodaj folder, aby dodać nowy folder. Nadaj opisową etykietę temu folderowi i ustaw ścieżkę do folderu.

Synchronizacja działa na Twoim własnym koncie użytkownika, więc musisz mieć uprawnienia do zapisu w folderze współdzielonym. Jeśli podczas udostępniania folderu zobaczysz następujący komunikat o błędzie, oznacza to, że nie masz uprawnień do zapisu w tym folderze.

2020-06-21 20:05:49: Failed to create folder marker: mkdir .stfolder: read-only file system

Możesz przyznać uprawnienia do zapisu za pomocą setfacl.

sudo apt install acl
sudo setfacl -R -m u:username:rwx /folder/path/

Uwaga: jeśli problem nadal występuje, zapoznaj się ze wskazówkami dotyczącymi rozwiązywania problemów na końcu tego artykułu.

Na karcie Udostępnianie wybierz inne urządzenie synchronizujące.

W zakładce Ignoruj wzorce możesz wprowadzić wzorce nazw plików, które nie powinny być synchronizowane.

W zakładce Zaawansowane możesz wybrać typ folderu, częstotliwość ponownego skanowania itp.

Kliknij przycisk Zapisz, aby rozpocząć synchronizację. W interfejsie internetowym drugiego urządzenia pojawi się komunikat. Kliknij Dodaj, aby otrzymać pliki.

Teraz oba urządzenia synchronizują pliki. Po prawej stronie możesz zobaczyć szybkość pobierania, szybkość wysyłania, rozmiar folderu lokalnego itp.

Włącz uwierzytelnianie użytkownika

Domyślnie każdy, kto ma dostęp do Twojego komputera, może uzyskać dostęp do interfejsu internetowego Syncthing. Możemy włączyć uwierzytelnianie użytkownika, aby ograniczyć dostęp. Kliknij przycisk Działania w prawym górnym rogu, a następnie wybierz Ustawienia -> GUI.

Wprowadź nazwę użytkownika w polu Użytkownik uwierzytelniający GUI, wprowadź hasło w polu Hasło uwierzytelniające GUI. Następnie zapisz ustawienia.

Po zapisaniu zmian uruchom ponownie usługę Syncthing systemd, w przeciwnym razie podczas ponownego ładowania strony może pojawić się błąd 502 złej bramy.

sudo systemctl restart syncthing@username.service

Teraz zaloguj się do interfejsu internetowego Syncthing, używając nowej nazwy użytkownika i hasła.

Foldery tylko do wysyłania i odbierania

Udostępniając folder w Syncthing, możesz przejść do karty Zaawansowane i wybrać jeden z trzech typów folderów:

  • Wyślij i odbierz (domyślnie)
  • Tylko wyślij
  • Tylko odbieraj

Możesz wybrać opcję tylko wysyłania lub tylko odbierania. Na przykład, jeśli masz 3 komputery: A, B i C, i chcesz agregować foldery na komputerze A i B w jeden folder na komputerze C. Następnie możesz ustawić typ folderu na tylko do odbierania na komputerze C. W ten sposób na komputerze C wszystkie pliki będą znajdować się w jednym folderze. Komputery A i B nadal mają oryginalne pliki. Nie więcej i nie mniej.

Jeśli użyjesz tej samej ścieżki folderu na komputerze C, Syncthing może ostrzec Cię, że „ta ścieżka jest podkatalogiem istniejącego folderu”. Możesz zignorować to ostrzeżenie, ponieważ masz folder przeznaczony tylko do odbioru. Istniejące pliki w folderze nie zostaną usunięte.

Synchronizacja za pośrednictwem serwerów przekazujących

Jeśli dwie instancje Syncthing nie mogą się ze sobą połączyć, Syncthing spróbuje użyć serwera przekazującego do przesłania plików.

Częstym powodem, dla którego nie mogą się ze sobą połączyć, jest to, że oba urządzenia znajdują się za urządzeniami NAT i nie skonfigurowały przekierowania portów. Po skonfigurowaniu przekierowania portów możesz wyłączyć serwery przekazujące. Oto jak. Kliknij przycisk Edytuj i wybierz zakładkę Zaawansowane, Zmień adres z dynamic na tcp://ip-address:22000. Oczywiście musisz użyć swojego prawdziwego adresu IP.

Synchronizowanie dużych ilości małych plików

Syncthing nie nadaje się do synchronizowania dużych ilości małych plików, takich jak pliki kafelków osm, ponieważ szybko osiągnie limity inotify systemu plików Linux. Jeśli oba urządzenia korzystają z systemu Linux, możesz użyć narzędzia rsync (synchronizacja zdalna), aby zsynchronizować duże ilości małych plików, na przykład:

rsync -aP /path/to/source/folder/  [email :/path/to/destination/folder

Wskazówki dotyczące rozwiązywania problemów

Nie można połączyć

Jeśli Twoje instancje Syncthing nie mogą się ze sobą połączyć, możesz użyć narzędzia ss (statystyki gniazd), aby sprawdzić, czy Syncthing nasłuchuje na porcie TCP 22000.

sudo ss -lnpt | grep syncthing

Jak widać na zrzucie ekranu poniżej, mój Syncthing nasłuchuje na porcie 8384 (interfejs sieciowy) i 22000 (połączenie peer-to-peer).

Jeśli nie, możesz edytować plik konfiguracyjny.

nano ~/.config/syncthing/config.xml

Znajdź następującą linię.

<listenAddress>default</listenAddress>

Zmień default na tcp://twój-adres-IP.

<listenAddress>tcp://12.34.56.78</listenAddress>

Zapisz i zamknij plik. Następnie uruchom ponownie synchronizację.

sudo systemctl restart syncthing@username.service

Nie udało się utworzyć znacznika folderu

Jeśli chcesz zsynchronizować folder systemowy, taki jak /etc/, prawdopodobnie zobaczysz następujący komunikat o błędzie:

Failed to create folder marker, read-only file system

Dzieje się tak, ponieważ usługa systemowa synchronizacji (/lib/systemd/system/[email ) ma następującą zmienną ProtectSystem, która zabrania operacji zapisu w folderach systemowych (/usr/ , /boot/, /etc/).

ProtectSystem=full

Możemy dodać wyjątki, aby Syncthing mógł zapisywać w folderze. Utwórz folder do przechowywania naszych niestandardowych konfiguracji systemowych.

sudo mkdir /etc/systemd/system/syncthing@username.service.d/

Następnie utwórz plik w tym katalogu.

sudo nano /etc/systemd/system/syncthing@username.service.d/permission.conf

Dodaj następujące wiersze w tym pliku.

[Service]
ReadWritePaths=/shared/foler/one/  /shared/foler/two/

Foldery oddzielone są pustą przestrzenią. Możesz dodać dowolną liczbę folderów. Folder musi istnieć w twoim systemie, w przeciwnym razie ponowne uruchomienie Syncthing nie powiedzie się.

Zapisz i zamknij plik. Następnie załaduj ponownie systemd.

sudo systemctl daemon-reload

I uruchom ponownie synchronizację.

sudo systemctl restart syncthing@username.service

Rozmiar folderu w stanie globalnym jest niedokładny

Może się to zdarzyć, jeśli udostępniasz foldery wielu urządzeniom. Załóżmy, że udostępniasz folder z urządzenia 1 urządzeniu 2. Jeśli urządzenie 2 nie zakończyło synchronizacji plików i udostępnisz folder z urządzenia 2 urządzeniu 3, globalny rozmiar folderu wyświetlany na urządzeniu 3 będzie mniejszy niż rzeczywisty rozmiar .

Synchronizacja folderów zostaje zatrzymana

Sprawdź dzienniki synchronizacji, aby dowiedzieć się, dlaczego przestała się synchronizować.

sudo journalctl -eu [email 

Problem z przetwarzaniem żądań

Jeśli zobaczysz następujący błąd, możesz sprawdzić dziennik błędów Nginx (/var/log/nginx/syncthing.error.log) lub dziennik błędów Apache (/var/log/apache /syncthing_error.log), aby dowiedzieć się, co jest przyczyną tego problemu.

Syncthing seems to be experiencing a problem processing your request. Please refresh the page or restart Syncthing if the problem persists.

W moim przypadku dzieje się tak dlatego, że włączyłem zaporę aplikacji internetowej ModSecurity.

Replikacja asynchroniczna

Należy pamiętać, że Syncthing wykorzystuje metodę asynchroniczną, więc replikacja zmian wprowadzonych w jednym węźle do innych węzłów zajmie trochę czasu. Jeśli aplikacja jest wrażliwa na opóźnienia synchronizacji, zaleca się wyznaczyć węzeł jako węzeł główny. Wprowadź zmiany tylko w węźle głównym i użyj węzłów podrzędnych jako kopii zapasowej.

Podsumowanie

Mam nadzieję, że ten samouczek pomógł Ci zainstalować i używać Syncthing na Linux Mint. Jak zawsze, jeśli uznałeś ten post za przydatny, zapisz się do naszego bezpłatnego biuletynu, aby uzyskać więcej porad i wskazówek. Uważaj 🙂

Powiązane artykuły