Як понизити ядро ​​після поганого оновлення (16.04)


20

Нещодавні оновлення ядра Ubuntu 16.04 (4.4.0-89 та -91) погано вийшли з мого ноутбука. На щастя, у мене ще встановлена ​​попередня, робоча версія (4.4.0-57). Наразі у мене налаштовано Grub, щоб показати мені меню, і я вручну вибираю -57 під час завантаження, але це здається крихким, ймовірно, зламається в майбутньому sudo apt upgrade.

Я думаю, що хочу:

  • Щоб видалити -89 та -91, оскільки вони не приносять мені нічого хорошого.
  • Щоб зробити групу -57 за замовчуванням для Grub таким чином, що зберігатиметься через оновлення.
  • Для забезпечення встановлення -57 залишається встановленим, навіть якщо я встановлю пізніше оновлення ядра
  • Можна легко спробувати пізніші оновлення ядра, але повернути його до -57, якщо воно не вдасться. Моя головна турбота - -57 автоматично видаляється.
  • Якщо я знайду функціонування пізнішого оновлення, простий шлях до повернення до скасування всього цього та повернення до наступних оновлень ядра.

При спробі видалити -91 за допомогою sudo apt remove linux-image-4.4.0-91-genericмене потрібно видалити linux-generic та linux-headers-generic. Це здається поганим, тому я не пробував цього.

Я можу знайти різні питання щодо загальної проблеми, але, здається, жоден не вирішує всіх моїх цілей, і більшість є досить старими, що я не думаю, що вони більше застосовуються.

Який найкращий спосіб зробити це?

Додаток : Це було позначено як дублікат того, як запобігти оновленню певного пакету? . Ця відповідь може стосуватися частини мого запитання, але не стосується більшої картини.

Загалом, проблема полягає в тому, що ядро ​​обробляється незвично. Він встановлюється за допомогою linux-generic, що є не що інше, як залежність від заголовків linux-image-generic та linux-image-заголовків. Це, в свою чергу, лише залежності від linux-linux-image-VERSION-generic та заголовків-VERSION-generic, пакетів, що заслуговує уваги на введення номера версії в назву пакета (імовірно, щоб спростити встановлення декількох паралельно).

У цій відповіді конкретно не звертаються:

  • Не стосується способів видалення -89 та -91.
  • Не стосується, як зробити -57 за замовчуванням для Grub, навіть якщо я встановлюю пізніші оновлення.
  • Не стосується того, як забезпечити, щоб -57 залишався встановленим, навіть якщо я встановлюю пізніші оновлення. Навіть якщо відповідь - тримати один або декілька пакунків, враховуючи кілька пакунків, які я б мав? Якщо мова йде про підтримку Linux-generic, то як я спершу її знижую?

Дуже малоймовірно, що ядра "провалилися" на вашому ноутбуці. Ймовірно, ви встановили якийсь драйвер неправильно, і він "провалився" після оновлення ядра. Ви встановили будь-який графічний драйвер?
Пілот6

Якщо ви видалите останнє ядро ​​та Linux-generic із заголовками, ви досягнете своєї мети. Але, як я вже сказав, проблема в іншому.
Pilot6

1
"не вдалося" не було Wi-Fi, і X незадоволений моєю графікою. Обидва є інтегрованими та використаними драйверами Intel. Проблема зберігалася через кілька перезавантажень, включаючи повне відключення / включення. Тому я моєю метою була зупинка, поки я не зміг серйозно розслідувати. Природно, я починаю збирати певну інформацію для серйозного розслідування і -91 починає працювати, як очікувалося. зітхну, зараз перехрещу пальці.
Алан Де Смет

1
Це не дублікат. Йдеться не про те, щоб заморозити якийсь пакет. Можливо, це дублікат, але не із запропонованого питання.
Пілот6

Відповіді:


19

Видаліть останнє ядро ​​від

sudo apt remove linux-image-4.4.0-91-generic linux-headers-4.4.0-91-generic

Це призведе до видалення мета - пакетів linux-generic, linux-image-genericі linux-headers-generic. Ядра ніколи не будуть оновлені.

Щоб відновити його, можна запустити

sudo apt install linux-generic

Це дозволить встановити останнє ядро, і ядра отримають оновлення.

linux-genericце мета-пакет. Він порожній, але залежить від двох інших мета-пакетів: linux-image-genericі linux-headers-generic.

Останні два пункти стосуються останнього зображення ядра та заголовків.

Якщо ви видалите метапакети, з Linux нічого не буде видалено, але зображення ядра та заголовки не отримуватимуть оновлень. Ви завжди можете їх встановити пізніше. Вони витягнуть останні "справжні" пакети ядра.

Таким чином, рішення полягає в ручному видаленні ядерних пакетів ядра, а також мета-пакунків.


3

Хоча рішення Pilot6 може бути найкращим рішенням, ви можете вжити менш різких заходів.

Я особисто видаляю не потрібні ядра з програмного центру, а потім ставлю ці пакети на утримання - див. Як запобігти оновленню конкретного пакета?

Це банальна зміна, і ви можете переїхати або повернути зміни досить легко.


Який пакет ви пропонуєте взяти?
Pilot6

Linux-generic, мабуть, достатній, я не впевнений. Можливо, потрібно додати в інших, можливо, потрібно вказати саме ядро, але я сумніваюся в цьому.
Пантера

3
sudo apt-mark hold linux-image-generic linux-headers-genericзробить
Пантера

1
@ Pilot6 - Ні, ви не можете зберегти старі ядра та позначити grub, яке ядро ​​для завантаження. askubuntu.com/questions/216398/…
Пантера

1
Так, ти можеш. Але це занадто складно і не має жодного практичного сенсу.
Пілот6
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.