
У меня 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), Release 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)
EDIT: По предложению estibordo я добавляю вывод
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.точный 0 100 /var/lib/dpkg/статус 5.6.17-65.0-587.точный 0 500 http://repo.percona.com/apt/ exact/main amd64 Пакеты
На моих серверах, которые обновились, вот такой вывод:
percona-сервер-сервер-5.6: Установлено: 5.6.17-65.0-587.precise Кандидат: 5.6.17-65.0-587.точный Таблица версий: *** 5.6.17-65.0-587.точный 0 500 http://repo.percona.com/apt/ exact/main amd64 Пакеты 100 /var/lib/dpkg/статус
Почему такая разница, или, что еще важнее, как исправить те, которые зависли на 5.6.15? Спасибо.
решение1
я думаю что
apt-cache policy percona-server-server
то, что вам нужно. Он предоставит информацию об установленной версии и о том, есть ли другие кандидаты на установку. Он также сообщит вам, из каких репозиториев были получены пакеты.
Вы можете использовать ту же команду с подстановочным знаком, например:
apt-cache policy percona*
решение2
В настоящее время та же проблема с некоторыми Ubuntu PPA: внимательно посмотрите на номер версии установленного пакета. Он начинается с 1: ("эпохи" - см.https://askubuntu.com/questions/441879/почему-некоторые-пакеты-имеют-дополнительные-номера-в-передней-части-их-строки-версии), что приводит Apt к мысли, что это более высокая версия, чем фактическая более высокая версия из репозитория. Старая установка была взята из PPA, или они случайно изменили номера версий?
В любом случае, поскольку в выводе не указано, откуда взят текущий установленный пакет, репозиторий мог быть удален из вашей конфигурации.
Я думаю, что лучше всего удалить (не очистить; удаление должно оставить всю вашу конфигурацию нетронутой; тем не менее, обязательно сделайте резервную копию соответствующей папки в /etc) текущий пакет, затем (просто для надежности) повторите попытку apt-get update && apt-get clean
, затем установите пакет снова обычным способом с помощью apt-get install
. Затем он должен забыть о версии с префиксом 1: и установить самую последнюю версию из репозитория.