Как закрепить конкретную версию MySQL, чтобы избежать ненужных обновлений?

Я использую сервер MySQL и хочу регулярно обновлять его. Я не хочу, чтобы MySQL обновлялся, если я не делаю это во время запланированного простоя! Как мне изменить мои apt-предпочтения, чтобы этого не произошло?

Я попытался добавить это в файл как /etc/apt/preferences.d/pin-mysql

Package: mysql-client-5.1
Pin: version 5.1.41-3ubuntu12.7
Pin-Priority: 1001

Package: mysql-client-core-5.1
Pin: version 5.1.41-3ubuntu12.7
Pin-Priority: 1001

Package: mysql-common
Pin: version 5.1.41-3ubuntu12.7
Pin-Priority: 1001

Package: mysql-server
Pin: version 5.1.41-3ubuntu12.7
Pin-Priority: 1001

Package: mysql-server-5.1
Pin: version 5.1.41-3ubuntu12.7
Pin-Priority: 1001

Package: mysql-server-core-5.1
Pin: version 5.1.41-3ubuntu12.7
Pin-Priority: 1001

Это означает, что пакеты прикреплены к выводу «политики apt-cache»:

... all package sources here
 500 http://security.ubuntu.com/ubuntu/ lucid-security/universe Packages
     release v=10.04,o=Ubuntu,a=lucid-security,n=lucid,l=Ubuntu,c=universe
     origin security.ubuntu.com
 500 http://security.ubuntu.com/ubuntu/ lucid-security/restricted Packages
     release v=10.04,o=Ubuntu,a=lucid-security,n=lucid,l=Ubuntu,c=restricted
     origin security.ubuntu.com
... etc
Pinned packages:
     mysql-server -> 5.1.41-3ubuntu12.7
     mysql-server-core-5.1 -> 5.1.41-3ubuntu12.7
     mysql-client-core-5.1 -> 5.1.41-3ubuntu12.7
     mysql-common -> 5.1.41-3ubuntu12.7
     mysql-server-5.1 -> 5.1.41-3ubuntu12.7
     mysql-client-5.1 -> 5.1.41-3ubuntu12.7

Однако ... запуск aptitude safe-upgrade только что обновил MySQL ... что я делаю не так? [ 115]

4
задан 27 January 2011 в 23:34

2 ответа

Если вы хотите предотвратить обновление пакета, то закрепление - не лучший способ. То, что вам нужно, называется удержанием, и вы можете узнать, как это сделать на этой странице в онлайн-справке Ubuntu

.
0
ответ дан 27 January 2011 в 23:34

Похоже, что удержание - это путь, хотя я не совсем уверен в разнице между удержаниями dpkg и aptitude.

Во всяком случае - следующий скрипт делает то, что я хочу, и исключаю список пакетов из aptitude safe-upgrade.

#!/bin/bash

# Stop the mysql packages from upgrading!
# Must run as root! Check presence of the packages-hold.log file to avoid running repeatedly.

PACKAGES="mysql-client-5.1 mysql-client-core-5.1 mysql-common mysql-server mysql-server-5.1 mysql-server-core-5.1 linux-image-server linux-image-2.6.32-28-server"

for PACKAGE in $PACKAGES;
do
    /bin/echo $PACKAGE hold | /usr/bin/dpkg --set-selections
done
/usr/bin/aptitude hold $PACKAGES
echo $PACKAGES > /var/log/packages-hold.log

Без выполнения строки удержания aptitude aptitude все равно будет пытаться обновить пакеты, помеченные командой dpkg --set-selections, и Я думаю, что применимо и обратное.

К вашему сведению - это также блокирует постоянное обновление образа ядра. Меня интересует только это обновление, если оно связано с соображениями безопасности с высоким приоритетом, поскольку оно всегда сопровождается перезагрузкой.

0
ответ дан 27 January 2011 в 23:34

Другие вопросы по тегам:

Похожие вопросы: