Raspberry Pi'de Syncthing ile Dosya Senkronizasyonu

Bu yazı, PiMyLifeUp - Synchronizing Files on your Raspberry Pi with Syncthing kaynağından Türkçe'ye çevrilerek hazırlanmıştır.

Bu eğitimde, Raspberry Pi'nizde Syncthing yazılımını nasıl kullanabileceğinizi göstereceğiz.

Raspberry Pi Syncthing

Syncthing, Raspberry Pi gibi birden fazla cihaz arasında dosyaları gerçek zamanlı olarak senkronize etmek için tasarlanmış bir yazılımdır.

Veriler, düğümler arasında TLS kullanılarak senkronize edilir. Bu şifreleme, aktarım sırasında birinin veriyi çalmasını zorlaştırarak güvenlik ve gizlilik sağlar.

Her düğümün güçlü bir kriptografik sertifika kullanarak kendini tanımlaması gerekir. Bir düğüm izin verilen bir sertifika sağlayamazsa, bağlanamayacak ve bu da şüpheli kullanıcıların kolayca erişim kazanamamasını sağlayacaktır.

Syncthing kullanarak, Windows, Mac OS veya Linux tabanlı cihazlarınızdan Raspberry Pi'nize dosya senkronize edebilirsiniz.

Syncthing için istemciler, kullanımını kolaylaştıran bu işletim sistemlerinin her biri için mevcuttur.

Syncthing'i Raspberry Pi'nize Kurma

Bu bölümde, Syncthing yazılımını basit adımlarla Raspberry Pi'nize nasıl kolayca kuracağınızı öğreneceksiniz.

Yazılımı kurmak için, projenin PGP anahtarlarını eklememiz ve paket deposunu olası bir kaynak olarak eklememiz gerekecek.

1. Dosya senkronizasyon yazılımını Pi'mize kurmadan önce, önce sistemi güncellemeliyiz.

Aşağıdaki iki komutu çalıştırarak Raspberry Pi'mizi güncelleyebiliriz.

sudo apt update
sudo apt upgrade

2. Ardından, apt-transport-https paketinin kurulu olduğundan emin olmamız gerekiyor.

Bu paket, paket yöneticisinin HTTPS protokolü üzerinden çalışan kaynakları işlemesini sağlar. Varsayılan olarak bu desteklenmez.

Genellikle bu, günümüzde çoğu işletim sistemiyle birlikte sağlanır, ancak Raspberry Pi OS Lite gibi sadeleştirilmiş olanlarda kaldırılmış olabilir.

Aşağıdaki komutu çalıştırarak gerekli paketi kurabiliriz.

sudo apt install apt-transport-https

3. Son olarak, Syncthing GPG anahtarlarını keyring dizinimizde saklayabiliriz.

Bu anahtarlar, kurduğumuz paketlerin doğru şekilde imzalandığından ve beklenmedik bir kaynaktan gelmediğinden emin olmak için tasarlanmıştır.

Raspberry Pi'nizde aşağıdaki komutu kullanarak anahtarları indirin ve kaydedin.

curl -s https://syncthing.net/release-key.txt | gpg --dearmor | sudo tee /usr/share/keyrings/syncthing-archive-keyring.gpg >/dev/null

4. Anahtar eklendiğine göre, artık deponun kendisini ekleyebiliriz.

Bu Raspberry Pi projesi için, Syncthing yazılımının stable (kararlı) dalını kullanacağız.

Aşağıdaki komutu kullanarak depoyu kaynak listemize ekleyin.

echo "deb [signed-by=/usr/share/keyrings/syncthing-archive-keyring.gpg] https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list

5. Syncthing'i depodan kurmadan önce, paket listesini güncellememiz gerekiyor.

Paket yöneticisinin yeni eklediğimiz kaynaktan okuması için listeyi güncellememiz gerekiyor.

Cihazınızda aşağıdaki komutu çalıştırarak paket listesini yenileyin.

sudo apt update

6. Son olarak, Syncthing yazılımını Raspberry Pi'mize kuralım.

Paket deposu artık eklendiğine göre, yazılımı kurmak için yapmamız gereken tek şey aşağıdaki komutu çalıştırmaktır.

sudo apt install syncthing

Syncthing Web Arayüzüne Dışarıdan Erişime İzin Verme

Varsayılan olarak, fiziksel olarak cihazda olmadan Syncthing web arayüzüne erişemeyeceğiz.

Bu, headless bir Raspberry Pi çalıştıranlar için sinir bozucu bir deneyim olacağından, yapılandırmayı dışarıdan erişime izin verecek şekilde değiştirebiliriz.

