当前位置: 首页>>技术教程>>正文


如何列出所有安装的具有特定版本号的软件包?

,

问题描述

我想列出所有已安装的软件包,以及系统上的特定版本号。我签出了dpkg --get-selections(How to list all installed packages),但没有显示我需要的东西。例如:

$ 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       i386     client for Skype VOIP...

如果只想提取名称和版本,则可以执行以下操作:

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 

获取所有已安装软件包的版本号

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/10882.html,未经允许,请勿转载。