Σε ορισμένες περιπτώσεις διαπιστώνουμε ότι πρέπει να μάθουμε εάν υπάρχουν πρόγραμμα ή πακέτο είναι εγκατεστημένο στο σύστημα ή όχι. Το πρόβλημα είναι ότι με τον αριθμό των διαχειριστών πακέτων που είναι διαθέσιμοι για τις διαφορετικές διανομές GNU/Linux, αυτό μπορεί να είναι κάπως περίπλοκο για τους πιο αρχάριους, καθώς πρέπει να θυμούνται τις διαφορετικές εντολές ή εργαλεία καθώς και τις επιλογές τους σε κάθε περίπτωση, ώστε να μπορούμε να δείξουμε εάν το πακέτο βρίσκεται στο σύστημά μας.
Για παράδειγμα, αν κινούμαστε σε Arch Linux και παράγωγα, το εργαλείο που ψάχνουμε είναι ο διαχειριστής πακέτων pacman με τις επιλογές -Qs και το όνομα του πακέτου που θέλουμε να ελέγξουμε. Από την άλλη πλευρά, εάν είναι μια διανομή που βασίζεται σε πακέτα RPM, μπορούμε να χρησιμοποιήσουμε το εργαλείο rpm -qa που παραθέτει όλα τα εγκατεστημένα πακέτα και να διοχετεύει την έξοδο στο όνομα πακέτου grep για να φιλτράρει το αποτέλεσμα. Για το Debian και τα παράγωγα, μπορείτε να χρησιμοποιήσετε dpkg -s ακολουθούμενο από το όνομα του πακέτου για να κάνετε ερώτημα κ.λπ.
Μπορεί να νομίζετε ότι είναι μια γενική λύση για οποιαδήποτε διανομή και η αλήθεια είναι ότι θα λειτουργούσε μέχρι ένα σημείο, αφού δεν βρίσκονται όλα τα πακέτα στα μονοπάτια όπου που επιδιώκει και επομένως μπορεί να φαίνεται ότι αν ψάξουμε για συγκεκριμένα πακέτα λογισμικού φαίνεται ότι δεν έχουν βρεθεί και δεν είναι εγκατεστημένα στο σύστημα αλλά είναι... Για παράδειγμα, αν ψάξουμε αν είναι εγκατεστημένο το nano πρόγραμμα επεξεργασίας κειμένου με το οποίο μπορεί να φανεί τέλεια αν υπάρχει ή όχι, αλλά αν το δοκιμάσουμε με το LibreOffice τα πράγματα διαφέρουν:
which nano which libreoffice
Το αποτέλεσμα και των δύο θα είναι πολύ διαφορετικό, αφού στην πρώτη περίπτωση θα υποδεικνύει τη δυαδική διαδρομή (/bin/nano) και στη δεύτερη δεν θα εμφανίζει καμία έξοδο παρόλο που είναι εγκατεστημένο το LibreOffice. Αυτό εννοούσα. Επομένως, τελικά δεν έχουμε άλλη επιλογή από το να μάθουμε τις διάφορες εντολές και επιλογές για τη διανομή που χρησιμοποιούμε:
pacman -Qs nombre-paquete rpm -qa | grep nombre-paquete dpkg -s nombre-paquete
Γεια σας, για διανομές που χρησιμοποιούν .debs (Debian και παράγωγα) μπορείτε να χρησιμοποιήσετε…
dpkg -l | grep name_of_the_package_or_part_of_it
Πρέπει να προσέξεις την πρώτη στήλη, αν εμφανίζεται "ii" είναι εγκατεστημένο πακέτο, μπορεί να εμφανιστούν άλλοι συνδυασμοί γραμμάτων (man dpkg).
Ένας άλλος τρόπος, αλλά πρέπει να γνωρίζετε το ακριβές όνομα του πακέτου, είναι…
dpkg -s package_name
… δίνει αρκετά λεπτομερείς πληροφορίες για αυτό.
αφορά