apt-get在某些服务器上没有获得最新版本

我在几台Ubuntu 12.04服务器上安装了Percona DB 5.6。 其中几个,我已经能够成功升级到最新版本(5.6.17)使用

apt-get update apt-get upgrade 

在其他几个,apt-get更新+升级告诉我没有什么可做的,虽然那里安装的版本只有5.6.15。 为什么不find最新的版本?

更新服务器的最新版本:“服务器版本:5.6.17-65.0-587.precise-log(Ubuntu)”

来自不更新的服务器的版本:“服务器版本:5.6.15-63.0-日志Percona服务器(GPL),版本63.0”

我已经确认以下行在所有服务器上的/etc/apt/sources.list中:

 deb http://repo.percona.com/apt precise main deb-src http://repo.percona.com/apt precise main 

(它必须在某个时间点工作,因为它们都是使用apt-get来安装的)

编辑:从estibordo的build议,我在添加的输出

 apt-cache policy percona-server-server-5.6 

(percona-server-common-5.6&percona-server-client-5.6也是一样的)

从未升级的服务器:

 Percona的服务器 - 服务器 -  5.6:
  安装:1:5.6.15-rel63.0-519.precise
  考生:1:5.6.15-rel63.0-519.precise
  版本表:
  *** 1:5.6.15-rel63.0-519.precise 0
         100 / var / lib / dpkg / status
      5.6.17-65.0-587.precise 0
         500 http://repo.percona.com/apt/精确/主amd64包

在我升级的服务器上,这是输出:

 Percona的服务器 - 服务器 -  5.6:
  安装:5.6.17-65.0-587.precise
  候选人:5.6.17-65.0-587.precise
  版本表:
  *** 5.6.17-65.0-587.precise 0
         500 http://repo.percona.com/apt/精确/主amd64包
         100 / var / lib / dpkg / status

为什么不同,或者更重要的是,我该如何解决5.6.15上的问题? 谢谢。

我觉得

 apt-cache policy percona-server-server 

是你需要的。 它将提供有关已安装版本的信息以及是否还有其他候选人要安装。 它也会告诉你软件包来自哪个仓库。

您可以使用与通配符相同的命令,如:

 apt-cache policy percona* 

目前与一些Ubuntu PPA有同样的问题:仔细查看已安装软件包的版本号。 它有一个领先的1:在开始(“时代” – 见https://askubuntu.com/questions/441879/why-do-some-packages-have-extra-numbers-on-the-front-of-他们的版本string ),这导致Apt认为这是一个更高版本的回购实际更高的版本。 旧的安装来自PPA,还是偶尔更改版本号?

无论如何,由于输出没有说明当前安装的软件包来自何处,因此在此期间可能已从您的configuration中删除了存储库。

我认为最好是删除(不清除;删除应该保持所有的configuration不变;但是,一定要备份相应的文件夹在/ etc)当前包,然后(为了安全起见)做一个apt-get update && apt-get clean ,然后使用apt-get install重新安装软件包。 然后它应该已经忘记了带有1:前缀的版本,并从存储库中安装最新版本。