Як безпечно звільнити місце на RHEL6 / boot?


17

Я намагаюся зробити yum updateна RHEL 6 поле, і я отримую це повідомлення про помилку

Transaction Check Error:
  installing package kernel-2.6.32-279.9.1.el6.x86_64 needs 10MB on the /boot filesystem
  installing package grub-1:0.97-77.el6.x86_64 needs 10MB on the /boot filesystem

Error Summary
-------------
Disk Requirements:
  At least 10MB more space needed on the /boot filesystem.

У мого / завантаження є наступне

# ls -lah /boot
total 74M
dr-xr-xr-x.  5 root root 2.0K Jun 10 08:05 .
drwxr-xr-x. 23 root root 4.0K Aug 27 03:08 ..
-rw-r--r--   1 root root  99K Apr 26 12:53 config-2.6.32-220.17.1.el6.x86_64
-rw-r--r--   1 root root  99K Feb 10  2012 config-2.6.32-220.7.1.el6.x86_64
-rw-r--r--.  1 root root  99K Nov  9  2011 config-2.6.32-220.el6.x86_64
drwxr-xr-x.  3 root root 1.0K Mar 29  2012 efi
drwxr-xr-x.  2 root root 1.0K Jun 10 07:53 grub
-rw-r--r--   1 root root  15M Jun 10 07:53 initramfs-2.6.32-220.17.1.el6.x86_64.img
-rw-r--r--   1 root root  15M Mar 29  2012 initramfs-2.6.32-220.7.1.el6.x86_64.img
-rw-r--r--.  1 root root  15M Mar 29  2012 initramfs-2.6.32-220.el6.x86_64.img
-rw-------   1 root root 3.4M Jun 10 08:06 initrd-2.6.32-220.17.1.el6.x86_64kdump.img
-rw-------   1 root root 3.5M Jun 10 07:53 initrd-2.6.32-220.7.1.el6.x86_64kdump.img
-rw-------   1 root root 3.4M Mar 29  2012 initrd-2.6.32-220.el6.x86_64kdump.img
drwx------.  2 root root  12K Mar 29  2012 lost+found
-rw-r--r--   1 root root 168K Apr 26 12:55 symvers-2.6.32-220.17.1.el6.x86_64.gz
-rw-r--r--   1 root root 168K Feb 10  2012 symvers-2.6.32-220.7.1.el6.x86_64.gz
-rw-r--r--.  1 root root 168K Nov  9  2011 symvers-2.6.32-220.el6.x86_64.gz
-rw-r--r--   1 root root 2.3M Apr 26 12:53 System.map-2.6.32-220.17.1.el6.x86_64
-rw-r--r--   1 root root 2.3M Feb 10  2012 System.map-2.6.32-220.7.1.el6.x86_64
-rw-r--r--.  1 root root 2.3M Nov  9  2011 System.map-2.6.32-220.el6.x86_64
-rwxr-xr-x   1 root root 3.8M Apr 26 12:53 vmlinuz-2.6.32-220.17.1.el6.x86_64
-rw-r--r--   1 root root  171 Apr 26 12:53 .vmlinuz-2.6.32-220.17.1.el6.x86_64.hmac
-rwxr-xr-x   1 root root 3.8M Feb 10  2012 vmlinuz-2.6.32-220.7.1.el6.x86_64
-rw-r--r--   1 root root  170 Feb 10  2012 .vmlinuz-2.6.32-220.7.1.el6.x86_64.hmac
-rwxr-xr-x.  1 root root 3.8M Nov  9  2011 vmlinuz-2.6.32-220.el6.x86_64
-rw-r--r--.  1 root root  166 Nov  9  2011 .vmlinuz-2.6.32-220.el6.x86_64.hmac

ось використання диска під час завантаження

# du -h
13K ./lost+found
282K    ./grub
247K    ./efi/EFI/redhat
249K    ./efi/EFI
251K    ./efi
75M .

Проблема полягає в тому, що коли я отримав цю версію в своєму провайдері, я використав їх зображення за замовчуванням для RHEL 6, що виділяє лише 100 Мб для / завантаження, очевидно, цього недостатньо. Як я можу вирішити цю проблему, чи безпечно видалити будь-який із перерахованих вище файлів, деякі з них, здається, є на диску не один раз? Чи існує якийсь спосіб розширення / завантаження без повторної обробки машини?

Відповіді:


16

Наступна команда видалить ВСІ версії ядра, за винятком тієї, яку Ви зараз виконуєте:

sudo yum remove `rpm -q kernel | grep -v 'uname -r'`

і для руху вперед, за ⁠7.4. Налаштування Yum та Yum Repositories :

⁠Installonly_limit = значення

… Де значення - це ціле число, що представляє максимальну кількість версій, які можуть бути встановлені одночасно для будь-якого одного пакета, зазначеного в директиві installlonlypkgs. За замовчуванням директива Installonlypkgs включає кілька різних пакетів ядра, тому врахуйте, що зміна значення Installonly_limit також вплине на максимальну кількість встановлених версій будь-якого одного пакета ядра. Значення за замовчуванням, вказане в /etc/yum.conf, встановлено_літіт = 3, і не рекомендується зменшувати це значення, особливо нижче 2.


4
Можливо, залиште одну версію раніше, щоб мати резервну копію ...
EasyEcho

1
Чи можете ви також зробити це: rpm -qa | grep -v `uname -r` | grep kernel- щоб отримати список ядер, які не використовуються?
Pred

Краще рішення, ніж перелічено @Pred, - використовувати очищення пакунків. Дивіться цю відповідь, як: serverfault.com/a/562201/98791
кодер

Хіба ця команда також не видаляє поточне ядро ​​(тому що unme -r оточений 'замість')?
до побачення

29

Відповідно до рекомендації MadHatter тут . Я опублікую свою відповідь тут як доповнення до відповідей тут, щоб її можна було використовувати разом із запропонованими тут відповідями.

Взяте з наступного веб-сайту

## Install yum utils ##
yum install yum-utils

## Package-cleanup set count as how many old kernels you want left ##
package-cleanup --oldkernels --count=2

Це видалить усі старіші ядра і збереже лише два останніх ядра на centos 6.4. Це, мабуть, те, що ви хочете, оскільки останні ядра містять виправлення помилок, і ви завжди можете переходити на старіші ядра, якщо нові не завантажуються. Наведена вище команда означає, що вам не потрібно йти і говорити rpm -e xyz, де xyz - ваше конкретне ядро, оскільки воно автоматично зберігає новіші.

Зауважте, що наведена вище команда очищає лише існуючі пакунки, тому редагування yum.conf необхідне, якщо ви не хочете знову починати накопичувати пакети ядра.


Погоджено, найкраще рішення, і package-cleanup
підкаже,

8

Видаліть принаймні одне із старих ядер, як сказав алексус.

Потім:

Відредагуйте /etc/yum.confта вкажіть обмеження кількості версій ядра, які потрібно зберегти. За замовчуванням встановлено 5, але, здається, ваша система може працювати лише з двома:

installonly_limit=2

Нарешті, поскаржиться постачальнику VPS на дивний шаблон. /bootза замовчуванням становить 500 Мб в установці CentOS 6.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.