# Güncelleme ve sürüm kanalları

Kaynak: <https://deckpa.com/docs/update>

> Panel, imzası doğrulanmış paketle tek tıkla güncellenir; yeni sürüm sağlıklı açılmazsa önceki sürüme geri alınır.

## Sürüm kontrolü ve kanallar

Panel, açılışta bir kez ve sonra 6 saatte bir `get.deckpa.dev/<kanal>/VERSION` adresine bakar ve çalışan sürümle karşılaştırır. Kanaldaki sürüm daha yeniyse üç yerde haber verir: Panel sayfasında **Yeni sürüm hazır** şeridi, kenar menüde **Güncelleme** yanında küçük bir nokta ve **Uyarılar** sayfasındaki **Panel güncellemesi mevcut** kuralı.

Kanal, sunucudaki `/etc/deckpa/config.yaml` dosyasındaki `update_channel` anahtarıyla seçilir. Anahtar yoksa `stable` kullanılır; yazılabilen değerler `stable` ve `beta` ile sınırlıdır, başka bir değer yok sayılıp `stable`'a dönülür. Dosyayı değiştirdikten sonra paneli `deckpa restart` ile yeniden başlatın. İndirme adresi (`update_base`) de aynı dosyadadır ve panel arayüzünden değiştirilemez.

> Canlı sunucularda kanalı `stable` bırakın. Örnek yapılandırma dosyası da `beta` kanalının erken sürümler getirdiğini ve üretim sunucusunda önerilmediğini belirtir.

## Tek tıkla güncelleme

Güncelleme ekranı yalnızca yöneticiye açıktır: **Sistem → Güncelleme**. Sağdaki kartta **Çalışan sürüm**, **Kanaldaki güncel sürüm**, **Kanal** ve **Son kontrol** görünür. Soldaki **Sürüm Geçmişi** tablosu bu sunucuda panelden uygulanmış güncellemeleri, yayın tarihlerini ve değişiklik notlarını listeler; satırdaki **Değişiklikleri gör** düğmesi notları açar.

- **Şimdi kontrol et** düğmesi sürümü beklemeden yeniden sorgular.
- Yeni sürüm varsa kartta **Yeni sürüm hazır** başlığı ve **... sürümüne güncelle** düğmesi çıkar.
- Düğmeye bastığınızda bir onay penceresi açılır. Onayladığınızda panel arka planda yeni program dosyalarını indirir ve doğrular, ardından yaklaşık 4 saniye sonra kendi iki sistem servisini yeniden başlatır.
- Yeniden başlatma sürerken sayfa panelin geri gelmesini bekler ve kendini yeniler. Beklenenden uzun sürerse sayfayı elle yenileyin.

Güncellenecek sürümü siz seçmezsiniz: sürüm, istek geldiği anda kanaldan yeniden çözülür. Çalışan sürümden eski ya da aynı bir sürüme güncelleme reddedilir. Bir kurulum ya da sistem paketi işi sürüyorsa güncelleme başlamaz; iş bitince yeniden deneyin.

## İndirilen paketin doğrulanması

Paket üç adımda doğrulanır ve herhangi biri başarısız olursa güncelleme hiç uygulanmaz:

- **İmza.** Kanaldaki `SHA256SUMS` dosyasının Ed25519 imzası, panelin program dosyasına gömülü açık anahtarla denetlenir. İmza yoksa ya da geçersizse güncelleme reddedilir. Dağıtım sunucusunun içeriği değiştirilse bile geçerli bir imza üretilemez.
- **SHA256.** İndirilen arşivin SHA256 değeri, imzalı listedeki değerle eşleşmelidir. Eşleşmezse panel dosyanın bozuk ya da değiştirilmiş olabileceğini bildirir.
- **Dosya türü.** Arşivden çıkan iki program dosyasının geçerli çalıştırılabilir dosyalar olduğu denetlenir.

Doğrulama geçerse dosyalar `/usr/local/bin` altında yan dosya (`.new`) üzerinden yeniden adlandırılarak yerine konur; yani eski dosya yarım yazılmış bir dosyayla değiştirilmez. Değişen servis tanımları `systemctl daemon-reload` ile okutulur.

