Snap Paket Yöneticisi (Snappy/Snapcraft)

Snappy, Canonical firması tarafından Linux işletim sistemleri için geliştirilmiş olan bir paket yönetim sistemidir.

Deb, Yum vb paket yöneticilerinde kurulan yazılıma ilişkin bağımlılıklar cihazda kurulu değil ise yazılımla beraber cihaza kurulur. Bu tür sistemlerde yaşanan en büyük problem aynı bağımlılığı kullanan yazılımlarda yaşanır. Çünkü yazılımların ihtiyaç duyduğu bağımlılıklara ilişkin versiyon farkları uygulamalarda çeşitli problemelere neden olabilmektedir.

Snap isimli bu sistemde ise bağımlılıklar, uygulamaya özgü bir paket olarak ele alınmıştır. Yazılımın ihtiyaç duyduğu tüm kütüphaneler aynı paket içerisinde yüklenerek sadece o program ile ilişkilendirilir. Program kaldırıldığında ilişkilendirilen bağımlılıklarda onunla beraber kaldırılır. Bu şekilde yazılımın bağımlılıklar sebebiyle çalıştırılamama sorunu ortadan kaldırılmış olur. Benzer durum program güncellemeleri için de geçerlidir.

Bu paket yöneticisinin web sayfasına https://snapcraft.io/ adresinden ulaşabilirsiniz. Güncel birçok program bu sistem içerisinde yerine almaya başlamıştır. Snap yazılımına ait ayarlar yazılmın belirlemiş olduğu lokasyonlar içerisinde tutulmaktadır (kullanıcı erişimli veya erişimsiz)

Snap ile program kurmak oldukça basittir. Mesela Eclipse yazılımını kurmak için:

sudo snap install eclipse –classic

https://snapcraft.io/eclipse

Cihaza Snap kurmak için:

sudo apt install snapd


Bilgisayara kurulu olan snap yazılımlarını listelemek için ise:

sudo snap list –all

Snap kataloğu içerisinde arama yapmak için:

snap find anahtarkelime

Snapten program kaldırmak için:

sudo snap remove eclipse

sudo snap remove eclipse –revision=”384″

Snap içerisinde yapılan değişiklikleri görmek için:

snap changes

Snap programlarını güncellemek için:

sudo snap refresh

Snap güncellemesi sonrası önceki yüklemeler otomatik olarak kaldırılamamaktadır. list sorgusu sonucunda vermiş olduğumuz çıktıda yer alan Notes alanında disabled ibaresinin yer alıyor olması önceki versiyonun pasif edildiği anlamına gelmektedir (kendiniz pasif etmediyseniz)

!/bin/sh
set -eu
snap list –all | awk ‘/disabled/{print $1, $3}’ |
while read snapname revision; do
snap remove “$snapname” –revision=”$revision”
done

https://askubuntu.com/a/1040131

Share