Τι είναι ένα "AppImage"? Πώς το εγκαθιστώ;

Μόλις διάβασα Meet Etcher, A Stylish Open-Source USB Image Writer Tool. Μιλάει για τη λήψη ενός AppImage.

Ναι, Linux, τα πακέτα Linux διανέμονται ως .appimage για διανομές 32-bit και 64-bit και θα πρέπει να τρέχουν σε όλες τις μεγάλες διανομές Linux χωρίς προβλήματα. Η ομάδα προς το παρόν δεν σχεδιάζει να παρέχει ένα εγγενές πρόγραμμα εγκατάστασης .deb (ή .rpm).

Τι είναι τα AppImages; Πώς διαφέρουν από τα snaps;

Λύση

Βασικές πληροφορίες

Όσον αφορά την εγκατάσταση

Παραθέτω τη σελίδα του έργου appImage εδώ:

Τα appImages μπορούν να μεταφορτωθούν και να εκτελεστούν χωρίς εγκατάσταση ή την ανάγκη για δικαιώματα root.

Κάνοντας το εκτελέσιμο

Μπορείτε να κάνετε το appImage εκτελέσιμο ως εξής:

chmod a+x exampleName.AppImage

Εκτέλεση

Μπορείτε να εκτελέσετε ένα appImage ως εξής:

./exampleName.AppImage

Πρόσθετες πληροφορίες

Σχετικά με το appImage

Μπορείτε να βρείτε μερικές γενικές πληροφορίες σχετικά με το appImage εδώ. Παραθέτω τη σελίδα του έργου appImage εδώ: Η βασική ιδέα της μορφής AppImage είναι μία εφαρμογή = ένα αρχείο. Κάθε

