Uygulama

Linux’ta Kopia ile verilerinizi nasıl yedeklersiniz?

Yedekleme çözümlerinden bahsederken, Linux’ta seçim yapmakta zorlanıyoruz: örneğin önceki derslerde Borg ve Restic ile şifreli ve verimli yedeklemeler oluşturmaktan bahsetmiştik. Kopia, bu uygulamalara başka bir ücretsiz ve açık kaynaklı alternatiftir: Go ile yazılmıştır ve hem yerel dosya sistemlerine hem de Amazon S3, Azure Blob Storage, Backblaze B2 ve Google Cloud Storage gibi bulut tabanlı depolama hizmetlerine güvenli yedeklemeler oluşturabilir. Borg ve Restic’ten farklı olarak Kopia, resmi olarak desteklenen bir GUI arayüzü ile birlikte gelir: KopiaUI.

 

Kurulum

Yazma anında, Kopia henüz büyük Linux dağıtımlarının resmi depolarının hiçbirine dahil edilmemiştir, bu nedenle, onu kurmadan önce, deposunu kendi sistem yazılımı kaynaklarımıza eklemeliyiz. Nasıl yapılacağını görelim.

Debian tabanlı dağıtımlar için

İlk iş olarak, Kopia paketlerini imzalamak için kullanılan GPG anahtarını paket yöneticisi anahtarlığımıza eklememiz gerekiyor. Debian ve apt paket yöneticisini kullanan Debian tabanlı dağıtımlarda, imzalama anahtarını indiren, zırhını kaldıran ve /etc/apt/keyrings dizini altında kopia-keyring.gpg olarak saklayan aşağıdaki komutu çalıştırarak bunu yapabiliriz:

$ curl -s https://kopia.io/signing-key | sudo gpg --dearmor -o /etc/apt/keyrings/kopia-keyring.gpg

 



Anahtarı kurduktan sonra, Kopia deposunu bir yazılım kaynağı olarak ekleyebiliriz. Tek yapmamız gereken, /etc/apt/sources.list.d/kopia.list dosyasına uygun satırı eklemek: 

$ echo "deb [signed-by=/etc/apt/keyrings/kopia-keyring.gpg] http://packages.kopia.io/apt/ stable main" | sudo tee /etc/apt/sources.list.d/kopia.list

Bu noktada yazılım kaynaklarımızı senkronize ederek kopia ve kopia-ui paketlerini kurabiliriz. Sonuncusu, masaüstü grafik uygulamasını sağlar:

$ sudo apt-get update && sudo apt-get install kopia kopia-ui

Fedora tabanlı dağıtımlar için

Fedora, Rocky Linux ve Red Hat Enterprise Linux gibi rpm paket yöneticisini kullanan dağıtımlarda aynı adımları farklı şekilde gerçekleştirmemiz gerekiyor. Kopia imzalama anahtarını sistemimize eklemek için, RPM anahtarlığına anahtar eklemek ve anahtardan anahtar çıkarmak için özel olarak tasarlanmış rpmkeys yardımcı programını kullanabiliriz. Bir anahtarı içe aktarmak için –import seçeneğini kullanırız. Koşuyoruz:

$ sudo rpmkeys --import https://kopia.io/signing-key

Sonraki adım, /etc/yum.repos.list/kopia.repo depo dosyasını oluşturmak ve doldurmaktan oluşur:

cat <<EOF | sudo tee /etc/yum.repos.d/kopia.repo
[Kopia]
name=Kopia
baseurl=http://packages.kopia.io/rpm/stable/\$basearch/
gpgcheck=1
enabled=1
gpgkey=https://kopia.io/signing-key
EOF

Depo dosyası yerindeyken, Kopia ve KopiaUI’yi kurmak için şunu çalıştırıyoruz:

$ sudo dnf install kopia kopia-ui

Komut satırından Kopia’yı kullanma

Kopia ile bir yedek oluşturmadan önce, anlık görüntülerimizi barındıracak depoyu oluşturmalıyız. Bu eğitimin uğruna, işleri basit tutmak için yerel bir depo oluşturacağız.

