Comment garder les fichiers et les répertoires synchronisés sur différents appareils à l'aide de Syncthing sur Linux

Comment garder les fichiers et les répertoires synchronisés sur différents appareils à l'aide de Syncthing sur Linux

Syncthing est défini comme un programme de synchronisation de fichiers continu: il peut être utilisé pour maintenir les fichiers et les répertoires synchronisés sur différents appareils ou «nœuds». L'application utilise TLS comme méthode de chiffrement, et elle est, avec son protocole, un logiciel gratuit et open source. Lors de l'utilisation de Syncthing, nos données restent sur notre appareil et sont transférées directement à la destination sans relayer sur un serveur central (peer to pair). Dans ce tutoriel, nous verrons comment installer, configurer et utiliser Syncthing sur Linux.

Dans ce tutoriel, vous apprendrez:

  • Comment installer Syncthing sur les distributions Linux les plus utilisées
  • Comment configurer le pare-feu pour que Syncthing fonctionne correctement
  • Comment partager et garder un répertoire synchronisé sur deux appareils
  • Comment austostart le démon de synchronisation automatiquement sur la connexion de l'utilisateur
Syncthing Logo

Logiciels requis

Exigences logicielles et conventions de ligne de commande Linux
Catégorie Exigences, conventions ou version logicielle utilisée
Système Distribution indépendante
Logiciel Synchronisation
Autre Autorisation
Conventions # - nécessite que les commandes Linux sont exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de Sudo commande
$ - Exige que les commandes Linux sont exécutées en tant qu'utilisateur non privilégié régulier

Installation



Il existe essentiellement deux méthodes que nous pouvons utiliser pour installer Syncthing dans notre distribution Linux préférée: nous pouvons utiliser la version emballée dans les référentiels natifs, ou nous pouvons télécharger un tarball à partir du site officiel de Syncthing. De plus, seulement si vous utilisez Debian ou Ubuntu, nous pouvons ajouter le référentiel de synchronisation officiel comme source de logiciels supplémentaire et installer le package à partir de celui-ci.

Installation de la version native

Syncthing est disponible dans les référentiels natifs des distributions Linux les plus utilisées, telles que Fedora, Debian / Ubuntu et Archlinux, nous pouvons donc facilement l'installer avec notre gestionnaire de packages préféré. C'est toujours le moyen recommandé d'obtenir un logiciel; Le seul problème est que, en particulier sur les distributions comme Debian «stable», le référentiel peut contenir des versions obsolètes des packages. Pour installer Syncthing sur Fedora, nous pouvons utiliser le DNF Gestionnaire de package et émettez la commande suivante:

$ sudo dnf install syncthing 

Sur Debian et ses nombreux dérivés, nous pouvons plutôt courir:

$ sudo apt install syncthing 

Sur Archlinux, nous pouvons utiliser Pac-Man Pour installer le package Syncthing, qui fait partie du référentiel «communautaire». Obtention du logiciel, il s'agit simplement de lancer notre émulateur de terminal et de courir:

$ sudo pacman -sy syncthing 

Télécharger un tarball



La deuxième méthode d'installation de Syncthing consiste à télécharger le Tarball Linux dédié à partir de la section Téléchargements du site officiel. Nous devons télécharger l'archive contenant la version compatible avec l'architecture de notre système. Si nous utilisons Debian ou Ubuntu, nous pouvons également ajouter le référentiel officiel à nos sources logicielles, puis l'installer en utilisant apte.

Configuration du pare-feu

Avant d'exécuter Syncthing, pour que cela fonctionne correctement, nous devons configurer certaines règles de pare-feu afin d'autoriser le trafic entrant dans certains ports. Les versions récentes des gestionnaires de pare-feu Firewalld et UFW, sont déjà livrées avec un service préconfiguré pour la synchronisation (ici avec le mot «service», nous entendons un ensemble de règles défini). Si vous utilisez Firewalld, pour activer le service, et donc pour activer le trafic à travers les ports requis), nous devons courir:

$ sudo Firewall-Cmd --permanent --add-Service = Syncthing && sudo Firewall-Cmd - Reload 

Notez qu'avec la commande ci-dessus, car aucune zone n'est spécifiée, le service sera ajouté à celui «par défaut». Si nous voulons ajouter le service à une zone spécifique, nous devons le spécifier avec le --zone option, passer le nom de la zone comme argument. Pour recueillir des informations sur le service et voir quels ports y sont inclus, nous pouvons exécuter:

$ sudo Firewall-Cmd - Info-Service = Custom 

La sortie de la commande ci-dessus est la suivante:

Ports de synchronisation: 22000 / TCP 21027 / UDP Protocoles: Source-Ports: Modules: Destination: Comprend: Aiders: 


Comme nous pouvons le voir, les ports «impliqués» dans le service sont 22000 / TCP et 21027 / UDP. Si nous utilisons UFW (pare-feu simple), afin d'activer le service, nous devons s'exécuter:

$ sudo ufw permettra de synchroniser 

Utilisation de Syncthing

Pour démarrer le démon de synchronisation, tout ce que nous avons à faire est d'invoquer le binaire Syncthing de notre terminal:

$ syncthing 

Syncthing est livré avec une interface Web qui peut être utilisée pour gérer l'application, ajouter des répertoires partagés et des appareils distants. Une fois que nous avons exécuté la commande ci-dessus, le démon de synchronisation est lancé et un onglet de navigateur Web est automatiquement ouvert à la 127.0.0.1: 8384 adresse, où l'interface peut être atteinte.

Le répertoire partagé par défaut Syncthing est ~ / Synchroniser; Il et tous les autres qui doivent être synchronisés sont affichés sur la colonne de gauche de l'interface. Dans la colonne de droite, nous pouvons plutôt voir des informations sur la synchronisation des périphériques, et une liste des appareils distants associés. Dans notre cas, la liste est toujours vide:

