Πώς να χρησιμοποιήσετε τα dpkg, apt, aptitude, synaptic και tasksel


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

Κατανόηση της Ιεραρχίας Διαχείρισης Πακέτων

Στο Debian, η διαχείριση των πακέτων λειτουργεί σε επίπεδα, και κάθε εργαλείο παίζει διαφορετικό ρόλο:

  • dpkg είναι το βασικό εργαλείο που χρησιμοποιείται για την εγκατάσταση, αφαίρεση και επιθεώρηση αρχείων πακέτων .deb απευθείας, αλλά δεν αναλαμβάνει τη λήψη πακέτων ή την επίλυση εξαρτήσεων.
  • apt και aptitude λειτουργούν πάνω από το dpkg και ανακτούν πακέτα από διαδικτυακά αποθετήρια, διαχειριζόμενα αυτόματα τις εξαρτήσεις, κάνοντας την εγκατάσταση πολύ πιο εύκολη.
  • Το Synaptic είναι απλώς ένα γραφικό περιβάλλον (ένα οπτικό “όπως το app store” εργαλείο) που σας επιτρέπει να χρησιμοποιείτε τις δυνατότητες του apt χωρίς να χρησιμοποιείτε τη γραμμή εντολών.
  • tasksel εγκαθιστά ομάδες σχετικού λογισμικού (που ονομάζονται εργασίες), όπως “Διακομιστής Ιστού” ή “Περιβάλλον Επιφάνειας Εργασίας”, εξοικονομώντας σας την ταλαιπωρία της εγκατάστασης κάθε πακέτου ξεχωριστά.

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

Εργασία με το dpkg

dpkg είναι το χαμηλού επιπέδου εργαλείο διαχείρισης πακέτων που δουλεύει άμεσα με αρχεία .deb που έχετε ήδη στο σύστημά σας. Δεν κατεβάζει πακέτα από το διαδίκτυο και δεν εγκαθιστά αυτόματα τις απαραίτητες εξαρτήσεις.

Οπότε, αν ένα πακέτο απαιτεί άλλο λογισμικό για να λειτουργήσει, πρέπει να εγκαταστήσετε αυτές τις εξαρτήσεις μόνοι σας ή να χρησιμοποιήσετε το apt για να τις εγκαταστήσετε αυτόματα.

Για να εγκαταστήσετε ένα αρχείο πακέτου που έχετε ήδη κατεβάσει, για παράδειγμα, αν έχετε το αρχείο google-chrome-stable_current_amd64.deb, μπορείτε να το εγκαταστήσετε χρησιμοποιώντας την εντολή

dpkg -i package-name.deb

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

dependency problems - leaving unconfigured

Σε αυτήν την περίπτωση, μπορείτε να διορθώσετε τις ελλείπουσες εξαρτήσεις εκτελώντας την ακόλουθη εντολή, η οποία ενημερώνει το apt να κατεβάσει και να εγκαταστήσει αυτόματα οποιεσδήποτε εξαρτήσεις είναι απαραίτητες για την ολοκλήρωση της εγκατάστασης.

sudo apt -f install

Για να αφαιρέσετε ένα εγκατεστημένο πακέτο:

dpkg -r package-name

Για να εμφανίσετε όλες τις εγκατεστημένες πακέτες στο σύστημά σας:

dpkg -l

Για να ελέγξετε αν ένα συγκεκριμένο πακέτο είναι εγκατεστημένο:

dpkg -l package-name

Δεδομένου ότι το dpkg δεν διαχειρίζεται αυτόματα τις εξαρτήσεις, μπορεί να συναντήσετε σφάλματα σχετικά με ελλείποντα πακέτα. Σε τέτοιες περιπτώσεις, τα εργαλεία υψηλότερου επιπέδου όπως το apt γίνονται απαραίτητα.

Χρήση του apt για την καθημερινή διαχείριση πακέτων

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

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

Πριν εγκαταστήσετε οποιοδήποτε λογισμικό, είναι καλή ιδέα να ενημερώσετε τη λίστα πακέτων σας ώστε το σύστημά σας να γνωρίζει για τις πιο πρόσφατες διαθέσιμες εκδόσεις:

sudo apt update

Για να εγκαταστήσετε ένα πακέτο και όλες τις απαιτούμενες εξαρτήσεις του, χρησιμοποιήστε:

sudo apt install package-name

Για να αφαιρέσετε ένα πακέτο αφήνοντας πίσω τα αρχεία διαμόρφωσης:

sudo apt remove package-name

Αν θέλετε επίσης να αφαιρέσετε τα αρχεία ρυθμίσεων (μια πιο καθαρή απεγκατάσταση), χρησιμοποιήστε:

sudo apt purge package-name

Για να αναβαθμίσετε όλα τα εγκατεστημένα πακέτα στις νεότερες εκδόσεις τους:

