如何列出具有特定版本号的所有已安装软件包?
我想列出所有已安装的软件包,并在我的系统上列出特定的版本号。 我检查了dpkg --get-selections
( 如何列出所有已安装的软件包 ),但它没有告诉我我需要什么。 例如:
$ dpkg --get-selections apache2 apache2 install
显示安装了apache2,但不是版本。 我最近做了一个apt-get upgrade
所以apache2.2.22-1 应该安装版本( http://packages.ubuntu.com/precise-updates/apache2.2-common ),但我怎么能显示呢?
谢谢!
请改用dpkg -l
。
例:
dpkg -l | grep '^ii' | grep skype
输出:
alaa @ aa-lu:〜$ dpkg -l | grep'^ ii'| grep skype ii skype 4.2.0.11-0ubuntu0.12.04.2用于Skype VOIP的i386客户端...
如果您只想提取名称和版本,可以执行以下操作:
dpkg -l | grep '^ii' | grep skype | awk '{print $2 "\t" $3}'
这将只打印上面输出的第二和第三列,如下所示:
alaa @ aa-lu:〜$ dpkg -l | grep'^ ii'| grep skype | awk'{print $ 2“\ t”$ 3}' skype 4.2.0.11-0ubuntu0.12.04.2
当然,如果要列出所有已安装的软件包及其版本,而不仅仅是Skype,那么只需删除grep skype
部分即可生成如下命令:
dpkg -l | grep '^ii' | awk '{print $2 "\t" $3}'
使用
dpkg-query --show apache2
获取包apache2
和的版本号
dpkg-query --show
获取所有已安装软件包的版本号