вторник, 11 апреля 2017 г.

Новое ядро для Linux Mint

По умолчанию, политика обновлений Linux Mint не предусматривает обновлений ядра, так как это, по мнению его майнтейнеров, может отрицательно сказаться на работоспособности системы или в некоторых случаях привести к её полной неработоспособности.

Как правило, термин "майнтейнер" (жарг.) относится к специалистам,    занимающимся сопровождением компонентов, относящихся  к  операционной системе Linux и некоторых других элементов так называемого свободно распространяемого ПО (Open Source). Так как вся  ответственность по конфигурированию разрабатываемых сообществом  программистов компонентов может приниматься на себя самостоятельно, отдельные мейнтейнеры берут на себя те или иные   участки работы и занимаются отладкой, конфигурированием и сопровождением постоянно меняющегося набора компонентов,  решающего конкретную выбранную ими задачу.

Чтобы получать обновления ядра и обновления безопасности осуществите действия:

1. В политике обновлений поставьте "Всегда обновлять всё".


2. В менеджере обновлений (Правка – Параметры) необходимо установить галочки, как показано на рисунке ниже:


3. Включите отображение обновлений по уровням 4 и 5.


После этого у Вас станут отображаться новые ядра. Правда они будут помечены красным значком как "опасные", влияющие на стабильность системы. Отмечу, что за все 4 года работы на Linux Mint никаких отрицательных последствий от "обновлений всего" у меня не наблюдалось. Единичный случай касался невозможности запуска VirtualBox, ещё не поддерживавшим работу на установленном мной ядре. И то он относился к практикуемому мной обновлению ядра с kernel.ubuntu.com

Для установки самого свежего ядра зайдите на kernel.ubuntu.com и, основываясь на разрядности Вашей системы (32 или 64 бит) найдите последнее стабильное ядро. Например, на момент написания этой публикации самым последним стабильным ядром являлось 4.10.9


Для установки в своей 64-битной системе выбираю пакеты amd64.deb  linux-headers-4.10.9, linux-headers-4.10.9-generic и linux-image-4.10.9-generic: 


Скачиваю их и последовательно запускаю через установку пакетов Gdebi.

Проверьте, чтобы все зависимости были удовлетворены. Уведомление об этом должно высветиться чуть ниже заголовка окна:


После установки пакета уведомление должно поменяться на:


Чтобы Ваша система загрузилась с новым ядром выполните в терминале:

sudo update-grub

Вижу в терминале:

Создание конфигурационного файла grub...
Найден образ linux: /boot/vmlinuz-4.10.9-041009-generic
Найден образ initrd: /boot/initrd.img-4.10.9-041009-generic
Найден образ linux: /boot/vmlinuz-4.10.8-041008-generic
Найден образ initrd: /boot/initrd.img-4.10.8-041008-generic
Найден образ linux: /boot/vmlinuz-4.10.6-041006-generic
Найден образ initrd: /boot/initrd.img-4.10.6-041006-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
завершено


Видно, что в настоящее время у меня системе имеется 3 ядра, поэтому одно можно удалить. Удалению подлежит ядро 4.10.6  Так как ещё не известно, как себя система себя поведёт с новым ядром, то предыдущее работающее ядро 4.10.8 оставляю (надеюсь, что Вы не станете удалять все ядра).

Как удалять старые ядра описано в этой публикации.

Ниже приводится листинг процесса удаления:

sudo apt purge linux-image-4.10.6-041006 && sudo apt purge linux-headers-4.10.6-041006
[sudo] пароль для ... (вместо ... будет отображён Ваш логин в системе):
Чтение списков пакетов… Готово
Построение дерева зависимостей      
Чтение информации о состоянии… Готово
Заметьте, выбирается «linux-image-4.10.6-041006-generic» для regex «linux-image-4.10.6-041006»
Следующие пакеты устанавливались автоматически и больше не требуются:
  git git-man liberror-perl libowncloudsync0 libqt5keychain0
Для их удаления используйте «sudo apt autoremove».
Пакеты, которые будут УДАЛЕНЫ:
  linux-image-4.10.6-041006-generic*
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 1 пакетов, и 1 пакетов не обновлено.
После данной операции, объём занятого дискового пространства уменьшится на 220 MB.
Хотите продолжить? [Д/н] y
(Чтение базы данных … на данный момент установлен 303461 файл и каталог.)
Удаляется linux-image-4.10.6-041006-generic (4.10.6-041006.201703260832) …
Examining /etc/kernel/prerm.d.
run-parts: executing /etc/kernel/prerm.d/dkms 4.10.6-041006-generic /boot/vmlinuz-4.10.6-041006-generic
dkms: removing: ndiswrapper 1.60 (4.10.6-041006-generic) (x86_64)

-------- Uninstall Beginning --------
Module:  ndiswrapper
Version: 1.60
Kernel:  4.10.6-041006-generic (x86_64)
-------------------------------------

Status: Before uninstall, this module version was ACTIVE on this kernel.

ndiswrapper.ko:
 - Uninstallation
   - Deleting from: /lib/modules/4.10.6-041006-generic/updates/
 - Original module
   - No original module was found for this module on this kernel.
   - Use the dkms install command to reinstall any previous module version.

depmod.......

