Βρείτε σε ποιο πακέτο ανοίκει ένα εκτελέσιμο στο Linux

Στο Linux η ποιο προσφιλή μέθοδος εγκατάστασης λογισμικού είναι μέσο του package manager της εκάστοτε διανομής. Ένα πακέτο περιέχει τα εκτελέσιμα αρχεία του προγράμματος, τα αρχεία ρυθμίσεων και άλλες πληροφορίες που είναι απαραίτητες για την εγκατάσταση του. Δύο από τους δημοφιλέστερους package Managers στο Linux είναι αυτοί της διανομής Debian (dpkg) και της διανομής Redhat (rpm). Με μεγάλη πιθανότητα οι εντολές που χρησιμοποιούμε καθημερινά ανήκουν σε ένα πακέτο λογισμικού του οποίου η εγκατάσταση έχει γίνει μέσο αυτών των package managers. Στο σημερινό άρθρο θα δούμε πως μπορούμε να εντοπίσουμε το πακέτο στο οποίο ανήκει ένα εκτελέσιμο και γενικότερα ένα αρχείο εάν η εγκατάσταση αυτού του εκτελέσιμου / αρχείου έχει γίνει μέσο κάποιου package manager. Στα παραδείγματα μας θα αναζητήσουμε το πακέτο για την προσφιλή σε όλους μας εντολή ls. Η διαδικασία είναι ίδια για οποιαδήποτε εντολή έχει εγκατασταθεί μέσο των package managers.

Debian Package Manager

Στην διανομή debian και κατ επέκταση στις διανομές που βασίζονται σε αυτήν (Ubuntu κ.τ.λ) η εύρεση του πακέτου μπορεί να πραγματοποιηθεί με την εντολή dpkg. Αρχικά πρέπει να βρούμε το πλήρες path της εντολής εκτελώντας την εντολή:

user@server:~$ which ls
/bin/ls

και εφόσον έχουμε την πληροφορία που χρειαζόμαστε εκτελούμε την ακόλουθη εντολή

user@server:~$ dpkg -S /bin/ls
coreutils: /bin/ls

η οποία μας αναφέρει οτι η εντολή έχει εγκατασταθεί μέσο του πακέτου coreutils.

Εναλλακτικά μπορούμε να χρησιμοποιήσουμε και την εντολή:

user@server:~$ dpkg-query -S /bin/ls
coreutils: /bin/ls

 

RedHat Package Manager (rpm)

Στην διανομή RedHat και κατ επέκταση στις διανομές που βασίζονται σε αυτήν (CentOS, Fedora κ.τ.λ) η εύρεση του πακέτου μπορεί να πραγματοποιηθεί με την εντολή rpm. Όπως και στην περίπτωση του debian θα πρέπει αρχικά να βρούμε το πλήρες path της εντολής:

user@server:~$ which ls
/usr/bin/ls

και εφόσον έχουμε αυτή τη πληροφορία εκτελούμε την ακόλουθη εντολή:

user@server:~$ rpm -qf /usr/bin/ls
coreutils-8.22-15.el7_2.1.x86_64

για να πάρουμε την απάντηση ότι το πακέτο έχει εγκατασταθεί στο σύστημα μας μέσο του πακέτου coreutils-8.22-15.el7_2.1.x86_64.

Σε επόμενο άρθρο θα δούμε περισσότερες ενέργειες που μπορούμε να φέρουμε εις πέρας με τους package managers.

 

Advertisements
Βρείτε σε ποιο πακέτο ανοίκει ένα εκτελέσιμο στο Linux

One thought on “Βρείτε σε ποιο πακέτο ανοίκει ένα εκτελέσιμο στο Linux

Σχολιάστε

Εισάγετε τα παρακάτω στοιχεία ή επιλέξτε ένα εικονίδιο για να συνδεθείτε:

Λογότυπο WordPress.com

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό WordPress.com. Αποσύνδεση / Αλλαγή )

Φωτογραφία Twitter

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Twitter. Αποσύνδεση / Αλλαγή )

Φωτογραφία Facebook

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Facebook. Αποσύνδεση / Αλλαγή )

Φωτογραφία Google+

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Google+. Αποσύνδεση / Αλλαγή )

Σύνδεση με %s