Ядро/Удаление

From Gentoo Wiki
< Kernel
Jump to:navigation Jump to:search
This page is a translated version of the page Kernel/Removal and the translation is 89% complete.

В этой статье описывается удаление старых ядер.

Удаление исходного кода ядра

После установки нового ядра, и если оно работает удовлетворительно, старое ядро ​​можно удалить. Чтобы удалить старые исходники ядра можно использовать опцию --depclean (укороченная форма - -c) команды emerge. Эта команда удаляет все старые или неиспользованные версии пакета, например sys-kernel/gentoo-sources.

root #emerge --ask --depclean gentoo-sources:xx.yy.zzz

Пожалуйста убедитесь что вы не удаляете исходники ядра на котором работаете. Посмотрите статью по обновлению ядра для информации о том, как его обновлять.

Защита исходного кода ядра

Если была установлена новая версия ядра, и вы запустили emerge --depclean до того, как переключились на новый исходный код, текущие исходный код будет удален. Однако, если необходимо сохранить текущий исходный код, это удаление нежелательно, так как он может понадобиться, например, для компиляции внешних модулей ядра. Поэтому хорошей практикой считается добавление конкретной версии ядра в ваш world-файл для защиты его от операций --depclean.

An example of a way to do this:

root #emerge --depclean --exclude=sys-kernel/gentoo-sources

This will leave all of your kernel source build directories alone during cleanup, which you can then clean up with tools like eclean-kernel, referenced below.

Удаление остатков ядра

Использование 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
  • И наконец, удалите все оставшиеся записи из файла конфигурации вашего загрузчика.