DKMS: uninstall completed.
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 4.10.6-041006-generic /boot/vmlinuz-4.10.6-041006-generic
update-initramfs: Deleting /boot/initrd.img-4.10.6-041006-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 4.10.6-041006-generic /boot/vmlinuz-4.10.6-041006-generic
Создание конфигурационного файла grub...
Найден образ linux: /boot/vmlinuz-4.10.9-041009-generic
Найден образ initrd: /boot/initrd.img-4.10.9-041009-generic
Найден образ linux: /boot/vmlinuz-4.10.8-041008-generic
Найден образ initrd: /boot/initrd.img-4.10.8-041008-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
завершено
Вычищаются файлы настройки пакета linux-image-4.10.6-041006-generic (4.10.6-041006.201703260832) …
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 4.10.6-041006-generic /boot/vmlinuz-4.10.6-041006-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 4.10.6-041006-generic /boot/vmlinuz-4.10.6-041006-generic
Чтение списков пакетов… Готово
Построение дерева зависимостей      
Чтение информации о состоянии… Готово
Следующие пакеты устанавливались автоматически и больше не требуются:
  git git-man liberror-perl libowncloudsync0 libqt5keychain0
Для их удаления используйте «sudo apt autoremove».
Пакеты, которые будут УДАЛЕНЫ:
  linux-headers-4.10.6-041006* linux-headers-4.10.6-041006-generic*
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 2 пакетов, и 1 пакетов не обновлено.
После данной операции, объём занятого дискового пространства уменьшится на 79,9 MB.
Хотите продолжить? [Д/н] y
(Чтение базы данных … на данный момент установлено 297385 файлов и каталогов.)
Удаляется linux-headers-4.10.6-041006-generic (4.10.6-041006.201703260832) …
dpkg: предупреждение: при удалении linux-headers-4.10.6-041006-generic каталог «/lib/modules/4.10.6-041006-generic» не пуст, поэтому не удалён
Удаляется linux-headers-4.10.6-041006 (4.10.6-041006.201703260832) …


После завершения процесса должно высветиться приглашение командной строки, например:

manager@H67 ~ $

Как указано в листинге не удалённым остался каталог 4.10.6-041006-generic, который расположен в /lib/modules/. Поэтому запускаю Midnight Commander под суперпользователем (sudo mc) и удаляю его вручную.


После удаления ядра 4.10.6 обновляю конфигурацию загрузчика:

sudo update-grub
Создание конфигурационного файла grub...
Найден образ linux: /boot/vmlinuz-4.10.9-041009-generic
Найден образ initrd: /boot/initrd.img-4.10.9-041009-generic
Найден образ linux: /boot/vmlinuz-4.10.8-041008-generic
Найден образ initrd: /boot/initrd.img-4.10.8-041008-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
завершено


Перезагружаюсь и проверяю версию ядра:

uname -r
4.10.9-041009-generic


Если у Вас что-то работает не так, то вернитесь в предыдущей версии ядра. В рассматриваемом примере это будет 4.10.8

Плохих последствий от установок даже самых новых ядер, полученных от kernel.ubuntu.com у меня не наблюдалось. Но если вдруг ... у Вас не загрузится графическое окружение и при загрузке будет возможность или предпринять ещё одну попытку ли перейти в режим пользователя root.

Заранее

1. Установите заранее себе Midnight Commander: sudo apt install mc  При невозможности загрузки графического окружения Вы всегда сможете запустить Midnight Commander.

2. Сохраните в файл команды:

sudo apt purge linux-image- && sudo apt purge linux-headers-

и sudo update-grub

Запись на бумажке может потеряться, записной книжки в самый нужный момент не окажется под рукой. А файл с командами Вы увидите в Midnight Commander.

При загрузке без графического интерфейса

Первый вариант

1. Попробовать загрузиться с более "старым" ядром. Для этого (если Вы не занимались настройкой загрузчика) при появлении меню загрузчика с 10-ти секундным ожиданием нажмите на клавишу "стрелка вниз", чтобы выбрать дополнительные параметры.


2. После этого нажмите Enter и выберите из списка нужное ядро.


 Второй вариант 

1. Перейдите в режим пользователя root.

2. Запустите sudo mc и посмотрите в boot, какое последнее ядро Вы установили.


Как видно из примера, это ядро 4.10.9-041009

3. Запомните или запишите эти цифры. Эти цифры необходимо подставить после знака дефиса в первой команде, которую Вы сохранили в файл.

4. Теперь для возврата к предыдущему работающему ядру осталось выйти из Midnight Commander и выполнить команды:

sudo apt purge linux-image-4.10.9-041009 && sudo apt purge linux-headers-4.10.9-041009

sudo update-grub

После перезагрузки система должна загрузиться с предыдущим ядром, при котором у Вас всё было хорошо.

 Третий вариант  связан с изменением файла настроек grub, который называется grub.cfg


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

Для этого найдите строчку menuentry с указанием версии Вашей ОС


и ниже попробуйте поменять указанное ядро (ищите цифры, на рисунке эти цифры 4.10.9-041009) на предыдущее работающее


Перезагрузитесь.

Повторюсь, что за 4 года у меня ни разу не возникало ситуации с невозможностью загрузки системы в графическом режиме при установке новых ядер из kernel.ubuntu.com  Если Вы не планируете пользоваться новейшими ядрами kernel.ubuntu.com, а ограничитесь ядрами, которые будут предоставлены в рамках обновлений системы по уровню 5, то, надеюсь, что у Вас тем более не возникнет описанной выше гипотетической ситуации.

Комментариев нет:

Отправить комментарий