Snaps, appimage, flatpak ve diğerleri arasındaki farklar nelerdir?


105

Son zamanlarda bu soruyu öğrencilerden alıyorum ve sunacak çok fazla bilgiye sahip olmama rağmen, insanları bir güncelleme yanıtını okuyabilecekleri bir yere yönlendirebileceğim bir kaynak bulamadım (Çok fazla yanlış bilgi ve eski bilgiler buldum.) ). Bu nedenle, evrensel paketleme sistemlerinin bu evriminde snap, appimage, flatpak gibi diğer paket biçimleriyle ilgili bazı sorular şunlardır:

  • Paket formatını kim oluşturdu?
  • Hangi özellikleri sunuyor?
  • Hangi özellikler kendine özgüdür? (Diğerlerinin henüz sahip olmadığı)
  • Onu kim destekliyor?
  • Hangi Dağılımlar kullanıyor?
  • Paketin hangi odağı var? (Masaüstü, Bulutlar, Mobil vb. İçin)
  • Hangisi daha aktif olarak geliştirildi?

Yanıtlar:


68

İşte AppImage ve Snap vs. Flatpak özelliklerinin uzun bir tablo karşılaştırması. Bu dan GitHub'dan AppImage Wiki :

AppImage vs. Snap ve Flatpack Karşılaştırma


43
Bence bu grafiğin bir AppImage perspektifinden oluşturulduğunu göstermeye değer. Anlamı, varsayılan özellik kümesi AppImage'nin özellik kümesidir ve diğerleri özellikleriyle karşılaştırılır. Bu, AppImage için önyargılı bir avantaj sağlar. Aynı zamanda biraz güncel değil. Örneğin, Snap eklenmiş tema bu sonbaharda destek.
Dan

1
@Dan: Eğer Snap'ın desteğini biliyorsanız, onlara destek eklendi - neden o zaman çizelgeyi düzenlemesiniz? Ayrıca, Snap ve / veya Flatpak'ta bulunan diğer özellikleri biliyorsanız: grafiği, AppImage wiki'deki ilgili öğelerle değiştirmek için davetli hissediyorum ...
Kurt Pfeifle

11
@Kurt'ı nasıl söyleyebileceğinden emin değilim. Örnek olarak "Hedefler" bölümüne bakınız. Diğer projelerin hiçbirinin herhangi bir amacı yokmuş gibi, AppImage'ın hedeflerini özel olarak gösterir. Sadece AppImage’ın önemli olduğu gibi.
Dan,

5
Amacını anlıyorum - wikiyi düzenleyebilirim. Bununla birlikte, cevabınız, wiki değişse bile, kalıcılıkta olduğu gibi kalacak olan dev bir görüntü. Bence önyargının gelecekteki cevabınız bağlamında değinmeye değer olduğunu düşünüyorum.
Dan

2
@Dan: Yanıtı web sitesinden ekran görüntüsünün güncellenmiş bir versiyonunu eklemek için 4 Temmuz’da değiştirdim (tam olarak wiki’ye gelen bazı değişiklikleri eklemek için). Orijinal Wiki'yi düzenleme, yeni bir ekran görüntüsü oluşturma ve ardından bu yanıtın yeni ekran görüntüsü ile değiştirilmesini önerme probleminiz nerede?
Kurt Pfeifle

51

Snaps , Canonical tarafından Ubuntu için hazırlandı. Çıtçıtların ana avantajları:

  • Bağımlılıklardan bağımsızlık - tüm kütüphaneler ve bağımlılıklar pakete dahil edilmiştir. Bu, aynı programın daha fazla sürümüne sahip olmanıza izin verir.
  • Sandboxing - snaps, uygulamaları sanallaştırmak için değiştirilmiş AppArmor kullanıyor
  • Delta güncellemeleri - anlık görüntüler aynı zamanda delta güncellemelerine de izin vermelidir