sudo apt upgrade

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

apt search keyword

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

sudo apt clean

Διαχείριση Πακέτων με το Εργαλείο aptitude

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

Μπορείτε να χρησιμοποιήσετε το aptitude από τη γραμμή εντολών με τρόπο παρόμοιο με το apt:

sudo aptitude update
sudo aptitude install package-name
sudo aptitude remove package-name
aptitude search keyword

Ωστόσο, ένα από τα βασικά πλεονεκτήματα του aptitude είναι ότι περιλαμβάνει επίσης ένα διαδραστικό περιβάλλον κειμένου που μπορείτε να ανοίξετε με:

sudo aptitude

Διεπαφή Κειμένου του aptitude

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

Οργανωμένη περιήγηση πακέτων με το aptitude

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

Χρήση του Synaptic για Γραφική Διαχείριση Πακέτων

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

Για να εγκαταστήσετε το Synaptic, εκτελέστε:

sudo apt install synaptic

Αφού εγκατασταθεί, μπορείτε να το εκκινήσετε από το μενού εφαρμογών σας ή εκτελώντας:

sudo synaptic-pkexec

Διαχειριστής Πακέτων Synaptic

Όταν ανοίξετε το Synaptic, θα δείτε τις κατηγορίες πακέτων στα αριστερά και μια λίστα με πακέτα στα δεξιά. Επιλέγοντας ένα πακέτο θα εμφανιστούν λεπτομέρειες στο κάτω πάνελ, όπως τι κάνει το πακέτο, ποια έκδοση είναι διαθέσιμη και από ποια άλλα πακέτα εξαρτάται.

Ανάγνωση Πληροφοριών Πακέτου μέσω του Synaptic

Για να εγκαταστήσετε ένα πακέτο, κάντε δεξί κλικ επάνω του και επιλέξτε «Σήμανση για Εγκατάσταση», που θα επιλέξει αυτόματα οποιεσδήποτε απαιτούμενες εξαρτήσεις. Αφού σημαδέψετε όλα τα πακέτα που θέλετε, κάντε κλικ στο «Εφαρμογή» για να ξεκινήσει η εγκατάσταση.

Εγκατάσταση Πακέτων Χρησιμοποιώντας το Synaptic

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

Εγκατάσταση Ομάδων Πακέτων με το tasksel

Σε αντίθεση με τα εργαλεία που επικεντρώνονται σε μεμονωμένα πακέτα, το tasksel εγκαθιστά ολόκληρα σύνολα σχετικού λογισμικού ταυτόχρονα, τα οποία ονομάζονται εργασίες, και κάθε εργασία περιέχει όλα τα πακέτα που χρειάζονται για την εκτέλεση ενός συγκεκριμένου ρόλου στο σύστημά σας, όπως ένας web server, ένα περιβάλλον επιφάνειας εργασίας ή ένας διακομιστής αλληλογραφίας.

Για να ανοίξετε το διαδραστικό μενού επιλογής εργασιών, εκτελέστε:

sudo tasksel

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

Χρήση του Διαδραστικού Μενού του Tasksel

Αν θέλετε να δείτε τις διαθέσιμες εργασίες χωρίς να ανοίξετε το μενού, χρησιμοποιήστε:

tasksel --list-tasks

Προβολή Διαθέσιμων Εργασιών

Για να εγκαταστήσετε μια συγκεκριμένη εργασία απευθείας από τη γραμμή εντολών, εκτελέστε:

sudo tasksel install task-name

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

Επιλέγοντας το σωστό εργαλείο

Κάθε εργαλείο διαχείρισης πακέτων στο Debian έχει σχεδιαστεί για έναν συγκεκριμένο σκοπό, και η επιλογή του κατάλληλου εξαρτάται από το τι προσπαθείτε να κάνετε. Χρησιμοποιήστε dpkg όταν εργάζεστε με ένα μεμονωμένο αρχείο .deb που κατεβάσατε χειροκίνητα, ιδιαίτερα από πηγές εκτός των επίσημων αποθετηρίων. Χρησιμοποιήστε το apt σε καθημερινές περιπτώσεις, όπως η εγκατάσταση, η αφαίρεση και η ενημέρωση λογισμικού από τη γραμμή εντολών, καθώς θα διαχειριστεί αυτόματα τις εξαρτήσεις για εσάς.

Σκέψου το aptitude όταν διαχειρίζεσαι πιο σύνθετα ζητήματα εξαρτήσεων ή όταν θέλεις να χρησιμοποιήσεις τη διαδραστική διεπαφή κειμένου για την περιήγηση και διαχείριση πακέτων. Επίλεξε το Synaptic αν προτιμάς μία γραφική διεπαφή ή θέλεις να εξερευνήσεις οπτικά το διαθέσιμο λογισμικό πριν το εγκαταστήσεις.

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

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