Rehber GNU/Linux için Alternatif Paket Yöneticisi: Flatpak

1608703941503.png

Flatpak​

Flatpak daha önce rehberini hazırladığım Snap ile benzer görevleri üstlenen bir paket yöneticisidir. 28 dağıtıma direkt destek sağlıyor, şuradan hangileri olduğunu ve nasıl kurulduğunu görebilirsiniz. Ben en yaygın iki dağıtım için göstereceğim.
Ubuntu 18.0 ve sonrası ve Debian: sudo apt install flatpak
Ubuntu 18.0 ve öncesi:
Kod:
 sudo add-apt-repository ppa:alexlarsson/flatpak
sudo apt update
sudo apt install flatpak
Repository eklemek için: flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo


Nasıl Kullanılır?

Paket Kurmak

flatpak install paketismi

Paket Kaldırmak

flatpak uninstall paketismi

Remote Listesi (Eklediğiniz Repo'lar)

flatpak remotes

Remote Eklemek

flatpak remote-add --if-not-exists remote_ismi remote_linki

Remote Kaldırmak

flatpak remove-delete remote_ismi

Paket Aramak

flatpak search paket_ismi

Paketi Çalıştırmak

flatpak run paket-id

Paket Güncellemek​

flatpak update

İndirilen Paketleri Listelemek​

flatpak list

Kullanılmayan Eklentileri Kaldırmak​

flatpak uninstall -unused

Bozuk Paketleri Onarmak​

flatpak repair

Flatpak'ı Kurduğundan İtibaren Yapılan Değişiklikler​

flatpak history

Komutları Öğrenmek için

flatpak --help

Flathub
Komut satırından uğraşmak yerine bir web ve uygulama arayüzü de bulunuyor. Web sitesine gitmek için: Flathub—An app store and build service for Linux

Uygulama arayüzünü kurmak için kod:
Kod:
sudo apt install gnome-software-plugin-flatpak
 
Tam olarak nasıl daha güvenliymiş? Tam tersi olması gerekmiyor mu?

Sandbox acisindan daha iyiymis. Yani Flatpak'den yukledigin uygulamalar birbirine izole bir sekilde calisiyor. Dahili paket yoneticisinden yukledigin uygulamalar ise tam tersi bir sekilde calisiyor. Flatpak'den yukledigin uygulamalar icin root izni gerekmezken, dahili paket yoneticisinden yukledigin uygulamalar icin root izni gerekiyor. Ubuntu'da da Flatpak kullanilmasi bu yuzdenmis.
 
Ubuntu'da da Flatpak kullanilmasi bu yuzdenmis.

Ubuntu'da Snap kullanılıyor. İzole olması uygulamaların bir imaj şekinde olması ve loop olarak bağlanmasından. Yani bir anlamda uygulama kalıp şeklinde bağlanıyor ve tüm bağımlılıklar bu kalıbın içinde. Bu sebeple bağımlılık sorunu yaşamıyorsun, ama yapısından dolayı performans düşebiliyor. Ayrıca Snap uygulamalarda hiç bir düzenleme yapamıyorsun, yapılandırma dosyaları dahil, loop olarak bağlandığından her şey salt okunur. Bunun bir güvenlik sağladığını düşünmüyorum. Yani çıkış noktası bu değil, sonuç olarak bunu sağlayan özellikleri var. Amaç güvenlikse, Firejail kullanarak depodan kurduğun uygulamaları sandbox olarak çalıştırabilirsin.

Linux Mint ekibi Snap ile ilgili çekincelerini şurada listelemişti, inceleyebilirsin. Snap Store — Linux Mint User Guide documentation
 
Yani bir anlamda uygulama kalıp şeklinde bağlanıyor ve tüm bağımlılıklar bu kalıbın içinde.

Bu şekilde bazı uygulamalar için aynı bağımlılıklar yüklenmiş olmaz mı, dolayısıyla diskte çok daha fazla yer kaplamıyor mu? Her dağıtımda olan bir uygulamayı neden Snap veya Flatpak üzerinden yüklemeliyim ki?
 
Bu şekilde bazı uygulamalar için aynı bağımlılıklar yüklenmiş olmaz mı, dolayısıyla diskte çok daha fazla yer kaplamıyor mu?

Olur tabii ki. Sonuç da doğru. Snap uygulamaları sistemdeki mevcut bağımlılıkları da kullanmaz. Snap ve Flatpak paketleri ile kurulan uygulamalar sürüm ve dağıtım bağımsız uygulama desteği sağlar. Bu kullanıcıdan ziyade, geliştiricilerin işini kolaylaştırır. Tek paketle tüm dağıtımlar için uygulama dağıtabilirler. Fixed bir dağıtım kullanıyorsan, depodaki eski bağımlılıklar yüzünden güncel bir uygulamayı kuramama olasılığını azaltır.

Her dağıtımda olan bir uygulamayı neden Snap veya Flatpak üzerinden yüklemeliyim ki?

Fixed ve keskinuç olmayan bir dağıtım için konuşursak, Snap ya da Flatpak sürümü daha güncel olduğu için tercih edilebilir, başka da bir avantajı yok. Ya da depoda olmayan bir uygulama bunlarda varsa kullanılabilir.

Kendi adıma ikisini de kullanmıyorum. Mesela Linux Mint'te Flatpak desteği hazır geliyor, ama kaldırıyorum.

Bu arada Flatpak'te çalıştırma ortamı dosyaları uygulama paketlerinin içinde değil, yani uygulamalar Flatpak'ten yüklenen çalıştırma ortamı dosyalarını ortak kullanabiliyor.
 

Geri
Yukarı