3 Καλύτεροι Universal Package Managers για Linux το 2023


Η διαχείριση πακέτων ή η εγκατάσταση λογισμικού σε συστήματα Linux μπορεί να είναι πολύ αινιγματική ειδικά για αρχάριους (νέους χρήστες Linux), καθώς διαφορετικές διανομές Linux χρησιμοποιούν διαφορετικά παραδοσιακά συστήματα διαχείρισης πακέτων. Το πιο συγκεχυμένο μέρος όλων αυτών στις περισσότερες περιπτώσεις είναι η επίλυση/διαχείριση εξάρτησης πακέτου.

Για παράδειγμα, διανομές που βασίζονται στο Debian όπως το Ubuntu και το Linux Mint χρησιμοποιούν πακέτα .deb, τα οποία διαχειρίζονται μέσω του συστήματος διαχείρισης πακέτων dpkg.

Από την άλλη πλευρά, διανομές που βασίζονται σε RHEL, όπως CentOS Stream, Rocky Linux, και AlmaLinux χρησιμοποιούν .rpm πακέτα, τα οποία διαχειρίζονται χρησιμοποιώντας το σύστημα διαχείρισης πακέτων rpm.

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

Αυτά τα εργαλεία επιτρέπουν στους προγραμματιστές να πακετάρουν το λογισμικό ή τις εφαρμογές τους για πολλαπλές διανομές Linux, από μια ενιαία έκδοση, διευκολύνοντας τους χρήστες να εγκαταστήσουν το ίδιο πακέτο σε πολλαπλές υποστηριζόμενες διανομές.

Σε αυτό το άρθρο, θα εξετάσουμε τα 3 κορυφαία συστήματα διαχείρισης πακέτων γενικής χρήσης ή πολλαπλής διανομής για Linux.

1. Snap – Μια καθολική μορφή πακέτου

Το Snap είναι ένα δημοφιλές σύστημα διαχείρισης εφαρμογών/μορφών πακέτων και πακέτων ανοιχτού κώδικα που αναπτύχθηκε από την Canonical, τον κατασκευαστή του Ubuntu Linux. Πολλές διανομές Linux υποστηρίζουν πλέον snaps, συμπεριλαμβανομένων των Ubuntu, Debian, Fedora, Arch Linux, Manjaro και CentOS/RHEL.

Εύκολη εγκατάσταση και ενημερώσεις

Μια εφαρμογή snap είναι μια εφαρμογή πολλαπλής διανομής που συνοδεύεται από όλες τις εξαρτήσεις της (χωρίς εξαρτήσεις) για εύκολη εγκατάσταση με αυτόματες ενημερώσεις (οι εφαρμογές είναι πάντα ενημερωμένες) σε οποιαδήποτε διανομή Linux που υποστηρίζει snaps. Ένα snap μπορεί να εκτελεστεί σε επιτραπέζιο υπολογιστή, διακομιστή, στο cloud ή IoT (Internet of Things).

Για να δημιουργήσετε ή να αποτυπώσετε μια εφαρμογή, χρησιμοποιείτε το Snapcraft, ένα πλαίσιο και ένα ισχυρό εργαλείο γραμμής εντολών για τη δημιουργία snaps. Για να εγκαταστήσετε και να χρησιμοποιήσετε το snaps στο Linux απαιτείται να εγκαταστήσετε το snapd (ή το snappy daemon), μια υπηρεσία παρασκηνίου που επιτρέπει στα συστήματα Linux να λειτουργούν με αρχεία .snap. Η πραγματική εγκατάσταση των snaps γίνεται χρησιμοποιώντας το εργαλείο γραμμής εντολών snap.

Ασφάλεια και απομόνωση

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

Επιπλέον, το σύστημα διαχείρισης πακέτων snap χρησιμοποιεί μια έννοια που ονομάζεται κανάλια (η οποία αποτελείται από και υποδιαιρείται σε ίχνη, επίπεδα κινδύνου και κλάδους) για να καθορίσει ποια έκδοση ενός snap εγκαθίσταται και παρακολουθείται για ενημερώσεις. Το Snaps επίσης ενημερώνεται αυτόματα, μια διαδικασία που μπορείτε να διαχειριστείτε χειροκίνητα.

Για να βρείτε και να εγκαταστήσετε ένα snap, αναζητήστε το στο snap store (ένα μέρος όπου οι προγραμματιστές μπορούν να μοιραστούν τα στιγμιότυπά τους) ή διαβάστε περισσότερα σχετικά με αυτό χρησιμοποιώντας τους οδηγούς μας:

2. Flatpak – Συμβατότητα πολλαπλής διανομής

Το Flatpak είναι ένα πολύ γνωστό πλαίσιο ανοιχτού κώδικα για τη διανομή επιτραπέζιων εφαρμογών σε διανομές Linux. Αναπτύχθηκε από μια ανεξάρτητη κοινότητα, το Flatpak επιτρέπει την εγκατάσταση και εκτέλεση μιας ενιαίας έκδοσης εφαρμογής σε σχεδόν οποιαδήποτε διανομή Linux.

