我在几台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:前缀的版本,并从存储库中安装最新版本。