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
https://askubuntu.com/a/1040131
set -eu
snap list –all | awk ‘/disabled/{print $1, $3}’ |
while read snapname revision; do
snap remove “$snapname” –revision=”$revision”
done
++