¿Cómo obtengo la versión de una aplicación desde la línea de comandos?

20

Me gustaría saber cómo obtener la información de la versión de un programa instalado que no tiene

--version o -version

Método implementado.

Paradiesstaub
fuente
Sé que te refieres a cualquier programa, pero ¿puedes decir qué programa exactamente?

Respuestas:

22

Puedes usar dpkgo apt-cache.

Para verificar la versión de bash, por ejemplo:

dpkg -l bash

apt-cache show bash
Pantera
fuente
Para aquellos que solo buscan respuestas generales de Linux, el equivalente al anterior para RHEL / CentOS / Fedora (y similar) sería, por yum requires <file>ejemplo, yum requires ssh-keygenle daría su versión de openSSH.
SeldomNeedy
1
@SeldomNeedy: yum se deprecia en Fedora, Fedora usa dnf. Centos / RHEL todavía en mmm.
Panther
7

Si el programa no tiene ninguna opción de línea de comando que muestre información de la versión, puede intentar usarla dpkgpara obtener la versión del paquete que generalmente contiene la versión del programa de alguna manera.

dpkg -S "$(which YOUR_PROGRAM)"

imprime el paquete que contiene YOUR_PROGRAM y

dpkg --status YOUR_PACKAGE | grep ^Version

imprime la versión de YOUR_PACKAGE.

Puedes ponerlo todo junto:

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

Úselo por ejemplo así para ls:

dpkg --status "$(dpkg -S "$(which ls)"| cut -d: -f1)"| grep ^Version
Florian Diesch
fuente
1
Como una sugerencia Póngalo todo en una función y cárguelo cuando se inicie su shell.
Zoke
1

Puede usar dpkg-querypara obtener la versión de un paquete:

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

Para obtener solo la cadena de versión:

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

El siguiente comando también le proporciona la versión exacta del paquete instalado.

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

Ejemplo

$ 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
fuente