Ένας οδηγός για αρχάριους για Snaps στο Linux - Μέρος 1


Τα τελευταία χρόνια, η κοινότητα του Linux έχει ευλογηθεί με ορισμένες αξιοσημείωτες εξελίξεις στον τομέα της διαχείρισης πακέτων σε συστήματα Linux, ειδικά όταν πρόκειται για συσκευασία και διανομή λογισμικού καθολικής ή πολλαπλής διανομής. Μία από αυτές τις εξελίξεις είναι η μορφή πακέτου Snap που αναπτύχθηκε από την Canonical, τους κατασκευαστές του δημοφιλούς Ubuntu Linux.

Τι είναι τα πακέτα Snap;

Τα Snaps είναι εφαρμογές πολλαπλής διανομής, χωρίς εξαρτήσεις και εύκολες στην εγκατάσταση, συσκευασμένες με όλες τις εξαρτήσεις τους για εκτέλεση σε όλες τις μεγάλες διανομές Linux. Από μια ενιαία έκδοση, ένα snap (εφαρμογή) θα εκτελείται σε όλες τις υποστηριζόμενες διανομές Linux σε επιτραπέζιους υπολογιστές, στο cloud και στο IoT. Οι υποστηριζόμενες διανομές περιλαμβάνουν Ubuntu, Debian, Fedora, Arch Linux, Manjaro και CentOS/RHEL.

Τα Snaps είναι ασφαλή – περιορίζονται και περικλείονται στο sandbox έτσι ώστε να μην διακυβεύουν ολόκληρο το σύστημα. Λειτουργούν κάτω από διαφορετικά επίπεδα περιορισμού (που είναι ο βαθμός απομόνωσης από το βασικό σύστημα και μεταξύ τους). Πιο συγκεκριμένα, κάθε snap έχει μια διεπαφή που επιλέγεται προσεκτικά από τον δημιουργό του snap, με βάση τις απαιτήσεις του snap, για να παρέχει πρόσβαση σε συγκεκριμένους πόρους του συστήματος εκτός του περιορισμού τους, όπως πρόσβαση στο δίκτυο, πρόσβαση στην επιφάνεια εργασίας και άλλα.

Μια άλλη σημαντική έννοια στο οικοσύστημα snap είναι τα Κανάλια. Ένα κανάλι καθορίζει ποια έκδοση ενός snap εγκαθίσταται και παρακολουθείται για ενημερώσεις και αποτελείται από και υποδιαιρείται από κομμάτια, επίπεδα κινδύνου και κλάδους.

Τα κύρια στοιχεία του συστήματος διαχείρισης πακέτων snap είναι:

  • snapd – η υπηρεσία παρασκηνίου που διαχειρίζεται και διατηρεί τα snap σας σε ένα σύστημα Linux.
  • snap – τόσο η μορφή του πακέτου εφαρμογής όσο και το εργαλείο διεπαφής γραμμής εντολών που χρησιμοποιείται για την εγκατάσταση και την κατάργηση snaps και για την πραγματοποίηση πολλών άλλων πραγμάτων στο οικοσύστημα snap.
  • snapcraft – το πλαίσιο και το ισχυρό εργαλείο γραμμής εντολών για τη δημιουργία snaps.
  • snap store – ένα μέρος όπου οι προγραμματιστές μπορούν να μοιραστούν τα snaps τους και οι χρήστες Linux να τα αναζητήσουν και να τα εγκαταστήσουν.

Επιπλέον, τα snaps ενημερώνονται επίσης αυτόματα. Μπορείτε να διαμορφώσετε πότε και πώς θα πραγματοποιούνται οι ενημερώσεις. Από προεπιλογή, ο δαίμονας snapd ελέγχει για ενημερώσεις έως και τέσσερις φορές την ημέρα: κάθε έλεγχος ενημέρωσης ονομάζεται ανανέωση. Μπορείτε επίσης να ξεκινήσετε με μη αυτόματο τρόπο μια ανανέωση.

Πώς να εγκαταστήσετε το Snapd στο Linux

Όπως περιγράφηκε παραπάνω, ο δαίμονας snapd είναι η υπηρεσία παρασκηνίου που διαχειρίζεται και διατηρεί το περιβάλλον snap σας σε ένα σύστημα Linux, εφαρμόζοντας τις πολιτικές περιορισμού και ελέγχοντας τις διεπαφές που επιτρέπουν στα snaps να πρόσβαση σε συγκεκριμένους πόρους του συστήματος. Παρέχει επίσης την εντολή snap και εξυπηρετεί πολλούς άλλους σκοπούς.

Για να εγκαταστήσετε το πακέτο snapd στο σύστημά σας, εκτελέστε την κατάλληλη εντολή για τη διανομή Linux.

------------ [On Debian and Ubuntu] ------------ 
sudo apt update 
sudo apt install snapd

------------ [On Fedora Linux] ------------
dnf install snapd			

------------ [On CentOS and RHEL] ------------
yum install epel-release 
yum install snapd		

------------ [On openSUSE - replace openSUSE_Leap_15.0 with the version] ------------
sudo zypper addrepo --refresh https://download.opensuse.org/repositories/system:/snappy/openSUSE_Leap_15.0 snappy
sudo zypper --gpg-auto-import-keys refresh
sudo zypper dup --from snappy
sudo zypper install snapd

------------ [On Manjaro Linux] ------------
pacman -S snapd

------------ [On Arch Linux] ------------
git clone https://aur.archlinux.org/snapd.git
cd snapd
makepkg -si

Αφού εγκαταστήσετε το snapd στο σύστημά σας, ενεργοποιήστε τη μονάδα systemd που διαχειρίζεται την κύρια υποδοχή επικοινωνίας snap, χρησιμοποιώντας τις εντολές systemctl ως εξής.

Στο Ubuntu και στα παράγωγά του, αυτό θα πρέπει να ενεργοποιείται αυτόματα από το πρόγραμμα εγκατάστασης του πακέτου.

sudo systemctl enable --now snapd.socket

Λάβετε υπόψη ότι δεν μπορείτε να εκτελέσετε την εντολή snap εάν το snapd.socket δεν εκτελείται. Εκτελέστε τις ακόλουθες εντολές για να ελέγξετε εάν είναι ενεργό και αν είναι ενεργοποιημένο για αυτόματη εκκίνηση κατά την εκκίνηση του συστήματος.

sudo systemctl is-active snapd.socket
sudo systemctl status snapd.socket
sudo systemctl is-enabled snapd.socket

Στη συνέχεια, ενεργοποιήστε την υποστήριξη κλασικού snap δημιουργώντας έναν συμβολικό σύνδεσμο μεταξύ /var/lib/snapd/snap και /snap ως εξής.

sudo ln -s /var/lib/snapd/snap /snap

Για να ελέγξετε την έκδοση του snapd και του εργαλείου γραμμής εντολών snap που είναι εγκατεστημένο στο σύστημά σας, εκτελέστε την ακόλουθη εντολή.

snap version 

Πώς να εγκαταστήσετε το Snaps στο Linux

Η εντολή snap σάς επιτρέπει να εγκαταστήσετε, να διαμορφώσετε, να ανανεώσετε και να αφαιρέσετε snaps και να αλληλεπιδράσετε με το μεγαλύτερο οικοσύστημα snap.

Πριν εγκαταστήσετε ένα snap, μπορείτε να ελέγξετε αν υπάρχει στο snap store. Για παράδειγμα, εάν η εφαρμογή ανήκει στην κατηγορία "διακομιστές συνομιλίας " ή "πρόγραμμα αναπαραγωγής πολυμέσων", μπορείτε να εκτελέσετε αυτές τις εντολές για να την αναζητήσετε, η οποία θα υποβάλει ερώτημα στο κατάστημα για διαθέσιμα πακέτα στο σταθερό κανάλι.

snap find "chat servers"
snap find "media players"

Για να εμφανίσετε λεπτομερείς πληροφορίες σχετικά με ένα snap, για παράδειγμα, διακομιστή rocketchat, μπορείτε να καθορίσετε το όνομα ή τη διαδρομή του. Σημειώστε ότι τα ονόματα αναζητούνται τόσο στο snap store όσο και στα εγκατεστημένα snaps.

snap info rocketchat-server

Για να εγκαταστήσετε ένα snap στο σύστημά σας, για παράδειγμα, rocketchat-server, εκτελέστε την ακόλουθη εντολή. Εάν δεν παρέχονται επιλογές, εγκαθίσταται ένα snap που παρακολουθεί το κανάλι "σταθερό", με αυστηρό περιορισμό ασφαλείας.

sudo snap install rocketchat-server

Μπορείτε να επιλέξετε την εγκατάσταση από διαφορετικό κανάλι: edge, beta ή υποψήφιος, για τον έναν ή τον άλλο λόγο, χρησιμοποιώντας το Επιλογές --edge, --beta ή --candidate αντίστοιχα. Ή χρησιμοποιήστε την επιλογή --channel και καθορίστε το κανάλι από το οποίο θέλετε να εγκαταστήσετε.

sudo snap install --edge rocketchat-server        
sudo snap install --beta rocketchat-server
sudo snap install --candidate rocketchat-server

Διαχείριση Snaps στο Linux

Σε αυτή την ενότητα, θα μάθουμε πώς να διαχειριζόμαστε snaps σε σύστημα Linux.

Προβολή εγκατεστημένων Snaps

Για να εμφανίσετε μια σύνοψη των snaps που είναι εγκατεστημένα στο σύστημά σας, χρησιμοποιήστε την ακόλουθη εντολή.

snap list

Για να παραθέσετε την τρέχουσα αναθεώρηση ενός snap που χρησιμοποιείται, καθορίστε το όνομά του. Μπορείτε επίσης να παραθέσετε όλες τις διαθέσιμες αναθεωρήσεις του προσθέτοντας την επιλογή --all.

snap list mailspring
OR
snap list --all mailspring

Ενημέρωση και επαναφορά Snaps

Μπορείτε να ενημερώσετε ένα καθορισμένο στιγμιότυπο ή όλα τα στιγμιότυπα στο σύστημα, εάν κανένα δεν έχει καθοριστεί ως εξής. Η εντολή refresh ελέγχει το κανάλι που παρακολουθείται από το snap και κατεβάζει και εγκαθιστά μια νεότερη έκδοση του snap, εάν είναι διαθέσιμη.

sudo snap refresh mailspring
OR
sudo snap refresh		#update all snaps on the local system

Μετά την ενημέρωση μιας εφαρμογής σε νέα έκδοση, μπορείτε να επιστρέψετε σε μια προηγούμενη έκδοση χρησιμοποιώντας την εντολή επαναφορά. Σημειώστε ότι τα δεδομένα που σχετίζονται με το λογισμικό θα επαναφερθούν επίσης.

sudo snap revert mailspring

Τώρα, όταν ελέγχετε όλες τις αναθεωρήσεις του mailspring, η πιο πρόσφατη αναθεώρηση είναι απενεργοποιημένη, μια αναθεώρηση που χρησιμοποιήθηκε στο παρελθόν είναι πλέον ενεργή.

snap list --all mailspring

Απενεργοποίηση/Ενεργοποίηση και κατάργηση Snaps

Μπορείτε να απενεργοποιήσετε ένα snap εάν δεν θέλετε να το χρησιμοποιήσετε. Όταν απενεργοποιηθεί, τα δυαδικά αρχεία και οι υπηρεσίες ενός snap δεν θα είναι πλέον διαθέσιμα, ωστόσο, όλα τα δεδομένα θα εξακολουθούν να υπάρχουν.

sudo snap disable mailspring

Εάν πρέπει να χρησιμοποιήσετε ξανά το snap, μπορείτε να το ενεργοποιήσετε ξανά.

sudo snap enable mailspring

Για να αφαιρέσετε ένα στιγμιότυπο από το σύστημά σας, χρησιμοποιήστε την εντολή αφαίρεση. Από προεπιλογή, όλες οι αναθεωρήσεις ενός snap καταργούνται.

sudo snap remove mailspring

Για να καταργήσετε μια συγκεκριμένη αναθεώρηση, χρησιμοποιήστε την επιλογή --revision ως εξής.

sudo snap remove  --revision=482 mailspring

Είναι σημαντικό να σημειώσετε ότι όταν αφαιρείτε ένα snap, τα δεδομένα του (όπως δεδομένα εσωτερικού χρήστη, συστήματος και διαμόρφωσης) αποθηκεύονται από το snapd (έκδοση 2.39 και νεότερη) ως στιγμιότυπο και αποθηκεύεται στο σύστημα για 31 ημέρες. Σε περίπτωση που επανεγκαταστήσετε το snap εντός 31 ημερών, μπορείτε να επαναφέρετε τα δεδομένα.

συμπέρασμα

Τα Snaps γίνονται όλο και πιο δημοφιλή στην κοινότητα Linux καθώς παρέχουν έναν εύκολο τρόπο εγκατάστασης λογισμικού σε οποιαδήποτε διανομή Linux. Σε αυτόν τον οδηγό, δείξαμε πώς να εγκαταστήσετε και να εργαστείτε με snaps στο Linux. Καλύψαμε τον τρόπο εγκατάστασης του snapd, εγκατάστασης snaps, προβολής εγκατεστημένων snaps, ενημέρωσης και επαναφοράς snaps και απενεργοποίησης/ενεργοποίησης και κατάργησης snaps.

Μπορείτε να κάνετε ερωτήσεις ή να επικοινωνήσετε μαζί μας μέσω της παρακάτω φόρμας σχολίων. Στο επόμενο μέρος αυτού του οδηγού, θα καλύψουμε τη διαχείριση snaps (εντολές, ψευδώνυμα, υπηρεσίες και στιγμιότυπα) στο Linux.