1. İlk görevimiz, Raspberry Pi'mize atanan mevcut yerel IP adresini almaktır.

Bu bölümü tamamlamadan önce Raspberry Pi'nizin statik bir IP adresi ile kurulmuş olması gerektiğini lütfen unutmayın.

Aşağıdaki komutu kullanarak Pi'nizin yerel IP'sini alabilirsiniz.

hostname -I

2. Daha ileri gitmeden önce, yapılandırma dosyalarını oluşturmak için Syncthing'i bir kez çalıştırmamız gerekecek.

Bu rehber için, Syncthing'i yalnızca mevcut kullanıcı altında çalıştıracağız.

syncthing

İlk çalıştırmanın ardından, CTRL + C tuşlarına basarak uygulamayı sonlandırın.

3. İlk çalıştırmadan sonra, Syncthing ihtiyacımız olan tüm yapılandırma dosyalarını oluşturacaktır.

Bu yapılandırma dosyası, yalnızca Syncthing yazılımını pi kullanıcımızla çalıştırdığımız sürece çalışacaktır.

Aşağıdaki komutu kullanarak nano metin editörü ile gerekli yapılandırma dosyasını düzenlemeye başlayın.

nano ~/.local/state/syncthing/config.xml

4. Bu dosyanın içinde, aşağıdaki satırı bulmanız gerekiyor.

Bu satırı bulmayı kolaylaştırmak için, arama yapmak üzere CTRL + W kısayolunu kullanabilirsiniz.

<address>127.0.0.1:8384</address>

Bu satırda tanımlanan yerel IP'yi (127.0.0.1) Pi'nizin yerel IP adresi ile değiştirmemiz gerekecek.

Örneğin, Pi'mizin IP'sini kullanarak, bu satır sonunda aşağıdakine dönüşecektir.

<address>192.168.0.193:8384</address>

Yerel IP adresini kullanarak, web arayüzüne erişimi yalnızca aynı yerel ağdaki kullanıcılarla sınırlıyoruz.

Alternatif olarak, herhangi bir adresten erişime izin vermek istiyorsanız, "0.0.0.0" IP'sini kullanın.

5. IP'yi değiştirdikten sonra, CTRL + X, ardından Y, sonra ENTER tuşuna basarak dosyayı kaydedin.

Syncthing'i Raspberry Pi'de Servis Olarak Ayarlama

Syncthing'in web arayüzü artık Raspberry Pi dışından erişilebilir olduğuna göre, son bir görev daha yapmamız gerekiyor.

Bu görev, yazılım için bir servis etkinleştirmektir. Servis, Syncthing'in önyüklemede başlamasını ve kolayca durdurulup başlatılabilmesini sağlayacaktır.

1. Syncthing, kurulum sırasında sistemimize otomatik olarak bir servis dosyası kaydedecektir.

Yapmamız gereken tek şey, bu servise altında çalışması için bir kullanıcı adı beslemektir. "$USER" ortam değişkenini kullanarak, mevcut kullanıcının adını doğrudan komuta ekleyebiliriz.

Syncthing'i farklı bir kullanıcı altında çalıştırmak istiyorsanız, "$USER" kısmını onların adıyla değiştirin.

Aşağıdaki komut, işletim sistemi önyüklendiğinde Syncthing servisinin başlamasını etkinleştirecektir.

sudo systemctl enable syncthing@$USER

2. Servis artık etkinleştirildiğine göre, aşağıdaki komutu kullanarak Raspberry Pi'nizde Syncthing'i başlatabilirsiniz.

Burada, servisle her etkileşime girdiğinizde yapmanız gerektiği gibi, kullanıcı adımızı tekrar belirtmemiz gerektiğini göreceksiniz.

sudo systemctl start syncthing@$USER

3. Raspberry Pi'mizde Syncthing servisini başarıyla başlattığımızı doğrulamalıyız.

Merak etmeyin, Raspberry Pi'nizde Syncthing servisinin başarılı bir şekilde başladığını doğrulamak basit bir süreçtir. Servisin durumunu çıktı olarak vermesini sağlamak için sadece aşağıdaki komutu kullanın. Bu, her şeyin sorunsuz çalıştığını doğrulayacaktır.

sudo systemctl status syncthing@$USER

Servis doğru şekilde başladıysa ve çalışıyorsa, mesaj içinde aşağıdakinin görüntülendiğini görmelisiniz.

Active: active (running)

Raspberry Pi'nizin Syncthing Web Arayüzünü Kullanma

Bu noktada, artık Raspberry Pi'nizde Syncthing yazılımının çalışır durumda olması gerekiyor.

