Τα Snap Packages είναι η νέα γενιά πακέτων που διατέθηκε πρόσφατα στο κοινό (στους χρήστες) από τη Canonical, με την έλευση της έκδοσης 16.04 LTS.
Αυτή η νέα γενιά πακέτων υπόσχεται μεγαλύτερη ασφάλεια, καλύτερη διαχείριση λογισμικού και πάντα ενημερωμένο λογισμικό απευθείας από τον προγραμματιστή του.
Είναι μια γενιά πακέτων που αλλιώς ονομάζουμε self-contained και λειτουργούν εντελώς διαφορετικά απ’ ότι τα ήδη υπάρχοντα deb packages.
Η δημιουργία αυτού του τρόπου πακεταρίσματος αναπτύχθηκε καταρχήν για τις ανάγκες του IoT (Internet of Things), εκεί όπου η Canonical έχει διαθέσει πολλούς πόρους (έμψυχους και άψυχους).
Περισσότερα για τα Snap Packages, πως μπορείτε να τα χρησιμοποιείστε και πως λειτουργούν, μπορείτε να δείτε σε ένα καλογραμμένο Tutorial από τον Salih Emin στο Cerebrux.net.
Το αιώνιο πρόβλημα για τους προγραμματιστές, για όσους αναπτύσσουν εφαρμογές, σε σχέση με το Linux, ήταν οι πολλές διαφορετικές διανομές και συγκεκριμένα οι πολλοί διαφορετικοί διαχειριστές πακέτων.
Έτσι, όταν κάποιος δημιουργήσει μια εφαρμογή, αυτή θα πρέπει να γίνει διαθέσιμη σε διαφορετικά πακέτα, πχ deb , rpm …κ.α. και έπειτα να φροντίσει, είτε ο ίδιος ο προγραμματιστής είτε κάποιος package maintainer, να συγχρονίζει αυτά τα πακέτα με τον upstream κώδικα, όπως συνηθίζουμε να τον λέμε.
Πρόσφατα σε μια ανακοίνωσή της η Canonical, δείχνει πως τα Snap Packages μπορούν να λύσουν αυτό το αιώνιο πρόβλημα του κατακερματισμού των διανομών Linux.
Μάλιστα αναφέρει και δείχνει πως τα Snap Packages λειτουργούν ήδη φυσικά(natively) σε διανομές όπως: Arch, Debian, Fedora, Kubuntu, Lubuntu, Ubuntu GNOME, Ubuntu Kylin, Ubuntu MATE, Ubuntu Unity, και Xubuntu.
Επίσης αναφέρει πως έχει ξεκινήσει η διαδικασία της επαλήθευσης σε διανομές όπως: CentOS, Elementary, Gentoo, Mint, openSUSE, OpenWrt και RHEL.
Η διαδικασία δημιουργίας και συντήρησης ενός τέτοιου πακέτου (snap) είναι πραγματικά πιο απλή και εύκολη από οποιοδήποτε άλλο πακέτο υπάρχει αυτή τη στιγμή σε Linux.
Ο προγραμματιστής μπορεί να δημιουργήσει την εφαρμογή του σε snap package μορφή, έπειτα να την ανεβάσει σε ένα store (ας το πούμε snap store) και από εκεί και μετά να τη συντηρεί με τον ίδιο τρόπο.
Μια εφαρμογή, σε ένα πακέτο, για όλες τις διανομές Linux ! Πάντα συγχρονισμένο με τις ενημερώσεις του προγραμματιστή. Μπορεί αν θέλει να δημιουργήσει και διαφορετικές εκδόσεις, όπως stable, unstable, release candidate…κλπ.
Πραγματικά αυτό είναι ένα μεγάλο βήμα προς τα εμπρός και θα λύσει ένα χρόνιο πρόβλημα στο Linux οικοσύστημα.