"Fark", "farklılıklar" olarak kısaltılır ve iki dosyanın içeriğini karşılaştırmak ve standart çıktıdaki değişiklikleri listelemek için kullanılır.
Bir dizi kaynak kodu, bir yazılım parçasını oluşturur. Geliştiriciler, zamanla gelişen kaynak kodunu oluşturur. Her güncelleme için yeni bir dosya almak gerçekçi değildir veya zaman alıcıdır. Bu nedenle, en güvenli yöntem yalnızca iyileştirmeleri dağıtmaktır. Değişiklikler eski dosyada yapılır ve ardından yeni yazılım sürümü için yeni veya yama uygulanmış bir dosya oluşturulur.
Bu kılavuz, bir yama dosyası oluşturmak için "diff" komutunu nasıl kullanacağınızı ve ardından bunu "patch" komutuyla nasıl uygulayacağınızı gösterir.
Sözdizimi:
Sözdizimi “yama” komutu aşağıdaki gibidir:
$ yama [seçenekler] [orijinal dosya [yama dosyası]]$ yama -pnum
“diff” Kullanarak Yama Dosyası Oluşturma:
Kaynak Kod Dosyası 1:
İlk olarak, bir yama dosyası oluşturmak için bir kaynak kodun iki farklı versiyonu gereklidir. Oluşturduğum kaynak kod dosyasının adı “dosyam.c”:s
#Dahil etmekint ana()
printf("Merhaba LinuxHint\n");
Kaynak Kod Dosyası 2:
Şimdi, içeriğini kopyalayın dosyam.c içinde yeni_dosyam.c, kullanarak:
$ cp dosyam.c yeni_dosyam.cYeni oluşturulan dosyada bazı değişiklikler yapın:
#Dahil etmekgeçersiz ana()
printf("Merhaba Linux ipucu");
printf("linuxhint'e hoş geldiniz");
Farkı Kontrol Etme:
Adlı bir yama dosyası oluşturalım dosyam.yama:
$ diff -u dosyam.c yeni_dosyam.cAşağıdaki komutu uygulayarak yama dosyasını yazdırabilirsiniz:
$ kedi dosyam.yama
Yama Dosyasını Uygulama:
Yama uygulamak için şunu kullanın:
$ yama < myfile.patch
Yama dosyasının, kaynak kod dosyasının yerleştirildiği dizinde olduğundan emin olun.
Yama Uygulamadan Önce Yedek Alın:
"-b” yama dosyasının bir yedeğini oluşturma seçeneği:
$ yama -b < myfile.patch
Yedekleme Dosyası Sürümünü Ayarlama
Tek bir yedekleme dosyasının birden çok yedeğine ihtiyacınız varsa, “-V” seçeneği. Her yedekleme dosyasının sürüm numarasını ayarlar. Aşağıda verilen komutu yürütün:
$ yama -b -V numaralı < myfile.patch
Yama Dosyalarını Doğrula
Yamanın sonucunu doğrulamak veya gözlemlemek istiyorsanız, "-kuru çalışma” seçeneği. Orijinal dosyada herhangi bir değişiklik yapmaz:
$ yama -- kuru çalışma < myfile.patch
Bir Yamayı Ters Çevir/Geri Al
"-R" seçeneği, daha önce uygulanmış bir yamayı geri almak veya geri almak için kullanılır.
$ yama < file.patch$ ls -l dosyam.c
$ yama -R < myfile.patch
$ ls -l dosyam.c
Sonuç:
Linux işletim sisteminde “patch”, yama dosyalarını kaynak kodlarına veya yapılandırma dosyalarına uygulamamızı sağlayan bir komuttur. Yama dosyası, yazılım güncelleme amacıyla kullanılır. Orijinal ve yeni dosyalar arasındaki fark, yama dosyalarında tutulur ve farkı veya düzeltme ekini almak için “diff” komutu kullanılır. Yedekleme, kuru çalıştırma ve uygulanan yamayı tersine çevirme gibi bir dizi seçenekle “diff” ve “patch” komutlarının kullanımını tartıştık.