Ядро/Удаление
В этой статье описывается удаление старых ядер.
Удаление исходного кода ядра
После установки нового ядра, и если оно работает удовлетворительно, старое ядро можно удалить. Чтобы удалить старые исходники ядра можно использовать опцию --depclean (укороченная форма - -c) команды emerge. Эта команда удаляет все старые или неиспользованные версии пакета, например sys-kernel/gentoo-sources.
root #
emerge --ask --depclean gentoo-sources:xx.yy.zzz
Пожалуйста убедитесь что вы не удаляете исходники ядра на котором работаете. Посмотрите статью по обновлению ядра для информации о том, как его обновлять.
Защита исходного кода ядра
Если после установки новой версии ядра, но до переключения на новый исходный код была запущена команда emerge --depclean, текущая версия исходных кодов будет удалена. Это удаление может быть нежелательным, так как текущая версия может понадобиться, например, для обновления внешних модулей ядра. Поэтому рекомендуется добавлять конкретную версию ядра в файл world, чтобы защитить её от действий, связанных с --depclean
.
Вот пример того, как это можно сделать:
root #
emerge --depclean --exclude=sys-kernel/gentoo-sources
Благодаря этой команде каталоги с исходным кодом ядра не будут затронуты, и после вы можете очистить их другими инструментами, например, eclean-kernel (который описан ниже).
Удаление остатков ядра
Использование eclean-kernel
app-admin/eclean-kernel это простая программа для очистки/удаления старого ядра. Она удаляет сборочные файлы и каталоги ядра, если на них не ссылается никакое сохраненное ядро.
Смотрите eclean-kernel --help после установки для получения инструкций по использованию:
user $
eclean-kernel --help
usage: eclean-kernel [-h] [-V] [-A] [-l] [-p] [-b BOOTLOADER] [-L LAYOUT] [-r ROOT] [-a] [-d] [-n NUM] [-s SORT_ORDER] [-D] [-M] [--no-bootloader-update] [--no-kernel-install] [-x EXCLUDE] Remove old kernel versions, keeping either N newest kernels (with -n) or only those which are referenced by a bootloader (with -a). optional arguments: -h, --help show this help message and exit -V, --version show program's version number and exit action control: -A, --ask Ask before removing each kernel -l, --list-kernels List kernel files and exit -p, --pretend Print the list of kernels to be removed and exit system configuration: -b BOOTLOADER, --bootloader BOOTLOADER Bootloader used (auto, lilo, grub2, grub, yaboot, symlinks) -L LAYOUT, --layout LAYOUT Layout used (auto, blspec, std) -r ROOT, --root ROOT Alternate filesystem root to use kernel selection: -a, --all Remove all kernels unless used by bootloader -d, --destructive Destructive mode: remove kernels even when referenced by bootloader -n NUM, --num NUM Leave only newest NUM kernels (see also: --sort-order) -s SORT_ORDER, --sort-order SORT_ORDER Kernel sort order (mtime, version); default: version misc options: -D, --debug Enable debugging output -M, --no-mount Disable (re-)mounting /boot if necessary --no-bootloader-update Do not update bootloader configuration after removing kernels (if supported by the bootloader --no-kernel-install Do not call kernel-install while removing kernels (if installed) -x EXCLUDE, --exclude EXCLUDE Exclude kernel parts from being removed (comma-separated, supported parts: vmlinuz, systemmap, config, initramfs, modules, build, misc, emptydir)
Например, чтобы сохранить три последних ядра:
root #
eclean-kernel -n 3
Ручное удаление
Portage, однако, удаляет только те файлы, которые он установил - файлы, созданные во время сборки ядра и установки остаются. Они могут быть безопасно удалены.
- После сборки ядра, файлы созданные во время компиляции остаются и не удаляются Portage:
root #
rm -r /usr/src/linux-3.X.Y
- Во время установки ядра, модули ядра скопируются в подкаталоги /lib/modules/:
root #
rm -r /lib/modules/3.X.Y
- Старые файлы в /boot также могут быть удалены:
root #
rm /boot/vmlinuz-3.X.Y
root #
rm /boot/System.map-3.X.Y
root #
rm /boot/config-3.X.Y
root #
rm /boot/initramfs-X.Y.Z
- И наконец, удалите все оставшиеся записи из файла конфигурации вашего загрузчика.