如何安装某些包的特定版本?

我的问题分为两部分:

  1. 如何知道已安装包的版本?
  2. 如何安装特定的软件包版本?

如何知道已安装包的版本?

apt-cache policy  

上面的命令将根据您运行的Ubuntu版本显示已安装的软件包版本以及存储库中的所有可用版本。它不显示用于其他版本的Ubuntu(不是您的)的软件包版本。

例:

 $ apt-cache policy gparted gparted: Installed: 0.16.1-1 Candidate: 0.16.1-1 Version table: *** 0.16.1-1 0 500 http://ubuntu.inode.at/ubuntu/ saucy/main amd64 Packages 100 /var/lib/dpkg/status 

所以安装的gparted版本是0.16.1-1

如何安装特定的软件包版本?

 sudo apt-get install = 

例:

 $ sudo apt-get install gparted=0.16.1-1 Reading package lists... Done Building dependency tree Reading state information... Done gparted is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 265 not upgraded. 

没有通用的方法来检查已安装软件包的版本,但可以使用以下命令检查大多数软件包:

 command -v 

例如,要知道apache2的版本:

 apache2 -v 

但这可能不适用于其他软件包,因此最佳做法是搜索手册。

 man XXX 

并搜索显示版本的选项。

要安装特定版本的软件包:

 sudo apt-get install package=version 

例如:

 sudo apt-get install apache2=2.3.35-4ubuntu1