Как удалить устаревшие версии ядра в Debian

debianeach

Опубликован:  2018-11-16T06:05:11.277292Z
Отредактирован:  2018-11-30T13:52:10.199651Z

Продолжаем пристальное рассмотрение процесса установки и настройки операционной системы Debian stretch на десктопе. В этой статье рассмотрим процесс удаления из системы устаревших версий ядра на примере десктопа с LXDE.

Итак, старые версии ядра...

Мир движется, развивается, вместе с миром движется и развивается и мир Linux, в ядре находят ошибки, уязвимости, недостатки. Ошибки исправляют, уязвимости закрывают, над недостатками думают и дорабатывают код программы. Таким образом ядро Linux в своём жизненном цикле много раз получает порции обновлений. На конкретной системе Debian stretch ядро обычно обновляется вместе с системой и в процессе обновления системы, иногда случается так, что действующая в системе версия ядра просто заменяется на новую. Проблема состоит в том, что предыдущая версия ядра при обновлении системы не удаляется и остаётся в системе, занимая дисковое пространство до тех пор, пока администратор системы не удалит её принудительно.

Почему и когда старые версии ядра нужно удалять обязательно? Некоторые системы при установке и разметке диска получают точку монтирования /boot на отдельном разделе диска. Это случается, когда система устанавливается либо на логические тома LVM, либо на шифрованные разделы. Выделяют эту файловую систему в отдельный раздел диска потому, что системный загрузчик GRUB не умеет загружать систему с логического тома LVM или с шифрованного раздела. Как правило дисковое пространство раздела /boot имеет ограниченный и очень небольшой размер. При обновлении версии ядра системы в первую очередь расходуется пространство именно этого раздела. Если старые версии ядра не удалять, то однажды дискового пространства /boot просто-напросто не хватит для очередного обновления ядра. Получится коллизия.

Рассмотрим пример действий предпринятых для удаления ядра. Моя система установлена на логические тома LVM и раздел /boot имеет размер 384MiB. Выхлоп программы df покажет как расходуется пространство всех разделов диска.

df -h

9KBxWOjGdC.png

Сейчас я удалю ядро устаревшей версии, увидим, как изменится раздел /boot

Чтобы удалить устаревшие версии ядра мне нужно знать следующее:

  • версии установленных в системе ядер;
  • версию ядра, с которой загружена система.

Определить версии установленных в системе ядер можно при помощи программ dpkg и grep.

dpkg -l | grep linux-image

fQnN5OsMO4.png

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

uname -r

v1L5f4VRGc.png

Таким образом в моей системе имеется две версии ядра, ядро версии 4.9.0-7-amd64 является устаревшим, его можно удалить. Ядро версии 4.9.0-8-amd64 работает в настоящий момент.

Ядро в Debian - это как и любая другая программа прежде всего пакет, и чтобы удалить ядро старой версии нужно удалить одноимённый пакет. Имя пакета, который необходимо удалить, я уже определил при помощи dpkg - это linux-image-4.9.0-7-amd64. Удалить этот пакет можно при помощи apt.

sudo apt-get purge linux-image-4.9.0-7-amd64

j6vVYXUfBv.png

Следует заметить, что при удалении пакета apt в своём выхлопе указывает размер освобождаемого дискового пространства - в данном случае цифры выглядят достаточно весомо. Посмотрим, как удаление пакета отразилось на состоянии раздела /boot.

YSrcY5CsFL.png

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

Цель этого обзора полностью достигнута, в следующем топике поговорим о пользовательском программном обеспечении Debian stretch и способах поиска и установки нужных программ в систему. Продолжение следует...

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