Yerel bir Kopia deposu oluşturmak için aşağıdaki komutu çalıştırıyoruz:

$ kopia repository create filesystem --path ~/kopia-repo

 



Depo için bir şifre sağlamamız ve doğrulamamız istenecektir. Depo hazır olduğunda, Kopia otomatik olarak ona bağlanacaktır, bu nedenle her komut gerçekleştirdiğimizde şifreyi girmemiz gerekmeyecektir. Herhangi bir nedenle depoyla bağlantısını kesmek istersek, depo bağlantısını kes komutunu kullanabiliriz:

$ kopia repository disconnect

Mevcut bir depoya açıkça bağlanmak için bunun yerine repository connect kullanırız. Örneğin, bu öğreticide oluşturduğumuz yerel depoya bağlanmak için şunu çalıştırırız:

$ kopia repository connect filesystem --path ~/kopia-repo

Anlık görüntü oluşturma

İlk snapshot’ımızı oluşturmak için snapshot create komutu ile Kopia’yı çalıştırıyoruz ve yedeklemek istediğimiz dizini (snapshot root) argüman olarak iletiyoruz. Birden çok dizini bağımsız değişken olarak geçirirsek, bunların aynı anlık görüntüye dahil edilmeyeceğine dikkat edin; Bunun yerine Kopia, her biri için ayrı bir anlık görüntü oluşturacaktır:

$ kopia snapshot create ~/.config ~/Documents

Kullanılabilir anlık görüntüleri ve anlık görüntüde yer alan dosyaları listeleme

Kullanılabilir anlık görüntüleri listelemek için snapshot list komutunu kullanırız:

$ kopia snapshot list

Bu durumda, iki hedef sağladığımızdan iki anlık görüntü oluşturulmuştur: ~/.config ve ~/Documents:

doc@hllpt0:/home/doc/.config
  2025-04-04 18:13:40 CEST kc4d9a4afa23d33ca3a04d5710485866d 108.1 MB drwx------ files:1094 dirs:309 (latest-1,hourly-1,daily-1,weekly-1,monthly-1,annual-1)

doc@hllpt0:/home/doc/Documents
  2025-04-04 18:13:40 CEST k9ac19915adf29498e657457283f1e2e9 3.6 GB drwxr-xr-x files:85404 dirs:13403 (latest-1,hourly-1,daily-1,weekly-1,monthly-1,annual-1)

Bir anlık görüntüde yer alan dosya ve dizinleri gerçekten listelemek için, bunun yerine Kopia ls komutunu kullanırız (isteğe bağlı olarak, her dosya hakkında daha fazla ayrıntı elde etmek için -l bayrağıyla) ve anlık görüntünün kimliğini bağımsız değişken olarak iletiriz:

$ kopia ls -l kc4d9a4afa23d33ca3a04d5710485866d

Tüm depoyu veya belirli bir anlık görüntüyü yerel dosya sistemine bağlama

Kopia mount komutunu kullanarak, yerel dosya sistemine tüm bir depoyu veya belirli bir anlık görüntüyü bağlayabiliriz. Tüm depoyu monte etmek için, ilk argüman olarak “all” anahtar kelimesini geçiyoruz. İsteğe bağlı olarak ikinci bağımsız değişken olarak bir bağlama noktası belirtebiliriz. Bunu atlarsak, Kopia depoyu anında oluşturulan geçici bir dizine bağlayacaktır.

Aşağıdaki örnekte, tüm depoyu ~/Public dizinine bağlıyoruz:

$ kopia mount all ~/Public

 



Komut başarılı olursa, dosya sistemindeki diğer herhangi bir dizin gibi depo içeriğine göz atabileceğiz. Tek bir anlık görüntüyü bağlamak için, bunun yerine, kimliğini komuta ilk argüman olarak iletiriz, örneğin: 

$ kopia mount kc4d9a4afa23d33ca3a04d5710485866d ~/Public

Anlık görüntüyü geri yükleme

