apt-get无法安装apt-cache policy中列出的特定版本。

我正在尝试使用apt-get从第三方仓库安装特定版本的redis-server,该版本在apt-cache policy中列出,但无法安装。例如:
$ apt-cache policy redis-server
redis-server:
  Installed: (none)
  Candidate: 2:2.8.19-1chl1~trusty1
  Version table:
     2:2.8.19-1chl1~trusty1 0
        500 http://ppa.launchpad.net/chris-lea/redis-server/ubuntu/ trusty/main amd64 Packages
     2:2.8.4-2 0
        500 http://us.archive.ubuntu.com/ubuntu/ trusty/universe amd64 Packages

$ apt-get install redis-server=2.8.19-1chl1~trusty1
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Version '2.8.19-1chl1~trusty1' for 'redis-server' was not found

如果我尝试安装redis-server而不选择软件包版本,它会尝试安装我已经指定的版本。
$ apt-get -s install redis-server
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  libjemalloc1 redis-tools
The following NEW packages will be installed:
  libjemalloc1 redis-server redis-tools
0 upgraded, 3 newly installed, 0 to remove and 81 not upgraded.
Inst libjemalloc1 (3.6.0-1chl1~trusty1 redis-server:14.04/trusty [amd64])
Inst redis-tools (2:2.8.19-1chl1~trusty1 redis-server:14.04/trusty [amd64])
Inst redis-server (2:2.8.19-1chl1~trusty1 redis-server:14.04/trusty [amd64])
Conf libjemalloc1 (3.6.0-1chl1~trusty1 redis-server:14.04/trusty [amd64])
Conf redis-tools (2:2.8.19-1chl1~trusty1 redis-server:14.04/trusty [amd64])
Conf redis-server (2:2.8.19-1chl1~trusty1 redis-server:14.04/trusty [amd64])

尝试使用不同形式的版本号似乎没有起作用:
$ apt-get install redis-server=2.8.19-1chl1
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Version '2.8.19-1chl1' for 'redis-server' was not found

$ apt-get install redis-server=2.8.19-1
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Version '2.8.19-1' for 'redis-server' was not found

$ apt-get install redis-server=2.8.19
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Version '2.8.19' for 'redis-server' was not found

你可以从这里下载.deb文件,然后尝试安装。 - Jos
我依赖apt,因为这是Chef cookbook的一部分,并且希望依赖于工具来“固定”到一个版本。apt-get不适用,因为它会安装redis-server而不需要版本要求。 - WheresWardy
1个回答

2:是版本号的一部分。在指定版本时,请不要忘记添加它。
apt-get install redis-server=2:2.8.19-1chl1~trusty1

3厉害了,程序员大脑无视冒号假设列表我觉得。谢谢。 - WheresWardy