我的问题分为两部分:
- 如何知道已安装包的版本?
- 如何安装特定版本的软件包?
答案1
如何知道已安装包的版本?
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 name>=<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.
答案2
没有通用的方法来检查已安装软件包的版本,但大多数可以使用以下命令检查:
command -v
例如要了解 apache2 的版本:
apache2 -v
但这可能不适用于其他包,所以最佳做法是搜索手册。
man XXX
并搜索显示版本的选项。
要安装软件包的特定版本:
sudo apt-get install package=version
例如:
sudo apt-get install apache2=2.3.35-4ubuntu1