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

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

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

  • Η υλοποίηση της εγκατάστασης σε λειτουργία P2P έχει απλοποιηθεί (σας επιτρέπει να οργανώσετε τη λήψη εφαρμογών και συνόλων χρόνου εκτέλεσης μέσω ενδιάμεσων κόμβων ή μονάδων δίσκου για συστήματα χωρίς σύνδεση δικτύου). Η υποστήριξη για εγκατάσταση μέσω ενδιάμεσων κεντρικών υπολογιστών στο τοπικό δίκτυο έχει διακοπεί. Από προεπιλογή, η αυτόματη παράπλευρη φόρτωση των αποθετηρίων που βρίσκονται σε τοπικές μονάδες USB είναι απενεργοποιημένη. Για να ενεργοποιήσετε τα ενδιάμεσα τοπικά αποθετήρια, πρέπει να διαμορφώσετε το αποθετήριο δημιουργώντας έναν συμβολικό σύνδεσμο από το /var/lib/flatpak/sideload-repos ή
    /run/flatpak/sideload-repos. Η αλλαγή απλοποίησε την εσωτερική υλοποίηση της λειτουργίας P2P και αύξησε την αποτελεσματικότητά της.

  • Προστέθηκε προαιρετική μονάδα systemd για αυτόματη ανίχνευση πρόσθετων αποθετηρίων σε συνδεδεμένες εξωτερικές μονάδες USB.
  • Για εφαρμογές που έχουν πρόσβαση στο σύστημα αρχείων, ο κατάλογος /lib του περιβάλλοντος κεντρικού υπολογιστή προωθείται στο /run/host/lib.
  • Έχουν προστεθεί νέα δικαιώματα πρόσβασης FS - "host-etc" και "host-os", επιτρέποντας την πρόσβαση στους καταλόγους συστήματος /etc και /usr.
  • Για τη δημιουργία πιο αποτελεσματικού κώδικα ανάλυσης αρχείων, χρησιμοποιείται το GVariant από το ostreee μεταβλητής-σχήματος-μεταγλωττιστή.
  • Το configure build crypt παρέχει τη δυνατότητα δημιουργίας χωρίς
    libsystemd?

  • Ενεργοποιημένη τοποθέτηση υποδοχών περιοδικού σε λειτουργία μόνο για ανάγνωση.
  • Προστέθηκε υποστήριξη για εξαγωγή καταλόγων σε εξαγωγή εγγράφων.
  • Επιτρέπει την άμεση πρόσβαση σε συσκευές ήχου ALSA για εφαρμογές που έχουν πρόσβαση στο Pulseaudio.
  • Στο API FlatpakTransaction πρόσθεσε ένα σήμα "install-authenticator" που μπορεί να χρησιμοποιηθεί από τους πελάτες για να εγκαταστήσουν τους ελέγχους ταυτότητας που απαιτούνται για την ολοκλήρωση μιας συναλλαγής.
  • Ενεργοποιήθηκε η χρήση πληροφοριών ζώνης ώρας με βάση το /etc/localtime από το κεντρικό σύστημα, το οποίο επέλυσε ζητήματα που σχετίζονται με τη ζώνη ώρας σε ορισμένες εφαρμογές.
  • Σταμάτησε η εγκατάσταση του αρχείου env.d από το gdm καθώς οι γεννήτριες systemd είναι καλύτερες σε αυτήν την εργασία.
  • Το βοηθητικό πρόγραμμα δημιουργίας USB έχει ενεργοποιημένη από προεπιλογή τη μερική εξαγωγή δέσμευσης.
  • Το αρχείο sysusers.d έχει παρασχεθεί για τη δημιουργία των απαραίτητων χρηστών μέσω του systemd.
  • Η επιλογή "-[no-]follow-redirect" προστέθηκε στις εντολές "flatpak remote-add" και "flatpak modify" για να απενεργοποιήσετε/ενεργοποιήσετε την ανακατεύθυνση σε άλλο χώρο αποθήκευσης.
  • Στο σύστημα
    πύλες Προστέθηκε το Spawn API για να λάβετε το πραγματικό αναγνωριστικό διεργασίας (PID) της εφαρμογής που εκτελείται.

  • Όλα τα αποθετήρια OCI (Open Container Initiative) έχουν μετατραπεί για να χρησιμοποιούν το flatpak-oci-authenticator authenticator.
  • Προστέθηκε η επιλογή «--commit=» στις εντολές «flatpak remote-info» και «flatpak update» για να ορίσετε μια συγκεκριμένη έκδοση των αποθετηρίων OCI.
  • Προστέθηκε αρχική υποστήριξη για ενημερώσεις delta για αποθετήρια OCI.
  • Προστέθηκε η εντολή "flatpak upgrade", η οποία είναι ψευδώνυμο για την εντολή "flatpak update".
  • Υλοποιήθηκαν σενάρια ολοκλήρωσης εισόδου για το κέλυφος εντολών ψαριού.

Να σας υπενθυμίσουμε ότι το Flatpak δίνει τη δυνατότητα στους προγραμματιστές εφαρμογών να απλοποιήσουν τη διανομή των προγραμμάτων τους που δεν περιλαμβάνονται στα τυπικά αποθετήρια διανομής προετοιμασίες ένα γενικό δοχείο χωρίς τη δημιουργία ξεχωριστών συγκροτημάτων για κάθε διανομή. Για χρήστες που γνωρίζουν την ασφάλεια, το Flatpak σάς επιτρέπει να εκτελέσετε μια αμφισβητήσιμη εφαρμογή σε ένα κοντέινερ, παρέχοντας πρόσβαση μόνο στις λειτουργίες δικτύου και στα αρχεία χρήστη που σχετίζονται με την εφαρμογή. Για χρήστες που ενδιαφέρονται για νέα προϊόντα, το Flatpak σάς επιτρέπει να εγκαταστήσετε τις πιο πρόσφατες δοκιμαστικές και σταθερές εκδόσεις εφαρμογών χωρίς να χρειάζεται να κάνετε αλλαγές στο σύστημα. Για παράδειγμα, επί του παρόντος τα πακέτα Flatpak είναι ήδη πρόκειται για LibreOffice, Midori, GIMP, Inkscape, Kdenlive, Steam, 0 A.D., 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

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