DNF - Το βοηθητικό πρόγραμμα διαχείρισης πακέτων επόμενης γενιάς για διανομές βάσει RPM


Μια πρόσφατη είδηση εφιστά την προσοχή πολλών χρηστών Linux, επαγγελματιών και μαθητών ότι το "DNF" (δεν σημαίνει τίποτα επίσημα) πρόκειται να αντικαταστήσει το βοηθητικό πρόγραμμα διαχείρισης πακέτων "YUM" σε διανομές δηλαδή Fedora, CentOS, RedHat κ.λπ. που χρησιμοποιούν RPM Package Manager.

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

Το YUM (σημαίνει Yellowdog Updater, Modified) είναι ένα δωρεάν και ανοιχτού κώδικα βοηθητικό πρόγραμμα που βασίζεται στη γραμμή εντολών που κυκλοφορεί υπό την άδεια GNU General Public License και είναι κυρίως γραμμένο σε γλώσσα προγραμματισμού Python. Το YUM αναπτύχθηκε για να διαχειρίζεται και να ενημερώνει το RedHat Linux στο Πανεπιστήμιο Duke, αργότερα έγινε ευρεία αναγνώριση και έγινε ο διαχειριστής πακέτων του RedHat Enterprise Linux, του Fedora, του CentOS και άλλων διανομής Linux που βασίζεται σε RPM. Συχνά αποκαλείται «Ο Διαχειριστής πακέτων σας», ανεπίσημα συχνά από Linux Professionals.

Διαβάστε επίσης

  1. YUM (Yellowdog Updater, Modified) – 20 εντολές για διαχείριση πακέτων
  2. RPM (Red Hat Package Manager) – 20 πρακτικά παραδείγματα εντολών RPM

Η ιδέα να αντικαταστήσετε το Yum με DNF

Ο Ale¨ Kozumplík, ο προγραμματιστής του έργου DNF είναι Υπάλληλος της RedHat. Αυτος λεει:

«Για πρώτη φορά το 2009, ενώ εργαζόταν στο ‘Anaconda’ – The System Installer, είχε μια εικόνα για το Linux. Ήθελε να εργαστεί σε ένα εντελώς διαφορετικό έργο που του επέτρεψε να εξερευνήσει το εργαλείο συσκευασίας του Fedora.»

Ο Ale¨ Kozumplík είπε – έχει βαρεθεί να εξηγεί ότι το DNF δεν σημαίνει τίποτα, είναι μια απάντηση ονόματος διαχειριστή πακέτων, έτσι είναι, τίποτα άλλο. Πρέπει να ονομαστεί κάτι που δεν έρχεται σε διένεξη με το YUM και ως εκ τούτου ονομάστηκε DNF.

Σύντομες εμφανίσεις του Yum που οδήγησαν στην ίδρυση του DNF:

  1. Η ανάλυση εξάρτησης του YUM είναι ένας εφιάλτης και επιλύθηκε στο DNF με τη βιβλιοθήκη SUSE «libsolv» και το περιτύλιγμα Python μαζί με τον C Hawkey.
  2. Το YUM δεν διαθέτει τεκμηριωμένο API.
  3. Η δημιουργία νέων χαρακτηριστικών είναι δύσκολη.
  4. Δεν υπάρχει υποστήριξη για επεκτάσεις εκτός από Python.
  5. Χαμηλότερη μείωση μνήμης και λιγότερος αυτόματος συγχρονισμός μεταδεδομένων – μια χρονοβόρα διαδικασία.

Ο Ale¨ Kozumplík, λέει ότι δεν έχει άλλη επιλογή από το να διαχωρίσει το YUM και να αναπτύξει το DNF. Ο συντηρητής πακέτων YUM δεν ήταν έτοιμος να εφαρμόσει αυτές τις αλλαγές. Το YUM έχει περίπου 59000 LOC ενώ το DNF έχει 29000 LOC (γραμμές κώδικα).