Υποστηρίζει συνολικά 25 διανομές, συμπεριλαμβανομένων των Fedora, Ubuntu, RHEL, CentOS, OpenSUSE ισχυρό> και Arch Linux και εκτελείται επίσης σε Raspberry Pi.

Οι χρόνοι εκτέλεσης του Flatpak παρέχουν πλατφόρμες κοινών βιβλιοθηκών που μια εφαρμογή μπορεί να αξιοποιήσει. Ωστόσο, σας διευκολύνει επίσης εξαιρετικά τον πλήρη έλεγχο των εξαρτήσεων, μπορείτε να ομαδοποιήσετε τις βιβλιοθήκες σας ως μέρος της εφαρμογής σας.

Το Flatpak συνοδεύεται από εύχρηστα εργαλεία κατασκευής και προσφέρει ένα συνεπές περιβάλλον (όμοιο σε όλες τις συσκευές και παρόμοιο με αυτό που έχουν ήδη οι χρήστες) ώστε οι προγραμματιστές να δημιουργήσουν και να δοκιμάσουν τις εφαρμογές τους.

Sandboxing για βελτιωμένη ασφάλεια

Το Flatpak κάνει τα πράγματα ασφαλή βάζοντας κάθε εφαρμογή στο sandbox της, με αυτόν τον τρόπο, οι εφαρμογές δεν μπορούν να μπλέξουν με το κύριο σύστημα ή άλλες εφαρμογές. Είναι πολύ βολικό όταν ασχολείστε με εφαρμογές από πηγές για τις οποίες δεν είστε σίγουροι.

Φιλικό προς τον χρήστη και προγραμματιστή

Μια χρήσιμη πτυχή του flatpak είναι η συμβατότητα προς τα εμπρός όπου το ίδιο flatpak μπορεί να εκτελεστεί σε διαφορετικές εκδόσεις της ίδιας διανομής, συμπεριλαμβανομένων των εκδόσεων που δεν έχουν κυκλοφορήσει ακόμη από τους προγραμματιστές. Επίσης, προσπαθεί και συνεχίζει να είναι συμβατό με νέες εκδόσεις διανομών Linux.

Εάν είστε προγραμματιστής, μπορείτε να κάνετε την εφαρμογή σας διαθέσιμη σε χρήστες Linux μέσω του Flathub, μιας κεντρικής υπηρεσίας για τη διανομή εφαρμογών σε όλες τις διανομές.

3. AppImage: Η φορητή εναλλακτική

Το AppImage είναι επίσης μια μορφή πακέτου ανοιχτού κώδικα που επιτρέπει στους προγραμματιστές να πακετάρουν μια εφαρμογή μία φορά, η οποία εκτελείται σε όλες τις μεγάλες διανομές επιτραπέζιου υπολογιστή Linux. Σε αντίθεση με τις προηγούμενες μορφές πακέτων, με το AppImage, δεν χρειάζεται να εγκαταστήσετε ένα πακέτο. Απλώς κατεβάστε την εφαρμογή που σκοπεύετε να χρησιμοποιήσετε, κάντε την εκτελέσιμη και εκτελέστε την – είναι τόσο απλό. Υποστηρίζει τους περισσότερους επιτραπέζιους υπολογιστές Linux 32-bit και 64-bit.

Δεν απαιτείται εγκατάσταση

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

Ευρεία συμβατότητα

Το AppImage έχει πολλά πλεονεκτήματα. Για τους προγραμματιστές, τους δίνει τη δυνατότητα να προσεγγίσουν όσο το δυνατόν περισσότερους χρήστες, ανεξάρτητα από τη διανομή Linux και την έκδοση που εκτελούν οι χρήστες. Για τους χρήστες, δεν χρειάζεται να ανησυχούν για τις εξαρτήσεις εφαρμογών, καθώς κάθε AppImage συνοδεύεται από όλες τις εξαρτήσεις της (μία εφαρμογή=ένα αρχείο). Η δοκιμή νέων εκδόσεων εφαρμογών είναι επίσης εύκολη με το AppImage.

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

Σύγκριση του Trio: Snap, Flatpak και AppImage

Ακολουθεί μια σύγκριση των τριών γενικών διαχειριστών πακέτων:

Feature Snap Flatpak AppImage
Package format Self-contained, compressed file Self-contained, compressed file Single executable file
Sandboxing Yes (by default) No (by default) No
Automatic updates Yes Optional No
Installation Requires snapd daemon Requires Flatpak runtime Does not require installation
Root privileges Requires root privileges to install Does not require root privileges to install Does not require root privileges to run

Ποιον Διαχειριστή Πακέτων Να Διαλέξω;

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

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

συμπέρασμα

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

Ποια είναι η γνώμη σας; Μοιραστείτε το μαζί μας μέσω της ενότητας σχολίων.