## Otomatik geri alma

Yeni sürüm açılmazsa panelin kendini geri alması gerekir; ama panel çalışmıyorsa bunu yapacak kimse kalmaz. Bu yüzden her güncellemede değişen dosyaların yanına `.prev` uzantılı bir önceki kopya bırakılır ve eski program dosyasından çalışan ayrı bir geçici sistem servisi (`deckpa-update-gate`) zamanlanır. Bu servis, yeniden başlatmadan sonra şunları yoklar:

- İki panel servisi (`deckpa-api` ve `deckpa-executor`) etkin mi.
- Sistem servisinin soketi var mı.
- Panel kendi portunda `/login` adresine HTTP yanıtı veriyor mu (500 ve üzeri yanıt başarısız sayılır).

İlk yoklama zamanlamadan yaklaşık 8 saniye sonra yapılır ve 3 saniyede bir tekrarlanır. 120 saniye içinde hepsi sağlam görünmezse önceki dosyalar geri konur, servisler yeniden başlatılır ve **Güncelleme** sayfasında bir kez **Güncelleme geri alındı** kartı görünür; kartta hangi sürümden hangisine dönüldüğü ve nedeni yazar. Bu süre dolmadan ikinci bir güncelleme başlatılamaz.

Geri alma yalnızca değiştirilen program dosyalarına ve servis tanımlarına dokunur. Mekanizma bilerek hata vermeden çalışacak şekilde kurulmuştur: sunucu yoklama sırasında yeniden başlarsa geçici servis de kaybolur ve geri alma olmaz; geri alma servisinin kendisi çökerse yeni sürümde kalınır.

## Sistem paketleri

Güncelleme sayfasının altındaki **Sistem paketleri** kartında **Sistem paketlerini güncelle** düğmesi vardır. Düğme işletim sistemi paketlerini günceller; sürümleri Deckpa tarafından yönetilen OpenLiteSpeed, MariaDB, PowerDNS, Valkey ve lsphp paketleri bunun dışında tutulur. İş arka planda sürer ve pencereyi kapatsanız da devam eder.

Deckpa'nın yönettiği paketlerden güncellemesi bekleyen varsa sayfada ayrıca **Sistem Paketleri** bloğu görünür ve kurulum için sizi **Servisler** sayfasına yönlendirir. Linux çekirdeği güncellendiyse yeni çekirdek ancak sunucu yeniden başlatılınca devreye girer (bkz. [Panel ayarları](https://deckpa.com/docs/panel-settings)).

## Sık karşılaşılan durumlar

- **Sürüm bilgisi alınamadı.** Sunucu `get.deckpa.dev` adresine ulaşamıyor. Çıkış trafiğini ve DNS çözümlemesini denetleyin, sonra **Şimdi kontrol et** düğmesine basın.
- **Bir sistem adımı uygulanamadı.** Yeni sürümün açılışta çalıştırdığı bir adım hata verdi. Çalışan sürüm etkilenmez; yalnızca o adımın getirdiği düzeltme henüz uygulanmamıştır. Sorun giderildikten sonra karttaki **Yeniden dene** düğmesini kullanın. Kart, sorun çözülene kadar her açılışta görünür.
- **Önceki güncelleme hâlâ sağlık kontrolünden geçiyor.** Geri alma yoklaması bitmeden yeni güncelleme başlatılamaz; en fazla 2 dakika bekleyin.
- **Bir kurulum işi sürüyor.** Sistem paketi güncellemesi ya da başka bir kurulum işi bitmeden panel güncellenmez.
- **Panel güncellemeden sonra açılmıyor.** 2 dakikaya kadar bekleyin; geri alma çalışmış olabilir. Sunucudan `deckpa status` ve `deckpa logs` komutlarıyla durumu görebilirsiniz.

Güncellemeyi komut satırından da başlatabilirsiniz: `deckpa update` aynı yolu kullanır (bkz. [Komut satırı](https://deckpa.com/docs/cli)).
