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.listPonieważ 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-httpsZaktualizuj indeks pakietów lokalnych i zainstaluj synchronizację w Linux Mint.
sudo apt update
sudo apt install syncthingSkonfiguruj 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.servicePowyż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.serviceSprawdź status
systemctl status syncthing@username.serviceWyjś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/tcpDostę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 systemMożesz przyznać uprawnienia do zapisu za pomocą setfacl.
sudo apt install aclsudo 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.serviceTeraz 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/folderWskazó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 syncthingJak 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.xmlZnajdź 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.serviceNie 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 systemDzieje 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=fullMoż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.confDodaj 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-reloadI uruchom ponownie synchronizację.
sudo systemctl restart syncthing@username.serviceRozmiar 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 🙂
















