Если у тебя что-то работает - ничего не трогай и не улучшай!
Основное правило системного администратора
Скорострельность компании Canonical в плане выпуска новых ядер - поражает. Это безусловно хорошо: исправляются старые ошибки, добавляется поддержка оборудования, новые возможности.
При установке нового ядра - старые не удаляются автоматически. Это сделано для того, чтобы при каких-либо сбоях новой версии всегда была возможность откатиться назад и вернуть всё как было.
Но при этом:
1. Разрастается загрузочное меню grub (каждая версия ядра занимает 2 его строчки).
2. Уменьшается свободное место на диске, где старые файлы лежат мёртвым грузом (примерно 100 мегабайт для каждой версии)
Если это мешает, имеет смысл удалить старые версии вручную.
Смотрим установленные ядра:
dpkg -l | grep linux-image
У меня получился вот такой списочек:
ii linux-image-2.6.32-21-generic 2.6.32-21.32 ii linux-image-2.6.32-22-generic 2.6.32-22.36 ii linux-image-2.6.32-23-generic 2.6.32-23.37 ii linux-image-2.6.32-24-generic 2.6.32-24.43 ii linux-image-2.6.32-25-generic 2.6.32-25.45 ii linux-image-2.6.32-26-generic 2.6.32-26.48 ii linux-image-2.6.32-27-generic 2.6.32-27.49 ii linux-image-generic 2.6.32.27.29
Конечно же, нам столько не надо.
Достаточно оставить текущую версию и, на всякий случай, предыдущую.
Ампутируем лишнее:
apt-get remove linux-image-[номер_версии]-generic
apt-get remove linux-headers-[номер_версии]
linux-headers-[номер_версии] - это файлы заголовков для ядра. Без самого ядра бессмысленны. Пакет linux-headers-[] утянет с собой сопутствующий linux-headers-[]-generic, не волнуйтесь, так и должно быть.
Повторяем процедуру для каждого лишнего номера_версии.
Меню grub обновится автоматически.
Ядро
linux-image-[номер_версии]-generic
Состоит из файлов:
- abi-[номер_версии]-generic
- config-[номер_версии]-generic
- initrd.img-[номер_версии]-generic
- System.map-[номер_версии]-generic
- vmcoreinfo-[номер_версии]-generic
- vmlinuz-[номер_версии]-generic
Файлы лежат в каталоге /boot и занимают в сумме 10-15 мегабайт.
Заголовки
linux-headers-[номер_версии]
linux-headers-[номер_версии]-generic
Находятся в /usr/src, занимают примерно 80 мегабайт.
- Как удалить старое ядро, не удаляя новое ? Самый простой способ
- Удаление старых ядер Ubuntu
- Удаление старых ядер и заголовков в Ubuntu
- Автоматическое удаление старых ядер в Ubuntu
Комментарии
Имя
#cid1235
Ответить
Вместо dpkg -l | grep linux-image, логичнее использовать aptitude search ~ilinux-image.
Ну и aptitude лучше, да.
Ещё можно что-нибудь вроде aptitude purge $(aptitude search ~ilinux-image -F %p | egrep -v "$(uname -r)|linux-image-generic")
#cid1248
Ответить
Да можно и synaptic, речь-то про убунту.
Кто бы спорил. Но Canonical приучает почему-то к apt-get.
А предпоследнее ядро?! )
Тем, кто так умеет - эта статья не нужна.
Максим
#cid67545
Ответить
А если после такое операции в \boot все равно много остается? при этом указание на такое ядро возвращает:
rc linux-image-2.6.32-24-generic-pae 2.6.32-24.43 Linux kernel image for version 2.6.32 on x86
rc linux-image-2.6.32-28-generic-pae 2.6.32-28.55 Linux kernel image for version 2.6.32 on x86
rc linux-image-2.6.32-29-generic-pae 2.6.32-29.58 Linux kernel image for version 2.6.32 on x86
rc linux-image-2.6.32-30-generic-pae 2.6.32-30.59 Linux kernel image for version 2.6.32 on x86
rc linux-image-2.6.32-31-generic-pae 2.6.32-31.61 Linux kernel image for version 2.6.32 on x86
rc linux-image-2.6.32-32-generic-pae 2.6.32-32.62 Linux kernel image for version 2.6.32 on x86
:/boot# apt-get remove linux-image-2.6.32-32-generic-pae
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Пакет linux-image-2.6.32-32-generic-pae не установлен, поэтому не может быть удалён
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
:/boot# apt-get remove linux-image-2.6.32-32-generic
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Пакет linux-image-2.6.32-32-generic не установлен, поэтому не может быть удалён
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Как в таком случае поступать?
Максим
#cid67547
Ответить
Разобрался, purge в помощь, для каждого пакета:
:/boot# dpkg --purge linux-image-2.6.32-47-generic-pae
#cid67584
Ответить
#cid67545, Максим
Коды пакетов при выводе dpkg -l
ЗБС
#cid91569
Ответить
Заебись