L'interface Web Syncthing l'interface Web Syncthing

Pour ajouter une machine distante et partager un répertoire avec lui, ce que nous devons faire est d'échanger des identifiants d'appareils. Pour vérifier un ID de périphérique, nous pouvons cliquer sur le bouton «Actions» en haut à droite de l'interface Web, et cliquer sur «Afficher l'ID». L'ID de périphérique actuel sera affiché avec le correspondant QRCODE:

Vérification de l'appareil

Pour que l'application fonctionne correctement, les deux (ou plus d'appareils) devraient connaître leurs identifiants respectifs. Dans la section suivante, nous verrons comment ajouter un appareil distant.

Ajout d'un appareil

Pour commencer à synchroniser un répertoire, nous devons ajouter un appareil distant à notre configuration. Pour le plaisir de ce tutoriel, j'utiliserai la machine Linux où nous avons installé Syncthing comme «source» de synchronisation, tandis que le système distant sera un appareil Android (Syncthing peut être facilement installé à partir du Google Play Store); Les deux appareils doivent être connectés au même LAN.

Nous cliquons sur le bouton «Ajouter un périphérique distant» en bas à droite de l'interface Web. Sur l'onglet Fist de la fenêtre contextuelle qui sera ouverte, nous devons entrer l'ID de périphérique compagnon et un nom facultatif pour l'homme:



Ajouter un appareil

Comme vous pouvez le voir, si la découverte automatique fonctionne comme elle le devrait, l'autre dispositif de synchronisation dans le LAN doit être automatiquement découvert et signalé dans la liste des «appareils à proximité». Dans de tels cas, tout ce que nous devons faire est de cliquer sur le
lien correspondant et le champ de saisie de l'ID sera rempli automatiquement.

Dans le deuxième onglet, «partage», nous pouvons sélectionner les répertoires que nous voulons partager avec l'appareil compagnon. Dans ce cas, nous avons sélectionné le par défaut:

Ajouter le partage d'appareils

Une chose pratique à faire est de cocher la case «Auto Accept»: de cette façon, le système ne nous invitera pas à confirmer si nous voulons accepter la synchronisation du répertoire offert par le système distant, mais il le créera automatiquement.



Le troisième onglet contient des «paramètres avancés». Ici, nous pouvons choisir de saisir une adresse statique pour le périphérique distant, s'il a une découverte dynamique ne fonctionne pas. Nous pourrions également choisir la limite de taux entrante et sortante pour l'appareil, et quelles données doivent être compressées (toutes les données vs métadonnées uniquement - la valeur par défaut).

Ajouter un appareil avancé

Une fois terminé, nous pouvons cliquer sur le bouton «Enregistrer». Le périphérique distant devrait être apparu dans la liste sur la page principale. Sur l'autre appareil, nous effectuons la même opération (notez que sur l'application Android, en cliquant sur le menu «Hamburger», nous avons la possibilité d'utiliser l'interface Web) et d'ajouter notre ID de périphérique «Source». Une fois que les deux appareils sont appariés correctement, leur statut devrait commencer à se synchroniser. Une fois le processus de synchronisation terminé, ils seront signalés comme «à jour»:

Dispositifs éloignés

À ce stade, notre synchronisation (bidirectionnelle) doit être prête et le répertoire sera maintenu en synchronisation sur les deux appareils.

AutoStart le démon de synchronisation



Pour faire démarrer automatiquement le démon de syncoration, nous pouvons utiliser SystemD, qui est le gestionnaire de Linux init. Dans ce cas, nous le démarrerons comme un service par utilisateur, nous n'aurons donc pas besoin de privilèges administratifs. Lorsqu'un service est configuré de cette façon, il ne sera démarré qu'une fois que l'utilisateur se connectera.

La première chose que nous voulons faire est de copier le fichier de service SystemD dans le répertoire approprié. Si nous avons installé Syncthing à partir des référentiels natifs de notre distribution Linux, ce fichier doit être: / usr / lib / systemd / user / syncthing.service; Si nous avons téléchargé le tarball à partir du site officiel de synchronisation, le fichier doit être trouvé à l'intérieur du etc / linux-systemd / utilisateur annuaire.

Nous créons le ~ /.config / systemd / utilisateur Répertoire s'il n'existe pas déjà et copiez le fichier à l'intérieur:

$ mkdir -p ~ /.config / systemd / user && cp / usr / lib / systemd / user / syncthing.service ~ /.config / systemd / utilisateur 

Une fois le fichier en place, nous exécutons la commande suivante pour activer le service:

$ SystemCTL - User Activer Syncthing.service 

Conclusions

Sur ce tutoriel, nous avons appris à installer et à configurer Syncthing, une application très poignée qui nous permettait de garder un ou plusieurs répertoires synchronisés entre plusieurs appareils, sans avoir besoin d'utiliser un serveur «central». Nous avons vu comment installer l'application, comment configurer le pare-feu pour permettre le trafic à travers les ports requis, comment partager un répertoire entre deux appareils et comment automatique.

Tutoriels Linux connexes:

  • Choses à installer sur Ubuntu 20.04
  • Une introduction à l'automatisation Linux, des outils et des techniques
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Comment configurer un serveur OpenVPN sur Ubuntu 20.04
  • Masterring Bash Script Loops
  • Comment doubler Kali Linux et Windows 10
  • Choses à installer sur Ubuntu 22.04
  • Mint 20: Mieux que Ubuntu et Microsoft Windows?
  • Fichiers de configuration Linux: 30 premiers
  • Téléchargement Linux