Под / boot у нас есть следующие файлы (Red Hat Linux версии 6.6)
cd /boot
# ls -ltr
drwx------ 2 root root 12288 Oct 15 2015 lost+found
-rwxr-xr-x 1 root root 4152624 Oct 15 2015 vmlinuz-2.6.32-504.30.3.el6.x86_64
-rw------- 1 root root 6084011 Oct 15 2015 initrd-2.6.32- 504.30.3.el6.x86_64kdump.img
drwxr-xr-x 3 root root 1024 Oct 15 2015 efi
-rw-r--r-- 1 root root 106371 Oct 15 2015 config-2.6.32-504.30.3.el6.x86_64
-rw-r--r-- 1 root root 2546171 Oct 15 2015 System.map-2.6.32-504.30.3.el6.x86_64
-rw-r--r-- 1 root root 200246 Oct 15 2015 symvers-2.6.32-504.30.3.el6.x86_64.gz
-rw------- 1 root root 19360700 Oct 15 2015 initramfs-2.6.32-504.30.3.el6.x86_64.img
-rwxr-xr-x 1 root root 4222736 Nov 23 2015 vmlinuz-2.6.32-573.12.1.el6.x86_64
-rw-r--r-- 1 root root 107139 Nov 23 2015 config-2.6.32-573.12.1.el6.x86_64
-rw-r--r-- 1 root root 2585672 Nov 23 2015 System.map-2.6.32-573.12.1.el6.x86_64
-rw-r--r-- 1 root root 206008 Nov 23 2015 symvers-2.6.32-573.12.1.el6.x86_64.gz
-rw------- 1 root root 24340354 Jul 16 03:20 initramfs-2.6.32-573.12.1.el6.x86_64.img
drwxr-xr-x 2 root root 1024 Jul 16 03:20 grub
Так как / boot размер очень маленький, (Размер 90M)
Мы хотим удалить предыдущее ядро из / boot включают ВСЕ другие файлы, относящиеся к этому ядру
Текущая работающая версия ядра
# uname -r
2.6.32-573.12.1.el6.x86_64
Итак, теперь я хочу захватить все файлы, не относящиеся к ток ядро, и может быть удален из / boot
egrep -v выполнит работу
# ls -ltr | egrep -v "2.6.32-573.12.1|lost\+found|grub|efi"
-rwxr-xr-x 1 root root 4152624 Oct 15 2015 vmlinuz-2.6.32-504.30.3.el6.x86_64
-rw------- 1 root root 6084011 Oct 15 2015 initrd-2.6.32-504.30.3.el6.x86_64kdump.img
-rw-r--r-- 1 root root 106371 Oct 15 2015 config-2.6.32-504.30.3.el6.x86_64
-rw-r--r-- 1 root root 2546171 Oct 15 2015 System.map-2.6.32-504.30.3.el6.x86_64
-rw-r--r-- 1 root root 200246 Oct 15 2015 symvers-2.6.32-504.30.3.el6.x86_64.gz
-rw------- 1 root root 19360700 Oct 15 2015 initramfs-2.6.32-504.30.3.el6.x86_64.img
# rpm -qa | grep "2.6.32-504.30.3"
kernel-2.6.32-504.30.3.el6.x86_64
так что мой план - выполнить следующие
Удалите предыдущее ядро
rpm –e kernel-2.6.32-504.30.3.el6.x86_64
Удалите следующие файлы из / boot
rm config-2.6.32-504.30.3.el6.x86_64
rm System.map-2.6.32-504.30.3.el6.x86_64
rm symvers-2.6.32-504.30.3.el6.x86_64.gz
rm initramfs-2.6.32-504.30.3.el6.x86_64.img
Мой вопрос:
Мой план рискованно? , или я могу быть конечно что моя процедура безопасна?
Предыдущий ответ должен сработать, но я подумал, что упомянул, что "Yum-utils" может сделать это проще.
rpm -q kernel
yum install yum-utils
package-cleanup --oldkernels --count=2
Я считаю, что ваш план слишком сложен.
Файлы, которые вы предлагаете удалить на шаге 2, скорее всего, в любом случае принадлежат соответствующему пакету ядра. На моей тестовой машине RHEL 6:
$ rpm -qf /boot/initramfs-2.6.32-573.18.1.el6.x86_64.img
kernel-2.6.32-573.18.1.el6.x86_64
и т.п.
Итак, шаг 1 должен удалить все. Что касается того, что удалить, rpm -qa kernel\*
отобразит список всех установленных пакетов ядра. Просто найдите то, что не совпадает uname -r
. Позаботьтесь о том, как это может повлиять на вашу конфигурацию GRUB, но если вы остаетесь в рамках RHEL, тогда GRUB должен ссылаться только на те ядра, которые установлены.