由于一些需求需要在 Ubuntu上面安装一些软件的指定版本,安装之前则需要知道这个软件有哪些版本可供选择,所以就顺便了解了一下 Ubuntu 怎么查看软件所有版本,以及怎么在安装的时候指定版本,在此做个记录。

一、Ubuntu 查看软件所有版本

这个方法还是比较多的,基本上都可以列举出软件的所有版本号。不过列举出来的都是在当前系统版本下可以安装的版本,比如适用于 Ubuntu 16.04 LTS 的软件版本就不会出现在 Ubuntu 18.04 LTS 的查询结果中。

1、使用 madison 命令

apt-cache madison <<package name>>

将列出所有来源的版本。如下输出所示:

apt-cache madison vim
   vim | 2:7.3.547-1 | http://debian.mirrors.tds.net/debian/ unstable/main amd64 Packages
   vim | 2:7.3.429-2 | http://debian.mirrors.tds.net/debian/ testing/main amd64 Packages
   vim | 2:7.3.429-2 | http://http.us.debian.org/debian/ testing/main amd64 Packages
   vim | 2:7.3.429-2 | http://debian.mirrors.tds.net/debian/ testing/main Sources
   vim | 2:7.3.547-1 | http://debian.mirrors.tds.net/debian/ unstable/main Sources

madison 是一个 apt-cache 子命令,可以通过 man apt-cache 查询更多用法。

2、使用 policy 命令

apt-cache policy <<package name>>

将列出所有来源的版本。信息会比上面详细一点,如下输出所示:

apt-cache policy gdb
gdb:
  Installed: 7.7.1-0ubuntu5~14.04.2
  Candidate: 7.7.1-0ubuntu5~14.04.2
  Version table:
 *** 7.7.1-0ubuntu5~14.04.2 0
        500 http://fr.archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages
        100 /var/lib/dpkg/status
     7.7-0ubuntu3 0
        500 http://fr.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
        500 http://archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages

policy 是一个 apt-cache 子命令,可以通过 man apt-cache 查询更多用法。

3、使用 showpkg 命令

apt-cache showpkg <<package name>>

4、使用 install 命令

apt-get install -s <<package-name>>

说明:这个命令只是模拟安装时会安装哪些软件列表,但不会例举出每个软件有多少个版本

5、使用 aptitude 命令

以上基本都是使用的 apt-cache 的子命令,下面介绍点别的,比如这个使用 aptitude 命令的。

aptitude versions <<package name>>

参考:https://manpages.debian.org/unstable/aptitude/aptitude.8.en.html

6、使用 apt-show-versions 命令

apt-show-versions -a <<package name>>

说明:列举出所有版本,且能查看是否已经安装。还可以通过 apt-show-versions -u <<package name>> 来查询是否有升级版本。

参考:http://manpages.ubuntu.com/manpages/trusty/man1/apt-show-versions.1p.html

7、使用 whohas 命令

whohas -d Debian,Ubuntu <<package name>> | tr -s ' ' '\t' | cut -f 1-3 | column -t

8、使用 rmadison 命令

rmadison -u debian,ubuntu,bpo <<package name>> | cut -d "|" -f 1-3

二、Ubuntu 安装软件指定版本

安装时指定版本则比较简单,只需要使用下面的命令即可:

apt-get install <<package name>>=<<version>>

需要注意的是,如果是使用 pip 来安装东西并且指定版本,则需要两个等号(apt-get 则只需要一个等号),比如:

pip install <<package name>>==<<version>>
你可能感兴趣的内容
0条评论
ST

Stephan-Muller

这家伙太懒了,什么都没留下
Owner