11.01.2022

Flatpak

Fedora, flatpak adındaki ek paket yönetim sistemini kullanıyor. Zaten rpm paket yöneticisi vardı, bir de ek paket yöneticisine niye ihtiyaç duyuldu sorusuna iki şekilde cevap verilebilir; birincisi her türlü paket depolarda yok. Çoğu dağıtım özgür ve açık kaynak kodlu yazılımlara sahip depoları varsayılan olarak hizmete sunuyor ama özgür yazılımlar her ihtiyaca cevap veremeyebiliyor. Bu gibi durumlarda rpmfusion depolarını etkinleştirmek, ya da copr gibi (Ubuntu'da ppa gibi, Manjaro'da AUR gibi) ek çözümler kullanılabilir. Flatpak, Snap ve AppImage de bu açıdan benzer bir amaca sahip. Ama cevabın ikinci kısmı; sandbox ortamı. Yani izole bir çalışma ortamı. Buradaki izlosyon ile bilgi güvenliği amaçlı izolasyon kastedilmiyor olabilir; benim gördüğüm kadarıyla sadece paket bağımlılıkları açısından bir yalıtım söz konusu. Flatpak ile yüklenmek istenen paketin bağımlılıkları sistemde yüklü olan sürümlerle aynı olmak zorunda değil. Bu işin dezavantajları da yok değil, ama bazı durumlarda kullanmak avantajlı olabilir. Nasıl kuracağımıza gelirsek, Fedora'da varsayılan olarak yüklü geliyor ama önce gelip gelmediğine bi bakalım:

$ rpm -q flatpak

veya 

$ dnf list installed flatpak

yüklü değilse de flatpak'i yüklemek gerek:

$ sudo dnf install flatpak

Bir sonraki adımda bu vesileyle sadece Fedora'da değil, Ubuntu'da da kullanılabildiğini öğrendiğim flathub deposunu ekleyeceğiz. Ama önce var mı, yok mu bi kontrol edelim:

$ flatpak remotes

Yoksa depoyu ekleyelim:

$ sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Aradığımız paketi https://flathub.org/home adresinden ya da komut satırından, örneğin

$ flatpak  search spotify

şeklinde arayıp bulabiliriz. Ben örnek olması açısından Spotify'ı ve Nootka'yı yükleyeceğim:

$ sudo flatpak install flathub com.spotify.Client

$ sudo flatpak install flathub net.sf.nootka

Bir GUI varsa menüye kısayolları eklenebilir, ama olmaması durumunda yüklenen uygulama komut satırından şu şekilde çalıştırılabilir:

$ flatpak run com.spotify.Client

Kurulu paketleri listelemek için

$ flathub list

Bu şekilde kurulan çalışma zamanı kütüphaneleri de listelenir. Sadece flatpak'e kurmasını komutunu verdiğimiz uygulamaları görmek istersek:

$ flathub list --app

ya da tam tersi çalışma zamanı kütüphanelerini istersek

$ flathub list --runtime

Kurulu tüm uygulamaları (veya belli bir uygulamayı) güncllemek için

$ flatpak update (veya paket adıyla herhngi bir paket de güncellenebilir)

Flatpak kayıtları journalctl ile tutulur. Ayrıca flatpak'in history komutu da kullanılabilir.

Flatpak'e benzeyen snap ve AppImage var.

Hiç yorum yok: