Ядро/Удаление
В этой статье описывается удаление старых ядер.
Удаление исходного кода ядра
После установки нового ядра, и если оно работает удовлетворительно, старое ядро можно удалить. Чтобы удалить старые исходники ядра можно использовать опцию --depclean (укороченная форма - -c) команды emerge. Эта команда удаляет все старые или неиспользованные версии пакета, например sys-kernel/gentoo-sources.
root #
emerge --ask --depclean gentoo-sources:xx.yy.zzz
Пожалуйста убедитесь что вы не удаляете исходники ядра на котором работаете. Посмотрите статью по обновлению ядра для информации о том, как его обновлять.
Защита исходного кода ядра
Если была установлена новая версия ядра, и вы запустили emerge --depclean до того, как переключились на новый исходный код, текущие исходный код будет удален. Однако, если необходимо сохранить текущий исходный код, это удаление нежелательно, так как он может понадобиться, например, для компиляции внешних модулей ядра. Поэтому хорошей практикой считается добавление конкретной версии ядра в ваш world-файл для защиты его от операций --depclean
.
Удаление остатков ядра
Использование 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
- И наконец, удалите все оставшиеся записи из файла конфигурации вашего загрузчика.