我想知道如何获取一个已安装的程序的版本信息,该程序没有实现
--version
或-version
方法。--version
或-version
方法。你可以使用dpkg
或apt-cache
。
例如,要检查bash
的版本:
dpkg -l bash
apt-cache show bash
yum requires <file>
,例如yum requires ssh-keygen
将给出您的openSSH版本。 - Seldom 'Where's Monica' Needydpkg
来获取包含程序版本的软件包版本。dpkg -S "$(which YOUR_PROGRAM)"
dpkg --status YOUR_PACKAGE | grep ^Version
dpkg --status "$(dpkg -S "$(which YOUR_PROGRAM)" | cut -d: -f1)" | grep ^Version
例如,可以像这样使用它来执行ls
命令:
dpkg --status "$(dpkg -S "$(which ls)"| cut -d: -f1)"| grep ^Version
apt-cache policy <package-name> | grep Installed: | cut -d: -f2
示例
$ 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
dpkg-query
命令来获取软件包的版本信息。$ dpkg-query -W -f='${binary:Package} ${Version}\n' firefox
firefox 29.0+build1-0ubuntu0.13.10.3
仅获取版本字符串:
$ dpkg-query -W -f='${Version}\n' firefox
29.0+build1-0ubuntu0.13.10.3