AppImage περιέχει μια εφαρμογή και όλα τα αρχεία που χρειάζεται η εφαρμογή για να τρέξει. Στο άλλα λόγια, κάθε AppImage δεν έχει άλλες εξαρτήσεις εκτός από αυτό που είναι περιλαμβάνεται στο στοχευμένο βασικό λειτουργικό σύστημα (ή στα στοχευμένα λειτουργικά συστήματα). Wikipedia προσθέτει Το AppImage (και οι προκάτοχοι klik και portablelinuxapps) δεν εγκαθιστούν λογισμικό με την παραδοσιακή έννοια (δηλαδή, δεν τοποθετούν αρχεία παντού στο σύστημα). &gt, Χρησιμοποιεί ένα αρχείο ανά εφαρμογή. Κάθε ένα είναι αυτοτελές: περιλαμβάνει όλες τις βιβλιοθήκες της εφαρμογής εξαρτάται και δεν αποτελούν μέρος του βασικού συστήματος. Από την άποψη αυτή, είναι παρόμοιο με την "εικονικοποίηση εφαρμογών". Μπορεί κανείς να χρησιμοποιήσει ένα AppImage αρχείο ακόμη και αν δεν είναι υπερ-χρήστης ή αν χρησιμοποιεί ένα live CD. Τα αρχεία AppImage είναι συχνά απλούστερα από τη μεταγλώττιση και την εγκατάσταση ενός εφαρμογής, καθώς δεν πραγματοποιείται στην πραγματικότητα καμία εγκατάσταση. Το αρχείο AppImage είναι μια συμπιεσμένη εικόνα η οποία προσαρτάται προσωρινά για να επιτρέψει την πρόσβαση σε το πρόγραμμα, χωρίς όμως να χρειάζεται να εξαγάγετε το πρόγραμμα ή να τροποποιήσετε το υποκείμενο σύστημα. Το README.md του AppImageKit-project προσφέρει πολλές πρόσθετες πληροφορίες όπως περιπτώσεις χρήσης, το χώρο προβλημάτων και στόχους. Περιπτώσεις χρήσης

  • Ως χρήστης, θέλω να πάω σε μια upstream σελίδα λήψης, να κατεβάσω μια εφαρμογή από τον αρχικό συγγραφέα και να την τρέξω στο desktop σύστημα Linux μου, όπως ακριβώς θα έκανα με μια εφαρμογή Windows ή Mac.
  • Ως δοκιμαστής, θέλω να μπορώ να λαμβάνω την τελευταία έκδοση μιας εφαρμογής από έναν διακομιστή συνεχούς κατασκευής και να τη δοκιμάζω στο σύστημά μου, χωρίς να χρειάζεται να κάνω μεταγλώττιση και χωρίς να ανησυχώ ότι μπορεί να καταστρέψω το σύστημά μου.
  • Ως συγγραφέας εφαρμογών ή ISV, θέλω να παρέχω πακέτα για επιτραπέζια συστήματα Linux, όπως ακριβώς κάνω για τα Windows και το OS X, χωρίς την ανάγκη να τα βάλω σε μια διανομή και χωρίς να χρειάζεται να τα χτίζω για εκατομμύρια διαφορετικές διανομές. Στόχοι

  1. Να είστε απλοί. Το AppImage προορίζεται να είναι μια πολύ απλή μορφή που είναι εύκολο να να κατανοήσει, να δημιουργήσει και να διαχειριστεί.
  2. Να διατηρεί τη δυαδική συμβατότητα. Το AppImage είναι μια μορφή για τη δυαδική διανομή λογισμικού. Λογισμικό που συσκευάζεται ως AppImage προορίζεται να είναι όσο το δυνατόν πιο συμβατό με δυαδικό λογισμικό. όσο το δυνατόν με όσο το δυνατόν περισσότερα συστήματα. Η ανάγκη για (εκ νέου) μεταγλώττιση του λογισμικού θα πρέπει να μειωθεί σημαντικά.
  1. Να είναι διανεμητική. Ένα AppImage θα πρέπει να τρέχει σε όλα τα βασικά λειτουργικά συστήματα (διανομές).

    για τα οποία δημιουργήθηκε (και σε μεταγενέστερες εκδόσεις). Για παράδειγμα, θα μπορούσατε να στοχεύετε στο Ubuntu 9.10, το openSUSE 11.2 και το Fedora 13 (και μεταγενέστερες εκδόσεις) ταυτόχρονα, χωρίς να χρειάζεται να δημιουργήσετε και να διατηρήσετε ξεχωριστά πακέτα για κάθε σύστημα-στόχο.

  2. Κατάργηση της ανάγκης για εγκατάσταση.

    Τα AppImages περιέχουν την εφαρμογή σε μορφή που της επιτρέπει να εκτελείται απευθείας από το αρχείο, χωρίς να χρειάζεται να εγκατασταθεί πρώτα. Αυτό είναι συγκρίσιμο με ένα Live CD. Πριν από τα Live CD, τα λειτουργικά συστήματα έπρεπε να να εγκατασταθούν πρώτα πριν χρησιμοποιηθούν.

  3. Διατηρείτε τις εφαρμογές συμπιεσμένες συνεχώς.

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

  4. Επιτρέπει να τοποθετήσετε εφαρμογές οπουδήποτε.

    Τα AppImages είναι "relocatable", επιτρέποντας έτσι στον χρήστη να αποθηκεύει και να να τις εκτελεί από οποιαδήποτε τοποθεσία (συμπεριλαμβανομένων των CD-ROM, DVD, αφαιρούμενων δίσκους, στικάκια USB).

  5. Κάντε τις εφαρμογές μόνο για ανάγνωση.

    Δεδομένου ότι τα AppImages είναι μόνο για ανάγνωση εκ κατασκευής, ο χρήστης μπορεί λογικά να σίγουρος ότι μια εφαρμογή δεν τροποποιεί τον εαυτό της κατά τη διάρκεια της λειτουργίας.

  6. Μην απαιτείτε επαναμεταγλώττιση.

    Τα AppImages πρέπει να είναι δυνατόν να δημιουργηθούν από ήδη υπάρχοντα δυαδικά αρχεία, χωρίς την ανάγκη επαναμεταγλώττισης. Αυτό επιταχύνει σημαντικά την τη διαδικασία δημιουργίας AppImage, δεδομένου ότι δεν απαιτείται η συμμετοχή μεταγλωττιστή. Αυτό το επιτρέπει επίσης σε τρίτους να συσκευάζουν εφαρμογές κλειστού κώδικα ως AppImages. (Παρ' όλα αυτά, μπορεί να είναι επωφελές για το upstream οι προγραμματιστές εφαρμογών να χτίζουν από τον πηγαίο κώδικα ειδικά για την σκοπό της δημιουργίας ενός AppImage).

  7. Διατηρήστε το βασικό λειτουργικό σύστημα ανέγγιχτο.

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

  8. Μην απαιτείτε root.

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

Σχόλια (5)

Η βασική ιδέα μπορεί να μοιάζει παρόμοια μεταξύ των δύο συστημάτων, αλλά υπάρχουν κάποιες σχεδιαστικές διαφορές μεταξύ των snaps και των Appimages.

Ορισμένες "μεγάλες&quot- που μου έρχονται στο μυαλό είναι οι εξής:

  1. Ασφάλεια, όσον αφορά τον περιορισμό. Τα πακέτα Snap τρέχουν σε ένα sandbox και δεν επιτρέπεται να ξεφύγουν από αυτό και να φτάσουν σε άλλα μέρη του συστήματος που δεν πρέπει να αγγίξουν. Αυτό είναι ένα ισχυρότερο επίπεδο ασφάλειας που λειτουργεί παράλληλα με το σύστημα δικαιωμάτων. Προφανώς είναι λίγο απογοητευτικό όταν ασχολείστε με αυτό στην αρχή (αλλά και αργότερα), αλλά αν το σκεφτείτε από την άποψη της διαχείρισης του συστήματος, αυτό είναι το πράγμα που θέλει ένας διαχειριστής για τους χρήστες του.

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

  3. Εγκατάσταση. Τα AppImages προορίζονται να είναι το ισοδύναμο των "φορητών εκτελέσιμων αρχείων των Windows". Όλες οι βιβλιοθήκες είναι αυτοτελείς και οποιοσδήποτε χρήστης μπορεί απλά να κατεβάσει και να εκτελέσει μία από αυτές. Από την άλλη πλευρά, τα πακέτα snap είναι κανονικά πακέτα και πρέπει να εγκατασταθούν (ως root, ή με sudo) μέσω του διαχειριστή πακέτων apposite (το snap install tic-tac-toe πετάει ένα σφάλμα: χρειάζεται sudo!)

  4. Αφαίρεση. Για να αφαιρέσετε ένα πακέτο snap, πρέπει να χρησιμοποιήσετε τον διαχειριστή πακέτων snap remove ... με τα κατάλληλα δικαιώματα για να το κάνετε. Οι εικόνες εφαρμογών, από την άλλη πλευρά, είναι απλά "εκεί". Έτσι, κάθε χρήστης δεν θέλει αυτό το Appimage; Απλά αφαιρεί το αρχείο και αυτό εξαφανίζεται.

Αν και συνιστώ να είστε προσεκτικοί όταν χρησιμοποιείτε Appimages, προσωπικά χρησιμοποιώ και εγώ προσωπικά κάποια από αυτά.

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

Φοβάμαι λίγο ότι όντως περιέχεται σε αυτά κάποιος κακόβουλος κώδικας, γι' αυτό και έλεγξα όσο το δυνατόν περισσότερο την ταυτότητα του εκδότη. Δεν είμαι 100% σίγουρος ότι αυτό το λογισμικό είναι καλοήθης, αλλά έκανα ό,τι μπορούσα.

Σχόλια (5)

Ενώ το snap επικεντρώνεται μόνο στο Ubuntu, το AppImage είναι διανεμητικό και τρέχει επίσης σε Fedora, debian, openSUSE, CentOS κ.λπ.

Το AppImage δεν χρειάζεται υποστήριξη χρόνου εκτέλεσης ή υποδομής από τη διανομή Linux και επομένως τρέχει σχεδόν παντού. Επιτρέπει στους συγγραφείς εφαρμογών να στέλνουν το λογισμικό τους απευθείας στους χρήστες του Linux, όπως κάνουν για τα Windows και το OS X, χωρίς την Canonical ή οποιονδήποτε άλλον "ανάμεσα" στον συγγραφέα του λογισμικού και τον τελικό χρήστη.

Εάν μια εφαρμογή παρέχεται σε μορφή AppImage, τότε ο χρήστης μπορεί να μεταβεί στον αρχικό ιστότοπο του δημιουργού για να την κατεβάσει, π.χ. το MuseScore από το https://musescore.org/en/download. Κάντε το AppImage εκτελέσιμο (είτε χρησιμοποιώντας τον διαχειριστή αρχείων σας είτε chmod a+x ./yourAppImage), τότε μπορείτε να εκτελέσετε την εφαρμογή απλά κάνοντας διπλό κλικ.

Σχόλια (4)