20

I would like to know how to get the version information of an installed program that doesn't have the

--version or -version

method implemented.

  • I know you mean for any program, but can you say which program exactly? – user8290 Jan 28 '12 at 14:53
22

You can use dpkg or apt-cache.

To check the version of bash, for example:

dpkg -l bash

apt-cache show bash
  • For those just looking for general Linux answers, the equivalent to the above for RHEL/CentOS/Fedora (and similar) would be yum requires <file> e.g. yum requires ssh-keygen would give you your openSSH version. – SeldomNeedy Apr 28 '16 at 20:31
  • 1
    @SeldomNeedy - yum is depreciated on Fedora, Fedora uses dnf. Centos/RHEL still on yum. – Panther Apr 28 '16 at 21:18
7

If the program doesn't have any command line option that displays version information you can try to use dpkg to get the package version which usually contains the program version ion some way.

dpkg -S "$(which YOUR_PROGRAM)"

prints the package that contains YOUR_PROGRAM, and

dpkg --status YOUR_PACKAGE | grep ^Version

prints the version of YOUR_PACKAGE.

You can put it all together:

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

Use it for example like this for ls:

dpkg --status "$(dpkg -S "$(which ls)"| cut -d: -f1)"| grep ^Version
  • 1
    As a suggestion. Put it all in a function and load it when your shell starts. – Zoke Jan 28 '12 at 16:03
1

You can use dpkg-query to get the version of a package:

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

To only get the version string:

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

The below command also gives you the exact installed package version.

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

Example

$ 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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.