Назад | Перейти на главную страницу

apt-get не получает последнюю версию на некоторых серверах

У меня Percona DB 5.6 на нескольких серверах Ubuntu 12.04. На некоторых из них мне удалось успешно обновить до последней версии (5.6.17), используя

apt-get update
apt-get upgrade

В некоторых других случаях команда apt-get update + upgrade сообщает мне, что делать нечего, хотя установленная версия - только 5.6.15. Почему он не находит самую последнюю версию?

Актуальная версия с серверов, на которых производилось обновление: «Версия сервера: 5.6.17-65.0-587.precise-log (Ubuntu)»

Версия с серверов, которые не обновляются: "Версия сервера: 5.6.15-63.0-log Percona Server (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)

РЕДАКТИРОВАТЬ: из предложения эстибордо я добавляю вывод

apt-cache policy percona-server-server-5.6

(percona-server-common-5.6 и percona-server-client-5.6 тоже идентичны этому)

С серверов, которые не обновляются:

percona-server-server-5.6:
  Installed: 1:5.6.15-rel63.0-519.precise
  Candidate: 1:5.6.15-rel63.0-519.precise
  Version table:
 *** 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/ precise/main amd64 Packages

На моих серверах, которые обновились, это результат:

percona-server-server-5.6:
  Installed: 5.6.17-65.0-587.precise
  Candidate: 5.6.17-65.0-587.precise
  Version table:
 *** 5.6.17-65.0-587.precise 0
        500 http://repo.percona.com/apt/ precise/main amd64 Packages
        100 /var/lib/dpkg/status

В чем разница, или что еще важнее, как исправить те, которые застряли на 5.6.15? Спасибо.

я так думаю

apt-cache policy percona-server-server

это то, что вам нужно. Он предоставит информацию об установленной версии и о наличии других кандидатов для установки. Он также сообщит вам, из каких репозиториев были получены пакеты.

Вы можете использовать ту же команду с подстановочным знаком, например:

apt-cache policy percona*

Возникла та же проблема с некоторыми PPA Ubuntu: внимательно посмотрите на номер версии установленного пакета. В нем ведущая 1: в начале («эпоха» - см. https://askubuntu.com/questions/441879/why-do-some-packages-have-extra-numbers-on-the-front-of-their-version-string), что заставляет Apt думать, что это более высокая версия, чем фактическая более высокая версия из репо. Была ли старая установка из PPA, или они случайно изменили номера версий?

В любом случае, поскольку в выходных данных не указано, откуда берется установленный в данный момент пакет, репозиторий тем временем мог быть удален из вашей конфигурации.

Я думаю, было бы лучше удалить (не очищать; удаление должно оставить всю вашу конфигурацию нетронутой; тем не менее, обязательно сделайте резервную копию соответствующей папки в / etc) текущий пакет, затем (на всякий случай) выполните apt-get update && apt-get clean снова, затем снова установите пакет с помощью apt-get install. Тогда ему следовало забыть о версии с префиксом 1: и установить самую последнюю из репозитория.