База знаний по Open Source
Авторизация
Поиск по базе знаний

Практически все провайдеры VPS/VDS  использующие виртуализацию KVM предоставляют пользователям виртуальные машины с директорией /boot в отдельном разделе и практически все выделяют под этот раздел 92M.

Хорошо это или плохо – сейчас говорить не будем, так как в сети достаточно споров по этому поводу. Но одно неудобство налицо – нужно ручками убирать старые ядра, так как

sudo apt-get autoremove

в этом случае не работает.

Убедиться в такой разбавке диска и посмотреть свободное место для /boot можно командой df:

$ df -h

Файл.система Размер Использовано Дост Использовано% Cмонтировано в
/dev/vda6 15G 2,6G 11G 20% /
none 4,0K 0 4,0K 0% /sys/fs/cgroup
udev 235M 4,0K 235M 1% /dev
tmpfs 50M 336K 49M 1% /run
none 5,0M 0 5,0M 0% /run/lock
none 246M 0 246M 0% /run/shm
none 100M 0 100M 0% /run/user
/dev/vda1 92M 35M 52M 40% /boot

В этом случае диск (раздел) /dev/vda1 размером 92M смонтирован в /boot.   Посмотрим сколько там сейчас ядер:

$ ls /boot
abi-3.13.0-39-generic config-3.13.0-39-generic grub initrd.img-3.13.0-39-generic lost+found System.map-3.13.0-39-generic vmlinuz-3.13.0-39-generic

Сейчас там одно ядро – 3.13.0-39 занимающее 35M. Еще одно обновление ядра сделать можно, но при следующем на

sudo apt-get dist-upgrade

выдается ошибка, что-то вроде:

Not enough free disk space. The upgrade needs a total of 34,6 M free space on disk ‘/boot’. Please free at least an additional 8 859 k of disk space on ‘/boot’. Empty your trash and remove temporary packages of former installations using ’sudo apt-get clean’.

Можно конечно руками почистить все лишние файлы, но проще и надежнее удалить средствами системы (apt-get) все, что относится к предыдущему ядру:

sudo apt-get purge $( dpkg --list | grep -P -o "linux-image-\d\S+" | grep -v $(uname -r | grep -P -o ".+\d") )

После удаления предыдущих ядер, появится предупреждение, что-то типа:

you may need to re-run your boot loader[grub]

Нужно обновить (перестроить) загрузчик grub:

sudo update-grub

В принципе можно не дожидаться сообщения об ошибке, а делать эту процедуру после каждого обновления ядра и перезагрузки (это обязательно – иначе удалится новое ядро!!!).

Добавить комментарий