Ανάπτυξη DNF

Η DNF έδειξε την παρουσία της στο Fedora 18 για πρώτη φορά. Το Fedora 20 ήταν η πρώτη διανομή Linux που καλωσόρισε τους χρήστες να χρησιμοποιήσουν τη λειτουργικότητα του DNF στη θέση του YUM.

Οι τεχνικές προκλήσεις που αντιμετωπίζει η DNF όπως είναι τώρα – να εφαρμόσει όλες τις λειτουργίες του YUM. Για έναν κανονικό χρήστη το DNF παρέχει λήψη, εγκατάσταση, ενημέρωση, υποβάθμιση και διαγραφή πακέτων. Ωστόσο, εξακολουθεί να υπάρχει ελάχιστη ή καθόλου υποστήριξη για λειτουργίες όπως – παράλειψη κατεστραμμένου πακέτου κατά την εγκατάσταση, εντοπισμός σφαλμάτων, αναλυτική έξοδος, ενεργοποίηση repo, εξαίρεση πακέτων κατά την εγκατάσταση κ.λπ.

DNF και σύγκριση του προκατόχου του:

  1. Καμία επίδραση του διακόπτη –skip-broken.
  2. Command Update=Αναβάθμιση
  3. Η εντολή resolvedep δεν είναι διαθέσιμη
  4. Η επιλογή skip_if_unavailable είναι ενεργοποιημένη από προεπιλογή
  5. Η διαδικασία επίλυσης εξαρτήσεων δεν είναι ορατή στη γραμμή εντολών.
  6. Παράλληλες λήψεις σε μελλοντική έκδοση.
  7. Αναίρεση ιστορικού
  8. Delta RPM
  9. Ολοκλήρωση Bash
  10. Αυτόματη αφαίρεση κ.λπ.

Η ενσωμάτωση DNF με το Fedora και αργότερα σε εμπορικό περιβάλλον αμφισβητείται κατά καιρούς από την RHEL. Η τελευταία έκδοση είναι DNF 0.6.0 κυκλοφόρησε στις 12 Αυγούστου 2014.

Δοκιμή εντολών DNF

Εγκαταστήστε το dnf στο Fedora ή νεότερο σε RHEL/CentOS χρησιμοποιώντας την εντολή yum.

yum install dnf

Σύνοψη χρήσεων.

dnf [options] <command> [<argument>]

Εγκαταστήστε ένα πακέτο.

dnf install <name_of_package>

Διαγραφή πακέτου.

dnf remove <name_of_package>

Ενημέρωση και αναβάθμιση του συστήματος.

dnf update
dnf upgrade

Σημείωση: Όπως αναφέρθηκε παραπάνω update=upgrade. Ετσι. Αυτό το πακέτο πρόκειται να εφαρμόσει κάτι σαν κυλιόμενη απελευθέρωση; – Μια μελλοντική ερώτηση.

Η προεπιλεγμένη θέση του αρχείου διαμόρφωσης dnf: /etc/dnf/dnf.conf.

Μέλλον του Έργου

Αυτό το έργο στοχεύει στην παροχή μεγαλύτερης διαφάνειας καθώς και στην πλήρη τεκμηρίωση του έργου. Το έργο είναι πολύ βρέφος και απαιτείται η υποστήριξη της κοινότητας για την ενσωμάτωση του έργου. Πολλές λειτουργίες πρέπει ακόμα να μεταφερθούν και θα χρειαστεί χρόνος. Το DNF θα κυκλοφορήσει επίσημα με το Fedora 22.

Αυτα για τωρα. Θα είμαι ξανά εδώ με ένα άλλο ενδιαφέρον άρθρο σύντομα. Μέχρι τότε μείνετε συντονισμένοι και συνδεδεμένοι. Μην ξεχάσετε να μας δώσετε τα πολύτιμα σχόλιά σας στα παρακάτω σχόλια.