Κυκλοφορία του αυτόνομου συστήματος πακέτων Flatpak 1.6.0

Δημοσίευσε νέος σταθερός κλάδος της εργαλειοθήκης Flatpack 1.6, το οποίο παρέχει ένα σύστημα για τη δημιουργία αυτόνομων πακέτων που δεν συνδέονται με συγκεκριμένες διανομές Linux και εκτελούνται σε ένα ειδικό κοντέινερ που απομονώνει την εφαρμογή από το υπόλοιπο σύστημα. Παρέχεται υποστήριξη για την εκτέλεση πακέτων Flatpak για το Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint και Ubuntu. Τα πακέτα Flatpak περιλαμβάνονται στο αποθετήριο Fedora και υποστηρίζονται από τον εγγενή διαχειριστή εφαρμογών GNOME.

Κλειδί καινοτομίες στον κλάδο Flatpak 1.6:

  • В Πύλη API έχει προστεθεί η μέθοδος CreateUpdateMonitor, η οποία επιτρέπει στις εφαρμογές να παρακολουθούν την εμφάνιση των ενημερώσεων και να ζητούν την εγκατάσταση της ενημερωμένης ενημέρωσης.
    Για να αρνηθείτε την άδεια σε μια εφαρμογή να εγκαθιστά ανεξάρτητα ενημερώσεις, μπορείτε να χρησιμοποιήσετε την εντολή "flatpak permission-set flatpak updates $APPID no" (εάν καθορίσετε "ρωτήστε" αντί για "όχι", θα εμφανίζεται ένα παράθυρο διαλόγου κάθε φορά για επιβεβαίωση εκσυγχρονίζω);


  • Για να απλοποιηθεί η δημιουργία χειριστών, προτείνεται μια βιβλιοθήκη
    libportal, το οποίο καθιστά δυνατή την επεξεργασία συμβάντων χωρίς απευθείας χρήση του Portal API και ανάλυσης σημάτων που προέρχονται από το D-Bus.
    Το Libportal παρέχει απλά ασύγχρονα επίπεδα για τους περισσότερους "πύλες";

  • Προστέθηκε νέα άδεια "--socket=cups" για την παροχή άμεσης πρόσβασης στον διακομιστή εκτύπωσης CUPS.
  • Άλλαξε το πρωτόκολλο και το API για τον χειρισμό του ελέγχου ταυτότητας. Προστέθηκε εργαλείο ελέγχου ταυτότητας για OCI (Open Container Initiative). Υλοποιήθηκε υποστήριξη για αυτόματη εγκατάσταση ελεγκτών ταυτότητας από το εξωτερικό αποθετήριο flatpak. Ένας χειριστής επανάκλησης έχει προστεθεί στο FlatpakTransaction για χρήση ελέγχου ταυτότητας σύνδεσης και κωδικού πρόσβασης, παρόμοια με τη βασική μέθοδο ελέγχου ταυτότητας HTTP.
  • Προστέθηκε υποστήριξη για προστατευμένες εφαρμογές και συστήματα που απαιτούν έλεγχο ταυτότητας κατά την εκκίνηση.
  • Το στρώμα περιτυλίγματος φυσαλίδων που χρησιμοποιείται για μόνωση έχει ενημερωθεί για απελευθέρωση 0.4.0;
  • Προστέθηκε προαιρετική υποστήριξη για γονικούς ελέγχους μέσω της εφαρμογής βιβλιοθήκης libmalcontent, που σας επιτρέπει να περιορίσετε την πρόσβαση σε ορισμένους τύπους περιεχομένου.
  • Οι επεκτάσεις εγκαθίστανται τώρα πριν από την εφαρμογή, επιτρέποντάς σας να αποκτήσετε μια εφαρμογή που λειτουργεί αμέσως μετά την ολοκλήρωση της εγκατάστασής της.
  • Οι χειρισμοί με προσωρινά αρχεία έχουν γίνει εκ νέου, γεγονός που έχει βελτιώσει την απόδοση όταν υπάρχει έλλειψη ελεύθερου χώρου στο δίσκο.
  • Για να εκτελέσετε την εντολή "flatpak εισάγετε"Δεν απαιτείται πλέον η χρήση sudo.
  • Η δυνατότητα εκκίνησης ένθετων απομονωμένων περιβαλλόντων (sub-sandbox) για θυγατρικές διεργασίες έχει προστεθεί στις πύλες.
  • Προστέθηκαν νέες εντολές "flatpak permission-set" και "permission-remove" για τον έλεγχο της ρύθμισης δικαιωμάτων.
  • Προστέθηκε η επιλογή "flatpak install --or-update", η οποία εκτελεί ενημέρωση εάν η εφαρμογή είναι ήδη εγκατεστημένη.
  • Προστέθηκε η εντολή "flatpak mask" για τη διόρθωση της έκδοσης και την απαγόρευση της εγκατάστασης ενημερώσεων.
  • Για εικόνες σε μορφή OCI (Open Container Initiative), έχει προστεθεί υποστήριξη για δέσμευση ετικετών, δημιουργία ιστορικού αλλαγών στην εικόνα και ενεργοποίηση τύπων mime docker, επιπλέον των τύπων mime OCI.
  • Το κλειδί προεπιλεγμένων γλωσσών έχει προστεθεί στις ρυθμίσεις για τον καθορισμό της λίστας των γλωσσών που χρησιμοποιούνται, εκτός από τη λίστα συστήματος.

Να σας υπενθυμίσουμε ότι το Flatpak δίνει τη δυνατότητα στους προγραμματιστές εφαρμογών να απλοποιήσουν τη διανομή των προγραμμάτων τους που δεν περιλαμβάνονται στα τυπικά αποθετήρια διανομής με προετοιμασίες ένα γενικό δοχείο χωρίς τη δημιουργία ξεχωριστών συγκροτημάτων για κάθε διανομή. Για χρήστες που γνωρίζουν την ασφάλεια, το Flatpak σάς επιτρέπει να εκτελέσετε μια αμφισβητήσιμη εφαρμογή σε ένα κοντέινερ, παρέχοντας πρόσβαση μόνο στις λειτουργίες δικτύου και στα αρχεία χρήστη που σχετίζονται με την εφαρμογή. Για χρήστες που ενδιαφέρονται για νέα προϊόντα, το Flatpak σάς επιτρέπει να εγκαταστήσετε τις πιο πρόσφατες δοκιμαστικές και σταθερές εκδόσεις εφαρμογών χωρίς να χρειάζεται να κάνετε αλλαγές στο σύστημα. Για παράδειγμα, επί του παρόντος τα πακέτα Flatpak είναι ήδη πρόκειται για LibreOffice, Firefox, GIMP, Inkscape, Kdenlive, Steam, 0 AD, Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio κ.λπ.

Για να μειωθεί το μέγεθος του πακέτου, περιλαμβάνει μόνο εξαρτήσεις για συγκεκριμένες εφαρμογές και οι βασικές βιβλιοθήκες συστήματος και γραφικών (βιβλιοθήκες Gtk+, Qt, GNOME και KDE, κ.λπ.) έχουν σχεδιαστεί ως τυπικά περιβάλλοντα χρόνου εκτέλεσης plug-in. Η βασική διαφορά μεταξύ Flatpak και Snap είναι ότι το Snap χρησιμοποιεί τα στοιχεία του κύριου περιβάλλοντος συστήματος και την απομόνωση που βασίζεται σε κλήσεις συστήματος φιλτραρίσματος, ενώ το Flatpak δημιουργεί ένα κοντέινερ ξεχωριστό από το σύστημα και λειτουργεί με μεγάλα σύνολα χρόνου εκτέλεσης, παρέχοντας όχι πακέτα ως εξαρτήσεις, αλλά τυπικά περιβάλλοντα συστήματος (για παράδειγμα, όλες οι βιβλιοθήκες που είναι απαραίτητες για τη λειτουργία προγραμμάτων GNOME ή KDE).

Εκτός από το τυπικό περιβάλλον συστήματος (runtime), εγκατεστημένο μέσω ειδικής αποθήκη, παρέχονται πρόσθετες εξαρτήσεις (πακέτο) που απαιτούνται για να λειτουργήσει η εφαρμογή. Συνολικά, ο χρόνος εκτέλεσης και το πακέτο αποτελούν το γέμισμα του κοντέινερ, παρά το γεγονός ότι ο χρόνος εκτέλεσης εγκαθίσταται χωριστά και συνδέεται με πολλά κοντέινερ ταυτόχρονα, γεγονός που σας επιτρέπει να αποφύγετε την αντιγραφή αρχείων συστήματος που είναι κοινά στα κοντέινερ. Ένα σύστημα μπορεί να έχει εγκατεστημένους πολλούς διαφορετικούς χρόνους εκτέλεσης (GNOME, KDE) ή πολλές εκδόσεις του ίδιου χρόνου εκτέλεσης (GNOME 3.26, GNOME 3.28). Ένα κοντέινερ με μια εφαρμογή ως εξάρτηση χρησιμοποιεί μια σύνδεση μόνο σε έναν συγκεκριμένο χρόνο εκτέλεσης, χωρίς να λαμβάνει υπόψη τα μεμονωμένα πακέτα που συνθέτουν τον χρόνο εκτέλεσης. Όλα τα στοιχεία που λείπουν συσκευάζονται απευθείας με την εφαρμογή. Όταν σχηματίζεται ένα κοντέινερ, τα περιεχόμενα χρόνου εκτέλεσης προσαρτώνται ως το διαμέρισμα /usr και το πακέτο προσαρτάται στον κατάλογο /app.

Η πλήρωση των δοχείων χρόνου εκτέλεσης και εφαρμογής διαμορφώνεται με χρήση τεχνολογίας OSTree, στο οποίο η εικόνα ενημερώνεται ατομικά από ένα αποθετήριο τύπου Git, το οποίο σας επιτρέπει να εφαρμόζετε μεθόδους ελέγχου έκδοσης στα στοιχεία της διανομής (για παράδειγμα, μπορείτε να επαναφέρετε γρήγορα το σύστημα σε προηγούμενη κατάσταση). Τα πακέτα RPM μεταφράζονται στο αποθετήριο OSTree χρησιμοποιώντας ένα ειδικό επίπεδο rpm-ostree. Δεν υποστηρίζεται ξεχωριστή εγκατάσταση και ενημέρωση πακέτων εντός του εργασιακού περιβάλλοντος· το σύστημα ενημερώνεται όχι σε επίπεδο μεμονωμένων στοιχείων, αλλά ως σύνολο, αλλάζοντας ατομικά την κατάστασή του. Παρέχει εργαλεία για την σταδιακή εφαρμογή ενημερώσεων, εξαλείφοντας την ανάγκη για πλήρη αντικατάσταση της εικόνας με κάθε ενημέρωση.

Το απομονωμένο περιβάλλον που δημιουργείται είναι εντελώς ανεξάρτητο από τη διανομή που χρησιμοποιείται και με σωστές ρυθμίσεις πακέτου, δεν έχει πρόσβαση σε αρχεία και διαδικασίες του χρήστη ή του κύριου συστήματος, δεν μπορεί να έχει άμεση πρόσβαση στον εξοπλισμό, με εξαίρεση την έξοδο μέσω DRI, και υποσύστημα δικτύου. Οργάνωση εξόδου και εισόδου γραφικών εφαρμόστηκε χρησιμοποιώντας το πρωτόκολλο Wayland ή μέσω προώθησης υποδοχής X11. Η αλληλεπίδραση με το εξωτερικό περιβάλλον βασίζεται στο σύστημα ανταλλαγής μηνυμάτων DBus και σε ένα ειδικό Portal API. Για μόνωση χρησιμοποιούνται ενδιάμεσο Χαρτί περιτυλίγματος με φυσαλίδες αέρα και παραδοσιακές τεχνολογίες εικονικοποίησης κοντέινερ Linux που βασίζονται στη χρήση cgroups, namespaces, Seccomp και SELinux. Το PulseAudio χρησιμοποιείται για την έξοδο ήχου.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο