Snapd, Flatpak, AppImage… Aralarındaki Farklar ve Hangisi Sizin Kullanımınız İçin Daha Uygun?

Linux’ta Uygulamaları Snap, Flatpak ve AppImage olmak üzere üç farklı yoldan  dağıtımınıza yükleyebilirsiniz. Bu yazımızda, bunlardan hangisinin sizin kullanımınıza daha uygun olduğuna bakıyoruz.

Snapd, Flatpak, AppImage gibi paket yönetim sistemlerini duymuşsunuzdur. Bu üçü Linux üzerinde yazılım kurulumu görevini yerine getirirler ve elbette karşılaştırılırlar. Üçü de dağıtımdan bağımsız paket yöneticileridir. Yani çalıştırdığınız dağıtım ne olursa olsun, herhangi bir Linux sisteminde kullanılabilirler.

Paket yöneticileri, geliştiricilerin Linux sistemlerindeki uygulamaları paketlemesini, dağıtmasını, yüklemesini ve bakımını yapmasını sağlar. Dağıtımdan bağımsız paket yöneticileri ise, bir Linux platformuna bağlı olan “.deb” ve “.rpm” gibi geleneksel paket yöneticilerinden farklıdır.

Dağıtımdan Bağımsız Paket Yönetim Sistemleri ve Geleneksel Paket Yöneticileri

Dağıtımdan bağımsız paket yönetitim sistemleri, geleneksel paket yöneticilerinden farklı olarak, uygulamaları tek bir paket halinde yüklemek ve çalıştırmak için gerekli tüm bağımlılıkları bir araya getirir. Bu nedenle, bu ağıtımdan bağımsız paket yönetim sistemleri tarafından sunulan herhangi bir yazılım, kendisini destekleyen herhangi bir Linux sisteminde çalışır.

Geleneksel paket yöneticileri, belirli bir platform için oluşturulmuş uygulamaları barındırır ve kullanıcıların(veya paket yöneticisinin kendisinin) paketin sistem üzerinde çalışması için gerekli bağımlılıkları da ayrıca yüklemeleri gerekir. Bu, geleneksel paket yöneticileri için önemli bir dezavantaj olarak görülebilir.

Aancak dağıtım bağımlı paket yöneticileri için dikkat edilmesi gereken bir husus vardır.

Bir geliştirici, çalışmalarını dağıtmak için dağıtımdan bağımsız paket yöneticilerini kullandığında, bağımlılıkların en son güvenlik yamalarıyla birlikte güncel olmasını sağlamaktan tam olarak sorumludur. Aksi taktirde, paket, sistem için bir güvenlik tehdidi oluşturur. İşte bunun için, geleneksel yazılım paketleri, geliştiricileri tarafından korunur ve bu geliştiriciler bağımlılıkların en son güvenlik güncellemeleriyle birlikte yüklenmesini sağlar.

Snap, Flatpak, AppImage

1. Snapd

Snapd, Canonical tarafından geliştirilen ve ilk olarak 2014 yılında piyasaya sürülen, dağıtımdan bağımsız bir paket yönetim sistemidir.

Bu paket yönetim sisteminin geliştirilmesinin arkasındaki temel amaç, yazılım paketlerinin çok çeşitli cihazlarda çalışabilmesi için tek bir birleşik sistem oluşturmaktı.

Snapd ayrıca, kullanıcıların yazılım paketlerini bulabileceği ve yükleyebileceği bir çevrimiçi uygulama mağazası olan Snapcraft‘ı da sunmaktadır. Kullanıcıların mevcut tüm paketleri bulabileceği büyük bir havuz oluşturur. Snapcraft, Canonical ekibi tarafından kontrol edilip korunur.

Snapcraft, uygulamanın kullanıcıları dışında uygulama geliştiricilerine de Snap paketleri yayınlama konusunda yönergeler sağlar. Ek olarak, Snapcraft hem açık hem de kapalı kaynak yazılımlarla birlikte gelir.

2. Flatpak

Snapd gibi Flatpak da Linux sistemlerinde genel uygulama dağıtımını ve kullanımını basitleştirmeyi amaçlayan, dağıtımdan bağımsız bir başka paket yönetim sistemidir.

Flatpak 2015 yılında Red Hat, Endless Computers ve Collabora tarafından LGPL lisansıyla resmi olarak piyasaya sürüldü.

Snapd uygulamasının Snapcraft mağazası gibi, Flatpak da kullanıcıların tüm Flatpak paketlerini bulabileceği ve kurabileceği Flathub uygulama mağazasına sahiptir.

Yazılım paketlerini yüklemek ve güncellemek için, Canonical tarafından kontrol edilen tek bir depo olan Snap’in aksine, Flatpak çoklu depo kullanımını destekler.

3. AppImage

AppImage, 2004 yılında ilk kez Kik adıyla yayınlanan, bir başka yaygın dağıtımdan bağımsız paket yönetim sistemidir.

Taşınabilir bir paket sistemi olarak kabul edilen “Bir uygulama-bir dosya” kavramını izler. Bu da tek bir uygulama ve uygulamanın çalışması için gereken her şeyi içeren düzenli bir bağımsız dosya demektir. Uygulamayı çalıştırmak için kullanıcının yalnızca çalıştırılabilir hale getirmesi ve çalıştırmak için üzerine çift tıklaması yeterlidir.

Kullanıcılar paketleri AppImage web sitesinde bulabilirler. Burada dikkat edilmesi gereken diğer bir özellik, Snapd ve Flatpak’tan farklı olarak, paket güncellemelerini yüklemek için bir havuz kullanmamasıdır. Bunun yerine, AppImage paketi güncelleştirmelerin nasıl yükleneceği hakkında ek bilgilerle birlikte gelir. Bu güncelleme bilgileri olmayan paketler AppImageUpdate gibi bir araçla güncellenebilir.

İzinler

Çoğu yazılımın sorunsuz çalışması için farklı sistem özelliklerine erişmesi gerekir. Bu paket yönetim biçimlerinden bazıları, kullanıcılara bu izinleri denetlemek için basit bir yol sunar.

Snapd, kullanıcı tarafından denetlenen izinler için hem grafik hem de komut satırı arabirimi sağlar. Snapd uygulama izinlerini yönetmek için Ubuntu Yazılım Merkezi’ni kullanabilirsiniz.

Flatpak ta kullanıcılara bir izin kontrol arabirimi sağlar. Flatpak uygulama izinlerini grafik olarak yönetmek için GNOME Yazılım Merkezi’ni kullanabilirsiniz.

AppImage kullanıcı izin kontrolleri sunmamaktadır. Ancak, geliştiriciler bu özelliğin gelecekte uygulanabileceği konusunda ışık yakmışlardır.

Uygulama Taşınabilirliği

Bir AppImage yazılımı, Windows sistemindeki çalıştırılabilir ‘.exe’ dosyasına benzer. Çalışması için gereken her şeyi içerir. Uygulamayı çalıştırmak için kullanıcının yalnızca çalıştırılabilir yapması ve başlatmak için üzerine çift tıklaması yeterlidir.

Snapd ve Flatpak’ta durum böyle değildir. Ancak, yazılımın kendisi ve bağımlılıkları paketlenerek taşınabilir hale getirilebilir. Tüm bu süreç AppImage kadar kolay değildir ve birden fazla Terminal komutunun çalıştırılmasını gerektirir.

Bitirirken…

Dağıtımdan bağımsız üç paket yönetim sisteminin her birinin avantaj ve dezavantajları vardır elbette ve sistemlerdeki yazılımların keyfini çıkarabildiğiniz sürece belirli bir paket yönetim sistemine bağlı kalmanız da gerekmez.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir