unsnap, ένα εργαλείο για τη μετεγκατάσταση πακέτων snap στο flatpak
Το Snap είναι ένα σύστημα πακέτων που αναπτύχθηκε από την Canonical για Ubuntu και μπορεί να υλοποιηθεί σε λειτουργικά συστήματα που χρησιμοποιούν τον πυρήνα Linux και το σύστημα systemd init.
Αυτό το σύστημα πακέτων παρουσιάζεται ως ένα «καθολικό» σύστημα, το οποίο η Canonical έχει προωθήσει σε τέτοιο βαθμό που στις νέες εκδόσεις που σχεδιάζονται για το Ubuntu, έχει εγκαταλείψει την υποστήριξη για το Flatpak και έτσι ποντάρει τα πάντα στο δικό της σύστημα πακέτων.
Από την άλλη πλευρά, η Canonical αποφάσισε επίσης να κυκλοφορήσει μια έκδοση του Ubuntu εξ ολοκλήρου ως πακέτα Snap. Αυτή η είδηση δεν έγινε δεκτή με ικανοποίηση από πολλούς και έχει δημιουργήσει διχασμό εντός της κοινότητας, καθώς τα πακέτα Snap δεν είναι καθολικά αποδεκτά.
Σε απάντηση, έχουν εμφανιστεί διάφορα κινήματα για την προώθηση της χρήσης πακέτων Flatpak. Ένα από τα έργα που υποστηρίζουν τη μορφή Flatpak είναι το unsnap, το οποίο αναπτύσσεται ως εργαλείο για τη μετατροπή συστημάτων που βασίζονται στο Ubuntu από τη χρήση πακέτων snap σε πακέτα flatpak.
Το βοηθητικό πρόγραμμα όχι μόνο αντικαθιστά τον διαχειριστή πακέτων snap με flatpak, αλλά επιλέγει και εγκαθιστά αντίστοιχα του flatpak για πακέτα snap που είναι ήδη εγκατεστημένα στο σύστημα. Στην ιδανική περίπτωση, ο χρήστης μπορεί να αποκτήσει ένα εντελώς παρόμοιο σύνολο εφαρμογών, αλλά εγκατεστημένο σε μορφή flatpak.
σχετικά με το unsnap
Η μετεγκατάσταση εκτελείται σε διάφορα βήματα. Στο πρώτο βήμα, το unsnap δημιουργεί ένα σύνολο σεναρίων κελύφους που περιγράφουν τις λειτουργίες αντικατάστασης. Λαμβάνοντας υπόψη την τρέχουσα κατάσταση του συστήματος, δημιουργούνται ξεχωριστά σενάρια για τη δημιουργία αντιγράφων ασφαλείας του περιβάλλοντος snap, την εγκατάσταση του διαχειριστή πακέτων flatpak, την ενεργοποίηση αποθετηρίων flatpak, την εγκατάσταση ισοδύναμων flatpak για πακέτα snap που υπάρχουν ήδη στο σύστημα και την αφαίρεση πακέτων snap και του κιτ εργαλείων snapd από το σύστημα. Πριν από την εκτέλεση των αυτόματα δημιουργημένων σεναρίων, ο χρήστης μπορεί να τα επεξεργαστεί όπως απαιτείται.
Το έργο αναπτύσσεται από τον Alan Pope , έναν από τους προγραμματιστές του συστήματος Snap, ο οποίος αποχώρησε από την Canonical το 2021 μετά από 10 χρόνια στην εταιρεία. Το σύνολο εργαλείων εξακολουθεί να είναι πειραματικό (προ-άλφα) και περιορίζεται στην υποστήριξη του Ubuntu.
Από τα σχετικά έργα, ο συγγραφέας unsnap αναφέρει custom-desktop (ένα σύνολο σεναρίων για τη μετατροπή της σύνθεσης ενός ήδη εγκατεστημένου περιβάλλοντος Ubuntu) και το deb-get (ένα ανάλογο του apt-get για εργασία με πακέτα deb που βρίσκονται σε αποθετήρια τρίτων ή σε ιστότοπους).
Εκτός από τον διαχειριστή πακέτων, το έργο deb-get παρέχει έτοιμα προς εγκατάσταση μεταδεδομένα πακέτων τρίτων που μπορούν να χρησιμοποιηθούν για την αντικατάσταση πακέτων snap με πακέτα deb.
Το Unsnap μπορεί να εκτελέσει αυτόματα ένα σύνολο σεναρίων που δημιουργούνται:
- 00-backup : Εκτέλεση snap save για κάθε εγκατεστημένο snap που γίνεται μετεγκατάσταση
- 01-install-flatpak : Εάν δεν είναι ήδη εγκατεστημένο, θα εγκαταστήσει τον διαχειριστή πακέτων flatpak
- 02-enable-flathub : εάν δεν είναι ενεργοποιημένο, θα προσθέσει την απομακρυσμένη τοποθεσία flathub στο flatpak
- 03-install-flatpaks : εγκαθιστά ισοδύναμα flatpaks για κάθε αναγνωρισμένη προσθήκη
- 04-remove-snaps: αφαιρεί κουμπώματα για τα οποία έχουν εγκατασταθεί flatpaks
- 99-remove-snapd : αφαιρεί το snapd μόνο, το οποίο θα αφαιρέσει όλα τα πακέτα snap
Αναφέρεται ότι στο μέλλον, το unsnap σχεδιάζει να υποστηρίξει άλλες διανομές συμβατές με snap, όπως Manjaro, Linux Mint, Zorin, Debian, Fedora, Pop_OS!, KDE Neon, Raspbian, CentOS και Elementary OS. Οι χρήστες μπορεί επίσης να ενδιαφέρονται για τη λίστα των αναλογικών πακέτων που ετοιμάζει το έργο σε μορφές snap και flatpak.
Πώς να εγκαταστήσετε το unsnap στο Ubuntu;
Για όσους ενδιαφέρονται να μπορούν να εγκαταστήσουν αυτό το εργαλείο στο σύστημά τους, θα πρέπει να γνωρίζουν ότι η εγκατάσταση είναι αρκετά απλή και αρκεί να ανοίξουν ένα τερματικό και σε αυτό θα πληκτρολογήσουν τα εξής:
git clone https://github.com/popey/unsnap
cd unsnap
./unsnap
Το Unsnap λειτουργεί ως μια διαδικασία δύο σταδίων. Αρχικά, το Unsnap δημιουργεί ένα σύνολο σεναρίων που είναι υπεύθυνα για την εκτέλεση της πραγματικής μετεγκατάστασης των Instant Packages στο Flatpak. Αυτή η λειτουργία επιτρέπει στους χρήστες να βλέπουν και, εάν είναι απαραίτητο, να επεξεργάζονται τα σενάρια πριν από την εκτέλεση για να τα επικυρώνουν ή να τα τροποποιούν ανάλογα με τις ανάγκες τους.
Αφού δημιουργηθούν τα σενάρια, οι χρήστες μπορούν να τα εκτελέσουν με τη σειρά για να ολοκληρώσουν τη διαδικασία μετεγκατάστασης.
Ή, όπως αναφέρθηκε στην αρχή, αν προτιμάτε την εκτέλεση όλων των σεναρίων, απλώς πληκτρολογήστε:
./unsnap auto
Τέλος, αξίζει να αναφέρουμε ότι όπως κάθε διαδικασία μετεγκατάστασης, η σύσταση γίνεται για δημιουργία αντιγράφου ασφαλείας σημαντικών πληροφοριών, αφού ως εκ τούτου είναι η αφαίρεση και εγκατάσταση εφαρμογών, η οποία συνεπάγεται και αφαίρεση πληροφοριών.
Αν ενδιαφέρεστε να μάθετε περισσότερα, μπορείτε να βρείτε τις λεπτομέρειες στον παρακάτω σύνδεσμο.