Обновите все пакеты, кроме MySQL, через aptitude

Прежде чем я обновляю свой дистрибутив Linux, я бы хотел обновить все мои пакеты - однако я хочу придерживаться моей текущей версии MySQL (5.6).

Я знаю, что есть возможность удержать пакет , так:

sudo aptitude hold package_name

Когда я запускаю sudo apt-get upgrade, у меня есть перечисленные ниже пакеты MySQL:

mysql-client-5.6 mysql-client-core-5.6 mysql- common mysql-common-5.6 mysql-server-5.6 mysql-server-core-5.6

Могу ли я передать все команды hold в качестве аргументов? Или есть более простой способ заблокировать мой MySQL от обновления?

Примечание: я работаю в виртуальной машине, поэтому я не могу использовать графический интерфейс, просто терминал.

Обновить [ ! d7]

Хорошо, я попробовал это и ДА, вы можете передать все пакеты команде hold, и они будут не включены в обновление.

Я все еще не уверен, достаточно ли удержать только эти пакеты, чтобы предотвратить обновление MySQL (возможно, другие пакеты, специфичные для MySQL, также должны быть пропущены?). Например, приведенная ниже команда будет содержать большое количество пакетов с «mysql» в имени, и я не знаю, являются ли они релевантными или нет:

sudo aptitude mysql-*
0
задан 27 April 2017 в 19:11

3 ответа

Похоже, вы уже поняли ответ. Однако вы спросили другого с помощью редактирования.

Я все еще не уверен, достаточно ли удержать только эти пакеты, чтобы предотвратить обновление MySQL (возможно, другие пакеты, зависящие от MySQL) ,

Ответ: Нет. Вам не нужно хранить все пакеты, если у вас есть основной пакет, от которого зависит другой пакет. Например, пакеты mysql-server, mysql-client зависят от mysql-common (насколько мне известно), поэтому достаточно удерживать этот пакет.

И aptitude более интеллектуальна, чем apt (d5)

Обновлено с проверкой

Чтобы проверить ответ, я фактически проверил тест с libgtk-3-0 пакет, который является основным пакетом для почти всех приложений gtk-3. У меня была версия 3.18. Затем я включил репозиторий, который предлагает версию 3.20. nautilus зависит от этого пакета, и репо также предлагает более высокую версию nautilus.

Когда вы пытались использовать aptitude upgrade -s (-s для моделирования), он перечисляет пакеты, которые он собирается обновить. nautilus не было, потому что libgtk-3-0 не собирался обновляться, что требовалось новой версии.

Другим вариантом является привязка пакетов, создавая файлы в каталоге /etc/apt/preferences.d, который предлагает больше опций и гибкость. Это не нужно в вашем простом случае, но не больно зная :) Apt Pinning Howto

1
ответ дан 22 May 2018 в 23:09
  • 1
    Отлично. И имеет смысл. Я позволю вам, ребята, знать здесь, на посту, если что-нибудь пойдет на юг. Благодарю. – lesssugar 27 April 2017 в 19:19
  • 2
    @lesssugar Ницца! Надеюсь, ваше обновление будет плавным. Ожидание услышать обновления :) – Anwar 27 April 2017 в 19:20
  • 3
    @lesssugar Вы также можете попытаться установить пакеты. Просто протестирован с пакетом pinning libgtk-3-0, который представляет собой базовый пакет gtk, на который опирается много приложений. С симулированным aptitude upgrade я не нашел nautilus в обновляемом списке там, хотя у меня уже была более высокая версия в репо. Потому что для этой более высокой версии требуется более высокая версия libgtk-3-0, которая закреплена! – Anwar 27 April 2017 в 19:29

Похоже, вы уже поняли ответ. Однако вы спросили другого с помощью редактирования.

Я все еще не уверен, достаточно ли удержать только эти пакеты, чтобы предотвратить обновление MySQL (возможно, другие пакеты, зависящие от MySQL) ,

Ответ: Нет. Вам не нужно хранить все пакеты, если у вас есть основной пакет, от которого зависит другой пакет. Например, пакеты mysql-server, mysql-client зависят от mysql-common (насколько мне известно), поэтому достаточно удерживать этот пакет.

И aptitude более интеллектуальна, чем apt (d5)

Обновлено с проверкой

Чтобы проверить ответ, я фактически проверил тест с libgtk-3-0 пакет, который является основным пакетом для почти всех приложений gtk-3. У меня была версия 3.18. Затем я включил репозиторий, который предлагает версию 3.20. nautilus зависит от этого пакета, и репо также предлагает более высокую версию nautilus.

Когда вы пытались использовать aptitude upgrade -s (-s для моделирования), он перечисляет пакеты, которые он собирается обновить. nautilus не было, потому что libgtk-3-0 не собирался обновляться, что требовалось новой версии.

Другим вариантом является привязка пакетов, создавая файлы в каталоге /etc/apt/preferences.d, который предлагает больше опций и гибкость. Это не нужно в вашем простом случае, но не больно зная :) Apt Pinning Howto

1
ответ дан 18 July 2018 в 14:09

Похоже, вы уже поняли ответ. Однако вы спросили другого с помощью редактирования.

Я все еще не уверен, достаточно ли удержать только эти пакеты, чтобы предотвратить обновление MySQL (возможно, другие пакеты, зависящие от MySQL) ,

Ответ: Нет. Вам не нужно хранить все пакеты, если у вас есть основной пакет, от которого зависит другой пакет. Например, пакеты mysql-server, mysql-client зависят от mysql-common (насколько мне известно), поэтому достаточно удерживать этот пакет.

И aptitude более интеллектуальна, чем apt (d5)

Обновлено с проверкой

Чтобы проверить ответ, я фактически проверил тест с libgtk-3-0 пакет, который является основным пакетом для почти всех приложений gtk-3. У меня была версия 3.18. Затем я включил репозиторий, который предлагает версию 3.20. nautilus зависит от этого пакета, и репо также предлагает более высокую версию nautilus.

Когда вы пытались использовать aptitude upgrade -s (-s для моделирования), он перечисляет пакеты, которые он собирается обновить. nautilus не было, потому что libgtk-3-0 не собирался обновляться, что требовалось новой версии.

Другим вариантом является привязка пакетов, создавая файлы в каталоге /etc/apt/preferences.d, который предлагает больше опций и гибкость. Это не нужно в вашем простом случае, но не больно зная :) Apt Pinning Howto

1
ответ дан 24 July 2018 в 20:20

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

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