问题描述
我的问题分为两部分:
-
如何知道已安装软件包的版本?
-
如何安装特定的软件包版本?
最佳解决方法
如何知道已安装软件包的版本?
apt-cache policy <package name>
上面的命令将显示已安装的软件包版本以及存储库中所有可用的版本,具体取决于您运行的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 package=version
例:
$ 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