[FreeBSD] Установка нового ядра, если не хватает места

Предположим, вам достался старый сервер, у которого на корневом разделе доступного места всего 500 мб и 300 из них заняты. Нужно обновить ОС или пересобрать ядро? Ниже покажу как и где можно сэкономить место.

1. удаляем symbols

Если вам не нужен debug, можно смело удалять *.symbols из папки /boot/kernel/.

2. удаляем не используемые модули

Если и этого не достаточно, то можно переместить не используемые модули в другое место. А узнать какие модули не используются, можно через kldstat:

# kldstat 
Id Refs Address            Size     Name
 1   28 0xffffffff80200000 17bcab8  kernel
 2    1 0xffffffff81a11000 1ee143   zfs.ko
 3    1 0xffffffff81c00000 3330     opensolaris.ko
 4    1 0xffffffff81c04000 33520    pf.ko
 5    1 0xffffffff81c38000 382f     ng_socket.ko
 6    2 0xffffffff81c3c000 ba02     netgraph.ko
 7    1 0xffffffff81c48000 2b99     ng_mppc.ko
 8    1 0xffffffff81c4b000 80c      rc4.ko
 9    1 0xffffffff81c4c000 81bd     ipmi.ko
10    1 0xffffffff81c55000 ba8      smbus.ko

Теперь смело перемещаем все модули, кроме тех, которые перечислены в столбце Name.

3. Сжатие

Можно сжать ядро:

# gzip -9 kernel

4. удаление отладочных символов из модулей и ядра:

# for i in `ls /boot/kernel/*.ko` ; do strip $i;done
# strip --remove-section=.note --remove-section=.comment /boot/kernel/kernel

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *