So finden Sie heraus, ob ein Paket unter Linux und Unix installiert ist oder nicht
Vor einiger Zeit haben wir gelernt, wie man eine Paketversion unter Linux findet. Heute werden wir sehen, wie man herausfindet, ob ein Paket in Linux- und Unix-Betriebssystemen installiert ist oder nicht. Das Auffinden installierter Pakete im GUI-Modus ist einfach. Alles, was wir tun müssen, ist, einfach das Menü oder den Dash zu öffnen und den Paketnamen in das Suchfeld einzugeben. Wenn das Paket installiert ist, sehen Sie den Menüeintrag. So einfach ist das. Es ist jedoch etwas schwierig, es in einem System zu finden, in dem es keinen GUI-Modus gibt. Daher ist es genauso wichtig zu wissen, wie man im CLI-Modus herausfindet, ob ein Paket installiert ist oder nicht, wie im GUI-Modus. Lassen Sie uns nun herausfinden, wie wir herausfinden können, ob ein Paket installiert ist oder nicht, oder?
Finden Sie heraus, ob ein Paket unter Linux installiert ist oder nicht
Der häufigste Weg, um herauszufinden, ob ein Paket installiert ist oder nicht, ist die Verwendung des Befehls „which“ wie folgt:
which <package-name>
Beispiel:
which nano
Wenn das Nano-Paket installiert ist, wird der installierte Pfad wie unten angezeigt.
/usr/bin/nano
Wie Sie sehen, ist das Nano-Paket im Pfad /usr/bin/ installiert.
Schauen wir uns ein anderes Paket an, zum Beispiel Emacs:
which emacs
/usr/bin/which: no emacs in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
Sehen? Emacs ist nicht installiert.
Der Befehl „which“ ist auf den meisten Unix-ähnlichen Betriebssystemen standardmäßig verfügbar.
Außerdem gibt es einige andere distributionsspezifische Möglichkeiten, um herauszufinden, ob ein Paket installiert ist oder nicht. Weiter lesen.
Unter Arch Linux:
In Arch Linux und seinen Derivaten wie Antergos und Manjaro LInux können wir dies mit dem Befehl „pacman“ wie folgt tun:
pacman -Qs nano
Beispielausgabe:
local/nano 2.9.3-1 (base)
Pico editor clone with enhancements
Ist Ihnen das Präfix „local“ vor dem Paket „nano“ aufgefallen? Das bedeutet, dass Nano auf Ihrem System installiert ist.
Wenn der obige Befehl nichts zurückgibt, bedeutet dies, dass das angegebene Paket nicht installiert ist.
Unter Fedora/RHEL/CentOS/Scientific Linux:
In RPM-basierten Linux-Distributionen wie Fedora, RHEL und RHEL-Klonen wie CentOS und Scientific Linux können wir mithilfe des Befehls „rpm“ herausfinden, ob ein Paket installiert ist, wie unten gezeigt.
rpm -qa | grep nano
Oder,
rpm -qa | grep -i nano
Beispielausgabe:
nano-2.3.1-10.el7.x86_64
Sie können auch den Befehl Yum wie unten verwenden.
yum list installed|grep 'nano'
Um alle installierten Pakete aufzulisten, führen Sie Folgendes aus:
rpm -qa
Wie einer unserer Leser „Gregory Pittman“ im Kommentarbereich unten erwähnte, können wir den Befehl dnf in Fedora verwenden, um das installierte Paket zu finden.
dnf list packagename
oder auch
dnf list package*
Daraus erhalten Sie eine Liste dessen, was installiert ist und was in Repositorys verfügbar ist. dnf erlaubt einen Platzhalter und berücksichtigt bei der Suche auch die Groß-/Kleinschreibung. Manchmal weiß man nicht genau, wonach man sucht oder die richtige Schreibweise.
Unter Debian/Ubuntu/Linux Mint:
In DEB-basierten Systemen wie Debian, Ubuntu und seinen Derivaten wie Linux Mint und Elementary OS können wir dies mit dem Befehl "dpkg" tun.
dpkg -s nano
Beispielausgabe:
Wie Sie in der obigen Ausgabe sehen können, ist das Nano-Paket in unserem Ubuntu-System installiert. Dieser Befehl zeigt nicht nur an, ob das angegebene Paket installiert ist oder nicht, sondern auch die Priorität des Pakets, die Versionsnummer, den Namen des Betreuers, Abhängigkeiten und seine Beschreibung usw.
Dies ist nicht die einzige Möglichkeit, die installierten Pakete zu finden. Hier sind einige weitere Befehle.
dpkg-query -l nano
Beispielausgabe:
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-==============-============-============-=================================
ii nano 2.5.3-2 amd64 small, friendly text editor inspired by Pico
Hier ist noch einer.
dpkg --get-selections | grep nano
Beispielausgabe:
nano install
Und noch ein Befehl....
dpkg --list | grep nano
Beispielausgabe:
ii nano 2.5.3-2 amd64 small, friendly text editor inspired by Pico
Oder verwenden Sie diesen Befehl:
dpkg --list | grep -i nano
Um die Liste aller installierten Pakete anzuzeigen, führen Sie Folgendes aus:
dpkg --list
Auf SUSE/openSUSE:
Um zu überprüfen, ob ein Paket in SUSE und openSUSE installiert ist oder nicht, führen Sie Folgendes aus:
zypper search nano
Oder kurz:
zypper se nano
Sie können auch den Befehl „rpm“ wie unten verwenden.
rpm -q nano
Finden Sie mit dem Dienstprogramm „has“ heraus, ob ein Paket installiert ist oder nicht.
Vertrauen Sie mir, das ist super einfach! Das Dienstprogramm „has“ überprüft das Vorhandensein verschiedener Befehlszeilentools im Pfad und meldet auch deren installierte Version.
Um es zu installieren, führen Sie die folgenden Befehle aus:
git clone https://github.com/kdabir/has.git
cd has
sudo make install
Überprüfen Sie nun wie unten beschrieben, ob ein Paket verfügbar ist oder nicht.
has nano
✔ nano 2.5.3
Wenn Sie das Häkchen (✔) sehen, ist das Paket installiert. Wie Sie in der obigen Ausgabe sehen können, ist das Nano-Paket installiert und seine Version ist 2.5.3.
Wenn das Paket nicht installiert ist, sehen Sie das Kreuz. Sehen Sie sich das folgende Beispiel an.
has emacs
✘ emacs
Sie können auch nach mehreren Paketen suchen.
has nano emacs vim
✔ nano 2.5.3
✘ emacs
✔ vim 7.4
Wenn Sie es nicht installieren möchten, können Sie es wie unten beschrieben direkt verwenden. Ihr System muss jedoch mit dem Internet verbunden sein.
curl -sL https://git.io/_has | bash -s nano
So prüfen Sie, ob mehrere Pakete vorhanden sind:
curl -sL https://git.io/_has | bash -s nano emacs vim
Erstellen Sie einen Alias, wenn Sie zu faul sind, den gesamten Befehl einzugeben:
alias has="curl -sL https://git.io/_has | bash -s"
Verwenden Sie jetzt einfach dieses Dienstprogramm wie folgt:
has nano
Weitere Einzelheiten finden Sie auf der GitHub-Seite des Projekts.
- verfügt über ein GitHub-Repository
Finden Sie heraus, ob ein Paket unter Unix installiert ist oder nicht
Die folgenden Schritte wurden in FreeBSD 10.3 getestet. Ich habe nie ein anderes BSD-Betriebssystem außer FreeBSD ausprobiert. Daher gibt es möglicherweise unterschiedliche Befehle, um herauszufinden, ob ein Paket in anderen BSD-Betriebssystemen installiert ist.
In FreeBSD können wir dies mit dem Befehl „pkg“ tun:
pkg_info -Ix <package-name>
Beispiel:
pkg info -Ix nano
Beispielausgabe:
Um alle installierten Pakete anzuzeigen, können Sie den folgenden Befehl verwenden:
pkg info
Oder,
pkg version -v
Dies kann einige Sekunden bis Minuten dauern, abhängig von der Anzahl der Pakete, die Sie in Ihrem FreeBSD-System haben.
Abschluss
Sie wissen jetzt, wie Sie mithilfe der offiziellen und inoffiziellen Methode über die Befehlszeile herausfinden können, ob ein Paket installiert ist oder nicht. Wie Sie sehen, ist es nicht so schwierig. Es sind nur ein paar Befehle, die Sie sich leicht merken können. Wenn Sie sich diese Befehle nicht merken können, setzen Sie sie einfach in ein Lesezeichen oder speichern Sie sie im Terminal selbst, um sie bei Bedarf auszuführen.