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

Я не знаю, как узнать, что вызывает проблему, но я удалил файл .xsession-errors, а затем коснулся его root. Думайте, что это должно эффективно решить проблему. Я собираюсь оставить это неприемлемым, хотя в случае, если кто-либо когда-либо предоставит реальное решение.

1
задан 21 August 2012 в 05:46

6 ответов

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

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

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

16
ответ дан 25 May 2018 в 07:22

Однострочный шрифт от 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
ответ дан 25 May 2018 в 07:22

В отношении предложения superlexx: эта строка пропустит пакет «headers»:

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
ответ дан 25 May 2018 в 07:22
  • 1
    Если пакеты extras / headers / etc не отмечены, есть ли проблемы? Или вы предлагаете маркировать их также для полноты? Я ожидаю, что Ubuntu не попытается установить обновленный пакет заголовков, пока не будет установлено linux-образ (заголовки будут зависимостью изображения). Мне еще нужно это проверить. – whitehat101 14 November 2015 в 05:02
  • 2
    Вы, ребята, могли бы сотрудничать на одном однострочном лайнере вместо того, чтобы складывать 3 андерсера один на другой. = P Просто скажи – cubuspl42 12 November 2016 в 04:33
  • 3
    Необязательно вызывать grep, если вы уже используете awk: dpkg -l "*$(uname -r)*" | awk '/kernel/{print $2}' – Javier López 29 June 2017 в 02:15

Это очищает пакеты мета ядра, которые позволяют обновлять ядра:

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

(Если вы только что обновили ядро, вам нужно сначала перезагрузить его с новым ядром или найти последнюю версию ядра и использовать ее

Рекомендуется устанавливать обновления ядер, хотя они в основном являются обновлениями безопасности.

1
ответ дан 25 May 2018 в 07:22

В 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

. Вы найдете :

hi linux-image-4.4.0-34-generic ... hi linux-image-extra-4.4.0-34-generic ...

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

, чтобы удалить контакт

for i in $(dpkg -l "*$(uname -r)*" | grep image | awk '{print $2}'); do echo $i install | sudo dpkg --set-selections; done
0
ответ дан 25 May 2018 в 07:22
  • 1
    Хороший ответ, но вы помещаете sudo в комментарий, а не команду ... – WinEunuuchs2Unix 19 January 2017 в 00:49

Более короткая версия: (Заменить «hold» на «install», чтобы удалить контакт)

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

Чтобы просмотреть состояние всех изображений и заголовков ядра, запустите:

 dpkg --get-selections | grep "linux-"
0
ответ дан 25 May 2018 в 07:22

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

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