Как пропустить обновление ядра?

Я использую Ubuntu 12.04.1 LTS i686 на VirtulBox. Каждый раз, когда я проверяю обновления, появляется новое ядро ​​Linux. Если я устанавливаю новое ядро, мне нужно снова установить Virtulbox Guest Additions и перезагрузить сервер. Я не хочу делать это каждую неделю. Я знаю, что могу вручную снять флажки с пакетов в диспетчере обновлений, но есть ли способ автоматически пропустить обновление ядра? Я нашел ответ здесь, но это для Ubuntu 10. Спасибо.

25
задан 21 August 2012 в 04:46

7 ответов

APT (Усовершенствованный Упаковочный Инструмент) является системой, которую использование Ubuntu для управления всем программным обеспечением установило в системе. Это позволяет Вам “pin” пакет к определенной версии, так, чтобы это won’t быть обновленным когда Вы выполнения Менеджера обновлений.

Для прикрепления пакетов ядра сначала необходимо определить, каково версия ядро. Один способ сделать это должно открыть Synaptic Package Manager in System> Administration.

enter image description here

Тип в “linux-generic” в Быстром поле искомого текста и хите входит.

enter image description here

Обращают внимание на число, перечисленное в столбце “Installed Version”. We’ll используют его на следующем шаге.

Затем, мы должны отредактировать файл/etc/apt/preferences. Откройте его путем нажатия Alt+F2 для перевода в рабочее состояние Окна приложения Выполнения и ввода в:

gksudo gedit /etc/apt/preferences

enter image description here

Это откроет gedit окно. Скорее всего, окно будет пробелом, если you’ve, играемый вокруг с APT прежде.

В окне, введите в следующем, заменив номер версии номером версии, который Вы нашли в Синаптическом Диспетчере пакетов.

Package: linux-generic linux-headers-generic linux-image-generic linux-restricted-modules-generic
Pin: version <insert version here>
Pin-Priority: 1001

enter image description here

Сохранили файл и закрывают gedit. При открытии Update Manager необходимо видеть, что обновления ядра Linux теперь скрыты!

enter image description here

Источник

Блокирующиеся пакеты с APT/DPKG

Помнят название пакета Вашего ядра сверху.

Откройте терминал и работайте:

sudo -s

И хит входят .

Вводят Ваш пароль для sudo:

echo kernel_package_name hold | dpkg --set-selections

Замена kernel_package_name с названием ядра Вы хотите прикрепить.

Теперь выполненный:

sudo apt-get update && sudo apt-get upgrade

Для удаления контакта из Apt/Dpkg:

Открывают Замену терминала

sudo -s
echo kernel_package install | dpkg --set-selections

kernel_package с пакетом, который Вы хотите прикрепить.

Теперь выполненный:

sudo apt-get update &&  sudo apt-get upgrade

Источник

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

18
ответ дан 21 August 2012 в 04:46

В одной строке это:

echo $(dpkg -l "*$(uname -r)*" | grep image | awk '{print $2}') hold | dpkg --set-selections

Это установит состояние изображения ядра от , установка к содержит и таким образом предотвратит обновления.

16
ответ дан 21 August 2012 в 04:46

Острота Christoph не принимает дополнительный пакет во внимание (например, linux-image-extra-3.13.0-45-generic). Скорее используйте этого:

for i in $(dpkg -l "*$(uname -r)*" | grep image | awk '{print $2}'); do echo $i hold | dpkg --set-selections; done
8
ответ дан 21 August 2012 в 04:46

В предложении superlexx's отношения: та строка пропустит пакет "заголовков":

dpkg -l "*$(uname -r)*" | grep image | awk '{print $2}'
linux-image-3.13.0-48-generic
linux-image-extra-3.13.0-48-generic

Так как насчет того, чтобы просто использовать следующее:

dpkg -l "*$(uname -r)*" | grep kernel | awk '{print $2}'
linux-headers-3.13.0-48-generic
linux-image-3.13.0-48-generic
linux-image-extra-3.13.0-48-generic
4
ответ дан 21 August 2012 в 04:46

Это производит чистку meta пакетов ядра, которые включают обновления ядра:

sudo apt purge $(apt-cache rdepends -i --installed linux-{headers,image}-$(uname -r)|awk '!/[0-9]/ && /^[ ]/{print $1}')

(Если Вы только что обновили ядро, необходимо перезагрузить сначала с новым ядром, или найти последний выпуск ядра и использовать его в вышеупомянутом вместо "$ (uname-r)".)

рекомендуется установить обновления ядер хотя, так как они - главным образом обновления системы защиты.

1
ответ дан 21 August 2012 в 04:46

На Ubuntu 16.04.1 следующие работы кода

for i in $(dpkg -l "*$(uname -r)*" | grep image | awk '{print $2}'); do echo $i hold | sudo dpkg --set-selections; done

улучшения кода Superlexx, эти sudo добавляется

dpkg -l | grep linux-image

, Вы найдете:

привет linux-image-4.4.0-34-generic...

привет linux-image-extra-4.4.0-34-generic...

примечание, которое тег теперь читает hi, не ii

для удаления контакта

for i in $(dpkg -l "*$(uname -r)*" | grep image | awk '{print $2}'); do echo $i install | sudo dpkg --set-selections; done
0
ответ дан 21 August 2012 в 04:46

Более короткая версия: (Замена "содержит" с "установкой" для удаления контакта)

 dpkg -l "*$(uname -r)*" | grep kernel | awk '{print $2,"hold"}' | sudo dpkg --set-selections

Для наблюдения состояния всех изображений ядра и заголовков, работайте:

 dpkg --get-selections | grep "linux-"
0
ответ дан 21 August 2012 в 04:46

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

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