Anlıkların ana dezavantajı, yazılımın yalnızca paketinde bulunan kitaplıkları kullanabilmesidir. Bu, paketin yazarının tüm kitaplıkları yamalı ve güncel tutması gerektiğinden potansiyel bir güvenlik riskidir.

Snaps şu anda Ubuntu, Arch Linux, Fedora, Linux Mint, CentOS ve Gentoo'da yayınlanabilir. Ayrıca Ubuntu Touch'ta da kullanılırlar. Masaüstü bilgisayarlar, sunucular, telefonlar, IoT ve yönlendiriciler için tasarlanmıştır.

Flatpak , çıtçıtlarla aynı avantajlara sahiptir. Ancak, sandboxing için AppArmour yerine Namespaces kullanır. Asıl fark, Flatpaks'ın hem pakette bulunan kütüphaneleri hem de başka bir Flatpak'tan paylaşılan kütüphaneleri kullanabilmesi.

Flatpak'ın geliştiricisi Red Hat çalışanı Alexander Larsson'dur. Flatpak yazılımı şu anda Arch Linux, Debian, Fedora, Mageia, Solus ve Ubuntu'da mevcuttur. Yalnızca masaüstlerine odaklanır.

AppImages , Simon Peter tarafından geliştirilmiştir. Çıtçıt veya Flatpak'ta olduğu gibi, paket programı çalıştırmak için gerekli tüm kütüphaneleri içerir. AppImage programları korumalı değildir ve çalıştırılması için kök hakları gerekmez. Projenin web sitesine göre, AppImages Arch Linux, Centos, Debian, Fedora, OpenSUSE, Red Hat Linux ve Ubuntu'da çalışmalı.


3
Solus, Ocak 2017'de flatpak'a destek açıkladı
Anthon

8
Hepsi de sadece uygulama üzerine inşa edilmiş olmalıydı. Aynı ideolojiyi yeniden icat etmek, parçalanma ve kafa karışıklıklarını ortaya koymak yerine. Ayrıca, bu taşınabilir paketlerin tüm kitaplıklara sahip olduğundan, apt veya .deb aracılığıyla yüklenen paylaşılan kitaplıkları kullanan bir uygulamaya kıyasla, boyutlarının oldukça daha ağır olacağını unutmayın. Hangisinin daha popüler olduğunu bilmek zorundaysanız, flatpak şu anda çırpıyor.
CevapSeeker

Spectre saldırısı şimdi vahşi durumdayken, güvenlik nedeniyle paylaşılan kütüphanelere daha az ilgi göstereceğinden şüpheleniyorum. :-)
Chris

4
@answerSeeker: taşınabilir paketler hakkındaki yorumunuz "apt veya .deb ile yüklenen paylaşılan kütüphaneleri kullanan bir uygulamaya kıyasla çok daha ağırdır" , gerçek hayattaki gerçeklerle desteklenmez. AppImages ve Snaps, SquashFS görüntülerine sıkıştırılır (Flatpak için doğru değil). Çalışma sırasında bile asla diske alınmazlar. AppImages çalışırken, kendilerini geçici olarak oluşturulmuş bir bağlama noktasına kendilerine monte eder ve oradan kaçar /tmp/.mount_<random-chars>- hala sıkıştırılmış! Aşağıdaki cevabın ekran görüntüsündeki LibreOffice örneğinin rakamlarına bakın ...
Kurt Pfeifle

1
@PabloBianchi: daha yeni AppImages (daha yeni olan 'tip 2' çeşitliliğinden) yerleşik güncelleme mekanizmasına sahip olabilir. Bu, orijinal bir AppImage konumundan farklı bir delta indirir, yeni bir sürüm mevcut olduğunda ve kullanıcı istediğini belirttikten sonra indirme boyutunda ve zamanında tasarruf sağlar. Araçlar appimageupdatetool(CLI) ve AppImageUpdate-Qt(GUI) bu konuda yardımcı olur.
Kurt Pfeifle
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.