Sonunda yazılımı yapılandırmaya ve dosyaları senkronize etmek için bir cihaz eklemeye geçebiliriz. Takip etmesini kolaylaştırmak için, bunu daha küçük bölümlere ayıracağız.

Web arayüzü, cihazları kurma ve onlara bağlanma sürecini çok basit hale getirir.

Syncthing Web Arayüzüne Bağlanma

Web arayüzünü kullanabilmeden önce, önce onu favori web tarayıcınızda açmanız gerekecek.

1. Web arayüzüne erişmek için, Raspberry Pi'nin IP adresini bilmeniz gerekecek.

IP elinizde olduğunda, seçtiğiniz bir web tarayıcısında aşağıdaki web adresine gidebilirsiniz.

http://[PIIPADRESI]:8384

Ne yazarsanız yazın, port numarasının (8384) sonunda kalmasının önemli olduğunu unutmayın, çünkü Syncthing yazılımı burayı dinler.

2. Web adresine gittiğinizde, Syncthing web arayüzü ile tanışacaksınız.

Bir kullanıcı adı ve parola ayarladıktan sonra aşağıdaki ekranı görmeden önce giriş yapmanız gerekeceğini lütfen unutmayın.

Raspberry Pi Syncthing Başlangıç Web Sitesi Tehlike ile

Syncthing Arayüzünü Güvenli Hale Getirme

Varsayılan olarak, Syncthing tanımlanmış bir kullanıcı adı veya parola olmadan gelir. Bunun anlamı, herhangi bir kullanıcının arayüze erişip ayarlarınızı değiştirebileceğidir.

Kullanıcıların istenmeyen herhangi bir zarar vermesini durdurmak için, giriş detayları tanımlayabilirsiniz.

1. Kullanıcı adı ve parolayı daha önce ayarlamadıysanız, sizi tehlikeler konusunda uyaran bir mesaj göreceksiniz.

Ayarlar sayfasına hızlıca gitmek için, bu uyarıdaki "Settings" butonuna tıklayabiliriz.

Raspberry Pi Syncthing Ayarlarda Parola Değiştirme Seçenek A

Bu mesaj sizde görüntülenmiyorsa, sağ üst köşedeki "Actions" (1.) açılır kutusuna tıklayarak ve "Settings" (2.) seçerek de ayarlar sayfasını bulabilirsiniz.

Ayarlarda Parola Değiştirme Seçenek B

2. Açılan ayarlar sayfasında, "GUI" sekmesine geçmeniz gerekecek.

Açılan pencerenin üstündeki çubukta "GUI"ye tıklayarak bu sekmeye geçebilirsiniz.

Ayarlar Sayfası GUI'ye Git

3. Bu sayfada, hem bir kullanıcı adı (1.) hem de bir parola (2.) girmeniz gerekecek.

Kolayca tahmin edilemeyen güvenli bir parola ayarladığınızdan emin olun. Harf, sayı ve sembol kombinasyonu kullanmayı deneyin.

Her ikisini de girdikten sonra, "Save" butonuna tıklayarak değişikliklerinizi kaydedebilirsiniz (3.).

Raspberry Pi Syncthing Kullanıcı Adı ve Parola Ayarlama

4. Yeni parolanızı kaydettiğinizde, web arayüzünden atılacaksınız.

Syncthing'in arayüzünü her kullanmak istediğinizde, yeni giriş detaylarınızı girmeniz gerekecek.

Cihazınızın Syncthing ID'sini Alma

Syncthing, her bir cihaz için benzersiz bir ID oluşturarak çalışır. Cihazlar arasında veri senkronize etmek için, her birinin diğer cihazın ID'si eklenmiş olmalıdır.

Raspberry Pi Syncthing kurulumunuzun ID'sini bulmak basit bir süreçtir ve web arayüzü içinde bulunabilir.

1. Web arayüzünün ana sayfasına geri dönerek, ekranın sağ üst köşesindeki "Actions" düğmesine tıklayın (1.).

Açılır kutuda, aradığımız iletişim kutusunu getirmek için "Show ID" seçeneğine tıklayın (2.).

Raspberry Pi Syncthing Actions Show ID Bulma

2. Bu sayfada, tanımlama dizesini (1.) ve ID için eşleşen QR kodunu (2.) göreceksiniz.

Tanımlama dizesi 50-56 karakter uzunluğunda olmalı ve rakamlar, harfler ve tireler içermelidir. Tireler sistem tarafından yok sayılır ancak ID'yi okumayı kolaylaştırmak için oradadır.

