Wie erhalte ich die Version einer Anwendung über die Befehlszeile?

20

Ich möchte wissen, wie man die Versionsinformationen eines installierten Programms erhält, das nicht das hat

--version oder -version

Methode implementiert.

Paradiesstaub
quelle
Ich weiß, Sie meinen für jedes Programm, aber können Sie genau sagen, welches Programm?

Antworten:

22

Sie können dpkgoder verwenden apt-cache.

So überprüfen Sie beispielsweise die Version von bash:

dpkg -l bash

apt-cache show bash
Panther
quelle
Für diejenigen, die nur nach allgemeinen Linux-Antworten suchen, wäre das Äquivalent zu dem oben für RHEL / CentOS / Fedora (und ähnliches), yum requires <file>z. B. yum requires ssh-keygen, Ihre openSSH-Version.
SeldomNeedy
1
@SeldomNeedy - yum wird auf Fedora abgeschrieben, Fedora verwendet dnf. Centos / RHEL immer noch lecker.
Panther
7

Wenn das Programm keine Befehlszeilenoption hat, die Versionsinformationen anzeigt, können Sie versuchen dpkg, die Paketversion abzurufen, die normalerweise die Programmversion enthält.

dpkg -S "$(which YOUR_PROGRAM)"

druckt das Paket, das YOUR_PROGRAM enthält, und

dpkg --status YOUR_PACKAGE | grep ^Version

druckt die Version von YOUR_PACKAGE.

Sie können alles zusammenfassen:

dpkg --status "$(dpkg -S "$(which YOUR_PROGRAM)" | cut -d: -f1)" | grep ^Version

Verwenden Sie es zum Beispiel so für ls:

dpkg --status "$(dpkg -S "$(which ls)"| cut -d: -f1)"| grep ^Version
Florian Diesch
quelle
1
Als vorschlag. Setze alles in eine Funktion und lade sie, wenn deine Shell startet.
Zoke
1

Sie können Folgendes verwenden dpkg-query, um die Version eines Pakets abzurufen:

$ dpkg-query -W -f='${binary:Package} ${Version}\n' firefox
firefox 29.0+build1-0ubuntu0.13.10.3

So rufen Sie nur die Versionszeichenfolge ab:

$ dpkg-query -W -f='${Version}\n' firefox
29.0+build1-0ubuntu0.13.10.3
Sylvain Pineau
quelle
0

Der folgende Befehl gibt Ihnen auch die genaue installierte Paketversion an.

apt-cache policy <package-name> | grep Installed: | cut -d: -f2

Beispiel

$ apt-cache policy firefox | grep Installed: | cut -d: -f2
24.0+build1-0ubuntu1

$ apt-cache policy gedit | grep Installed: | cut -d: -f2
3.8.3-0ubuntu3
Avinash Raj
quelle