Bir anlık görüntüyü geri yüklemek için anlık görüntü geri yükleme komutunu kullanırız. Bir anlık görüntünün tüm içeriğini geri yüklemek için, ilk bağımsız değişken olarak anlık görüntü kimliğini ve ikinci bağımsız değişken olarak hedef dizini geçirmeniz yeterlidir. Henüz mevcut değilse, hedef dizin oluşturulur. Aşağıdaki örnekte, kc4d9a4afa23d33ca3a04d5710485866d anlık görüntüsünün içeriğini ~/restore-target dizinine geri yüklüyoruz:

$ kopia snapshot restore kc4d9a4afa23d33ca3a04d5710485866d ~/restore-target

Belirli bir alt dizinin içeriğini geri yüklemek için, bunun yerine, yolunu anlık görüntü kimliğinden sonra ekleriz. Örneğin, yalnızca “autostart” alt dizininin içeriğini (dizinin kendisini değil) geri yüklemek için şunu çalıştırırız:

$ kopia snapshot restore kc4d9a4afa23d33ca3a04d5710485866d/autostart ~/restore-target

Anlık görüntüyü silme

Bir anlık görüntüyü kaldırmak için Kopia anlık görüntü silme komutunu kullanırız ve kaldırmak istediğimiz anlık görüntünün kimliğini bağımsız değişken olarak iletiriz. Varsayılan olarak, komut yalnızca gerçekleştirilecek eylemi görüntüler (kuru çalıştırma). Bunu gerçekten gerçekleştirmek için –delete seçeneğini geçmemiz gerekiyor:

$ kopia snapshot delete --delete kc4d9a4afa23d33ca3a04d5710485866d

KopiaUI’yi kullanma

Kopia, resmi olarak desteklenen bir grafik kullanıcı arayüzü olan KopiaUI ile birlikte gelir. “Kopia-ui” paketini kurduktan sonra, favori masaüstü ortamımızın uygulama menüsünde KopiaUI masaüstü başlatıcısını bulmalıyız. Uygulamayı başlatmak, sadece üzerine tıklamak meselesidir.

Kopia’yı ilk kez kullanıyorsak ve herhangi bir depomuz yoksa, uygulama depolama türünü seçerek bir tane oluşturmamıza izin verir:

Creating a repository from KopiaUI
KopiaUI’den bir depo oluşturma

Yerel bir depo oluşturmak için ilk düğmeye tıklıyoruz: “Yerel Dizin veya NAS” ve depo yolunu girin:

Providing the repository path
Depo yolunu sağlama

Hazır olduğumuzda, “İleri” düğmesine tıklıyoruz ve depo için bir şifre sağlıyoruz:

Providing the repository password
Depo parolasını sağlama

 



“Gelişmiş Seçenekleri Göster” düğmesine tıklayarak, şifreleme türü ve hash algoritması gibi diğer depo parametrelerini de değiştirme şansımız var (varsayılan değerler aklı başındadır, yalnızca ne yaptığınızı biliyorsanız değiştirin). 

Hazır olduktan sonra “Depo Oluştur” düğmesine tıklıyoruz. Depo oluşturulacak ve yeni anlık görüntüler oluşturabileceğimiz ve mevcut olanları yola göre gruplandırarak görselleştirebileceğimiz “Anlık Görüntüler” bölümüne yönlendirileceğiz.

KopiaUI snapshots page
KopiaUI anlık görüntüleri sayfası

Yeni bir anlık görüntü oluşturmak için, “Yeni Anlık Görüntü” düğmesine tıklıyoruz ve özel widget’ta anlık görüntü kökünü belirtiyoruz:

Creating a new snapshot
Yeni bir anlık görüntü oluşturma

Aynı arayüzden, yola özgü bir saklama politikası, dışlama yolları belirleyebilir ve sıkıştırma algoritması gibi bazı gelişmiş parametrelerde ince ayar yapabiliriz. Son olarak, anlık görüntüyü oluşturmak için “Şimdi Anlık Görüntü” düğmesine tıklıyoruz.

 

 

 

Yazının orijinalini buradan okuyabilirsiniz.