Raspberry Pi'nizin ID'sini bağlanacağınız diğer cihazlara eklemeniz gerekecek. Aynı şekilde, onların ID'sini de eklemeniz gerekecek.

ID, Syncthing'in birden fazla cihazı aynı havuza bağlama yönteminin bir parçası olarak çalışır.

Raspberry Pi Syncthing Cihaz Tanımlama

Raspberry Pi'nizin Syncthing Havuzuna Bir Cihaz Ekleme

Artık cihazınızın ID'sini nasıl alacağınızı bildiğinize göre, şimdi başka bir cihazın ID'sini nasıl ekleyeceğinizi gösterelim.

Unutmayın, eklediğiniz herhangi bir cihaz da Raspberry Pi'nizin ID'sini eklemelidir. Aksi takdirde, cihazlar bağlanamayacaktır.

1. Syncthing arayüzünde, sağ alt tarafta bulunan "Add Remote Device" butonuna tıklamanız gerekiyor.

Bu butona tıklamak bizi, bir cihazı Syncthing havuzumuza eklememizi sağlayacak iletişim kutusuna götürecektir.

Raspberry Pi Syncthing Uzak Cihaz Ekleme Adımı

2. Bu iletişim kutusunda, havuzunuza istediğiniz cihaz ID'sini ekleyebilirsiniz.

Üstteki metin kutusunda (1.), bağlanmak istediğiniz cihazın ID'sini girin. ID nispeten uzun olduğundan, muhtemelen ID'yi kopyalayıp yapıştırmak daha kolay olacaktır.

Bittiğinde, cihazı eklemek ve bağlantı sürecini başlatmak için "Save" butonuna tıklayabilirsiniz (2.).

Uzak Cihaz Ekleme Seçenekleri Sayfası

3. Her iki Syncthing sunucusu da birbirinin ID'sini eklediğinde, başarıyla bağlandığınızı görmelisiniz.

Raspberry Pi Syncthing Uzak Cihaz Başarıyla Bağlandı

Bağlı Cihazlarınızla Bir Klasörü Senkronize Etme

Raspberry Pi Syncthing'imize artık bir cihaz bağlandığına göre, cihazla bir klasörü paylaşmayı deneyebiliriz.

Bu bölüm için, yalnızca varsayılan klasörü kullanacağız. Bu durumda, klasör Raspberry Pi'mizde "/home/pi/sync" konumundadır.

1. Mevcut bir klasörün paylaşım ayarlarını düzenlemeye başlamak için, o klasörün altındaki "Edit" butonuna tıklayın.

Bu buton, o klasör için ayarlar iletişim kutusunu getirecek ve kiminle paylaşıldığını ayarlamamızı sağlayacaktır.

Raspberry Pi Syncthing Mevcut Klasörler Ayarlarını Düzenleme

2. Dosya ayarları iletişim kutusunda paylaşım sekmesine geçmemiz gerekecek.

Bu sekmeye "Sharing" sekmesine tıklayarak geçebilirsiniz.

Sharing Sekmesine Geçme

3. Bu iletişim kutusunu kullanarak, klasörü paylaşmak istediğiniz cihazları seçebilirsiniz (1.).

Senkronize etmek istediğiniz cihazları seçtikten sonra, "Save" butonuna tıklayın (2.).

Bağlı Cihazla Klasörü Paylaşma

Bir klasörü başka bir cihazla paylaştıktan sonra, senkronizasyon başlamadan önce o cihazda kabul etmeniz gerektiğini lütfen unutmayın.

4. Artık klasörünüzün senkronize olmaya başladığını görmelisiniz.

Senkronizasyon tamamlandığında, hem klasörün hem de cihazın "Up to date" olarak işaretlendiğini görmelisiniz.

Raspberry Pi Syncthing Başarıyla Bağlandı ve Senkronize Ediliyor

Sonuç

Artık Raspberry Pi'nizde Syncthing'in çalışır durumda olması ve dosyaları farklı cihazlar arasında senkronize etmek için onu nasıl kullanacağınızı bilmeniz gerekiyor.

Syncthing, birden fazla cihaz arasında klasörleri senkronize etmenizi sağlayan, kullanımı basit bir yazılımdır.

Yazılım, birden fazla bilgisayarın dizinleri gerçek zamanlı olarak senkronize tutmasına izin vermenin en etkili yollarından biridir.

Dosyaları saklamak için Google Cloud veya Microsoft Azure gibi üçüncü bir tarafa güvenme ihtiyacını bile ortadan kaldırır.

Raspberry Pi'nizde Syncthing kurmakla ilgili herhangi bir sorunla karşılaştıysanız, aşağıya yorum bırakmaktan çekinmeyin.