paketleme

Karşılaştırma Snap vs Flatpak vs AppImage

Karşılaştırma Snap vs Flatpak vs AppImage
Snap, Flatpak ve AppImage gibi yeni paketleme biçimleri, çoğu Linux dağıtımında çalışan dağıtımdan bağımsız paketler sağlıyor. Bu, uygulamalarını birden çok Linux dağıtımında dağıtmak isteyen uygulama geliştiricilerinin karşılaştığı paketleme sorunlarını çözer. Artık farklı paketleme standartlarından geçmek yerine her yerde çalışan tek bir yapıya odaklanabilirler.

Bu makale, bu üç paketleme formatı arasındaki temel farkları son kullanıcıların bakış açısından listeleyecektir. Paketleme mimarisindeki farklılıklar ve geliştiricilerin bakış açısından paketleme kolaylığı burada ele alınmayacaktır.

Aşağıdaki tablo Snap, Flatpak ve AppImage dosya biçimleri arasındaki temel farkları özetlemektedir. Çoğu açıklayıcıdır, diğer noktalar karşılaştırma tablosunun altında açıklanmıştır.

Yapış düz paket Uygulama Resmi
Android Gibi İzin Kontrolleri Geçişleri (GUI ve CLI) Evet Evet Hayır
Korumalı Alan Desteği Evet Evet Evet
Korumalı Alan Zorunlu Evet Evet Hayır
Yerel Tema Desteği Evet (uyarılarla birlikte) Evet (uyarılarla birlikte) Evet (uyarılarla birlikte)
Paketlenmiş Kitaplıklar için Destek Evet Evet Evet
Uygulama Taşınabilirliği Evet (uyarılarla birlikte) Evet (uyarılarla birlikte) Evet
Tam Kapsamlı Tek Yürütülebilir Destek (benzer .Windows'ta exe dosyaları) Hayır Hayır Evet
Çevrimiçi Uygulama Mağazası Evet Evet Evet
Masaüstü App Store Yazılımı için Eklentiler Evet Evet Hayır
Çok Sürümlü Paralel Uygulama Desteği Evet Evet Evet
Otomatik güncellemeler Evet Evet Evet (uyarılarla birlikte)
Chrome OS Desteği (Crostini kapsayıcıları aracılığıyla) Evet Evet Evet
Uygulama Boyutu Değişir ancak AppImage'dan daha yüksek Değişir ancak AppImage'dan daha yüksek En düşük
App Store'da Bulunan Uygulama Sayısı En yüksek En düşük Arasında bir yerde

Kullanıcılar için İzin Kontrolleri

Snap, kullanıcı tarafından kontrol edilen izinler için hem grafik hem de komut satırı arayüzleri sağlar. Bir ek uygulamanın izinlerini yönetmek için önceden yüklenmiş “Ubuntu Yazılımı” uygulamasını kullanabilirsiniz.

Komut satırı arabirimini kullanan bir ek uygulamanın izinlerini görmek için aşağıdaki komutu çalıştırın:

$ snap bağlantıları krom

"Chromium" ifadesini ek uygulamanızın adıyla değiştirin.

Yüklü tüm ek uygulamaların bir listesini görmek için aşağıdaki komutu çalıştırın:

$ ek listesi

Kameraya krom yakalama izni vermek için aşağıdaki komutu kullanın:

$ ek bağlantı kromu:kamera

Kamera iznini iptal etmek için aşağıdaki komutu çalıştırın:

$ ek bağlantı kesme kromu:kamera

İzin yönetimi için uygun komutlar “Fiş” sütununda bulunabilir (yukarıdaki ekran görüntüsünde gösterilmiştir).

Flatpak ayrıca izinleri vermek ve iptal etmek için bir arayüz sağlar. GNOME Yazılım uygulamasını kullanabilirsiniz (GNOME 3 gerektirir.32.x) bir grafik yöntemi kullanarak izinleri yönetmek için. Bir flatpak uygulamasının izinlerini görmek için aşağıdaki komutu çalıştırın:

$ flatpak bilgisi --show-permissions org.kde.platformu

"kuruluş" yerine.kde.Flatpak uygulamanızın adıyla Platform”.

Sisteminizde kurulu olan tüm flatpak uygulamalarının listesini görüntülemek için aşağıdaki komutu çalıştırın:

$ düz paket listesi

Bir flatpak uygulamasının izinlerini değiştirmek için yukarıdaki ekran görüntüsünde gösterilen değişkenlerin değerlerini değiştirmeniz gerekir. Örneğin, aşağıdaki komut tüm dosya sistemini bir flappak uygulaması için kullanılabilir hale getirecektir:

$ sudo flatpak geçersiz kılma kuruluşu.kde.Platform --dosya sistemi=ana bilgisayar

AppImage şu anda ayrıntılı izin denetimlerini desteklemiyor, ancak geliştiriciler, gelecekte Android tarzı izin denetimlerinin uygulanabileceğini ima etti.

Sandboxing

Snap, Flatpak ve AppImage, kutudan çıktığı gibi korumalı uygulama ortamlarını destekler. Korumalı alan, ana bilgisayar sisteminden tamamen yalıtılmış ve uzak bir ortamdır (veya kapsayıcı/dosya sistemi/arşiv). Ana sistemle herhangi bir etkileşim, sınırlı API ve izin kontrolleri kullanılarak yapılır. Bu izinlerden bazıları, kullanıcılar tarafından açıkça kabul edilmesini gerektirir veya son kullanıcılar tarafından tamamen devre dışı bırakılabilir. Korumalı alan uygulaması, ana bilgisayar sistemine tam erişimi olan diğer tüm uygulamalardan daha güvenlidir. Tüm Android uygulamaları bir sanal alanda çalışır ve bu üç paketleme biçimi benzer bir fikir üzerinde çalışır.

Yerel Tema Desteği

Üç paketleme biçiminin tümü, bazı sınırlamalara rağmen GTK ve Qt uygulamaları için yerel görünümü ve hissi destekler. Örneğin, Snap ve Flatpak, sistem temalarının kendi formatlarında paketlenmesini gerektirir. Üçüncü taraf temalar ve simge paketleri kullanıyorsanız, doğru tema, imleç ve uygulama simgelerini alamayabilirsiniz. Entegrasyon fazla mesaiyi iyileştirdi, ancak bir dağıtımın resmi paket yöneticisinden yüklenen uygulamalarla karşılaştırıldığında biraz yetersiz kalıyor.

Uygulama Taşınabilirliği

Bir AppImage uygulaması, tek bir yürütülebilir dosyadır (Windows'a benzer .exe dosyaları). Sistemler arasında kolayca paylaşabilir veya buluta yükleyebilirsiniz. Snap ve Flatpak uygulamaları, uygulamanın kendisi ve uygulamanın bağlı olduğu alt depolar dahil edilerek taşınabilir hale getirilebilir. Ancak, süreç AppImage kadar kolay değildir ve aynı sonuçları elde etmek için birden fazla komut kullanmayı gerektirir.

Otomatik güncellemeler

Snap ve Flatpak uygulamaları, merkezi uygulama havuzlarından yüklenir ve uygulamalar, kullanıcı müdahalesi olmadan otomatik olarak güncellenebilir. AppImage, sağlam bir otomatik güncelleme mekanizmasından yoksundur. Kullanıcılar, güncellemeleri yüklemek için yeni AppImage ikili dosyasını manuel olarak indirmeli ve mevcut olanı değiştirmelidir. AppImage uygulama geliştiricileri bazen sunucularındaki güncellemelerin kullanılabilirliğini düzenli olarak kontrol eden veya kullanıcı müdahalesi gerektiren kendi güncelleme mekanizmalarını içerir. Son zamanlarda, AppImage geliştiricileri delta güncellemeleri sağlayarak mevcut ikili dosyaları güncellemek için bir araç sağladı. Ancak yine de güncelleme aracının indirilmesini ve mevcut bir AppImage ikili dosyasıyla manuel olarak kullanılmasını gerektirir. Henüz AppImage için eller serbest güncelleme mekanizması yok.

Uygulama Boyutu

AppImage, büyük olasılıkla ikili dosyaları sıkıştırılmış biçimde sunduğu için en düşük uygulama boyutu ayak izine sahiptir. Snap ve Flatpak uygulama boyutları, uygulamadan uygulamaya büyük ölçüde değişir ve hangisinin daha düşük yükleme boyutu sağladığını belirlemek zordur. Sadece referans olarak, bu makaleyi yazarken Inkscape AppImage 98 MB, Snap 183 MB ve Flatpak 109 MB civarındaydı.

Sonuç

Evrensel uygulama paketleri, hem geliştiriciler hem de son kullanıcılar için bir kazan-kazan durumudur. Bu paketleme biçimleri, güvenli uygulamaların çok daha hızlı teslim edilmesini sağlar. Ayrıca, farklı dağıtımlarda kullanılan farklı paketleme standartları nedeniyle Linux'tan çekinen geliştiricilere de kapı açarlar. Bu üç paketleme biçiminde çözülmesi gereken bazı sorunlar var. Ancak, hepsi aktif geliştirme aşamasındadır ve bu sorunlar fazla mesai ile çözülecektir. Evrensel çapraz dağıtım paketleri gelecek ve bunların benimsenmesi artacak. Yavaş ama istikrarlı bir şekilde dağıtımlar, işletim sisteminin çalışması için gerekli olan çekirdek kitaplıklar ve temel paketler dışında gelecekte Snap, Flatpak veya AppImage derlemelerine geçebilir.

How to change Mouse pointer and cursor size, color & scheme on Windows 10
The mouse pointer and cursor in Windows 10 are very important aspects of the operating system. This can be said for other operating systems as well, s...
Linux Oyunları Geliştirmek için Ücretsiz ve Açık Kaynaklı Oyun Motorları
Bu makale, Linux'ta 2D ve 3D oyunlar geliştirmek için kullanılabilecek ücretsiz ve açık kaynaklı oyun motorlarının bir listesini kapsayacaktır. Bu tür...
Linux Eğitimi için Tomb Raider'ın Gölgesi
Shadow of the Tomb Raider, Eidos Montreal tarafından yaratılan bir aksiyon-macera oyunu serisi olan Tomb Raider serisine eklenen on ikinci oyundur. Oy...