завантажувальний розділ у CentOS майже повний


23

Я отримав попередження про те, що мій / завантажувальний розділ майже повний (85%). Що я повинен зробити? Чи можна видалити одне резервне ядро? Як це зробити безпечно?

Мій розділ зараз

Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda2             10321208    719856   9077064   8% /
tmpfs                  4015460         0   4015460   0% /dev/shm
/dev/sda1               101133     80781     15130  85% /boot
/dev/sda8            253782660  47668764 193222404  20% /home
/dev/sda7              1032088    535840    443820  55% /tmp
/dev/sda3             10321208   4823740   4973180  50% /usr
/dev/sda5             10321208   1807284   7989636  19% /var

Ядро у мене є

root@server1 [/boot]# rpm -q kernel
kernel-2.6.32-358.el6.x86_64
kernel-2.6.32-358.18.1.el6.x86_64
kernel-2.6.32-358.23.2.el6.x86_64

Каталог / Boot

root@server1 [/boot]# ls -la /boot
total 78741
dr-xr-xr-x.  5 root root     2048 Dec  3 05:33 ./
drwxr-xr-x. 23 root root     4096 Dec  4 05:46 ../
-rw-r--r--   1 root root   104112 Aug 28 12:43 config-2.6.32-358.18.1.el6.x86_64
-rw-r--r--   1 root root   104112 Oct 16 14:01 config-2.6.32-358.23.2.el6.x86_64
-rw-r--r--.  1 root root   104081 Feb 21  2013 config-2.6.32-358.el6.x86_64
drwxr-xr-x.  3 root root     1024 Sep 20 20:15 efi/
drwxr-xr-x.  2 root root     1024 Oct 21 15:06 grub/
-rw-r--r--   1 root root 16191847 Sep 20 20:21 initramfs-2.6.32-358.18.1.el6.x86_64.img
-rw-r--r--   1 root root 16261655 Oct 21 15:06 initramfs-2.6.32-358.23.2.el6.x86_64.img
-rw-r--r--.  1 root root 16187335 Sep 20 20:16 initramfs-2.6.32-358.el6.x86_64.img
-rw-------   1 root root  3698835 Sep 20 20:27 initrd-2.6.32-358.18.1.el6.x86_64kdump.img
-rw-------   1 root root  3983771 Dec  3 05:33 initrd-2.6.32-358.23.2.el6.x86_64kdump.img
-rw-------   1 root root  3695290 Sep 20 20:21 initrd-2.6.32-358.el6.x86_64kdump.img
drwx------.  2 root root    12288 Sep 20 20:13 lost+found/
-rw-r--r--   1 root root   185949 Aug 28 12:44 symvers-2.6.32-358.18.1.el6.x86_64.gz
-rw-r--r--   1 root root   185978 Oct 16 14:02 symvers-2.6.32-358.23.2.el6.x86_64.gz
-rw-r--r--.  1 root root   185734 Feb 21  2013 symvers-2.6.32-358.el6.x86_64.gz
-rw-r--r--   1 root root  2408641 Aug 28 12:43 System.map-2.6.32-358.18.1.el6.x86_64
-rw-r--r--   1 root root  2408974 Oct 16 14:01 System.map-2.6.32-358.23.2.el6.x86_64
-rw-r--r--.  1 root root  2407466 Feb 21  2013 System.map-2.6.32-358.el6.x86_64
-rwxr-xr-x   1 root root  4046224 Aug 28 12:43 vmlinuz-2.6.32-358.18.1.el6.x86_64*
-rw-r--r--   1 root root      171 Aug 28 12:43 .vmlinuz-2.6.32-358.18.1.el6.x86_64.hmac
-rwxr-xr-x   1 root root  4047152 Oct 16 14:01 vmlinuz-2.6.32-358.23.2.el6.x86_64*
-rw-r--r--   1 root root      171 Oct 16 14:01 .vmlinuz-2.6.32-358.23.2.el6.x86_64.hmac
-rwxr-xr-x.  1 root root  4043888 Feb 21  2013 vmlinuz-2.6.32-358.el6.x86_64*
-rw-r--r--.  1 root root      166 Feb 21  2013 .vmlinuz-2.6.32-358.el6.x86_64.hmac

Ядро, яке я використовую

root@server1 [/boot]# uname -a
Linux server1 2.6.32-358.23.2.el6.x86_64 #1 SMP Wed Oct 16 18:37:12 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

4
Чому це було позначено як дублікат? Інше питання навіть не про це yum. Я не сумніваюся, що це дублікат, тільки не з цього конкретного питання.
Братчлі

Відповіді:


48

Виконайте наступне, щоб зберегти лише два останніх ядра у вашій системі, щоб підтримувати / завантажувати чисту

1 - Відредагуйте /etc/yum.confта встановіть наступний параметр

installonly_limit=2

Це змусить менеджера пакунків зберегти лише дві останні ядра у вашій системі (включаючи запущене)

2 - Встановити yum-utils:

yum install yum-utils

3- Зробіть очищення oldkernel:

package-cleanup --oldkernels --count=2

Зроблено. Це добре видалить старі ядра та збереже лише останні 2 з них для наступних оновлень.

Для особливих випадків, коли у вас є vmlinuz-0-rescue-*та initramfs-0-rescue-*файли, що використовують занадто багато місця на диску, перегляньте це питання на U&L:


Дякую nwildner! Чи можу я це зробити прямо зараз? Чи потрібно перезавантажувати систему після цього? Чи потрібно робити резервну копію всіх своїх даних?
Тестер

Так, ти можеш. Резервна копія завантаження / завантаження, лише з обережності, може бути хорошою справою. Вам не потрібно буде перезавантажувати, оскільки крок 3 видалить найстаріше ядро, якщо ви не запустите його зараз. Перший крок зробить цю конфігурацію постійною;)

Хоча цього не завжди достатньо. Я дотримувався цих кроків і виявив, що у мене вже є лише два ядра - проблемою для мене був файл 60 "MB" initramfs-0-rescue ", якому було 5 місяців. Видалили це і все було добре.
Codemonkey

1
Привіт @Codemonkey. Я оновив свою відповідь деталями щодо файлів порятунку ...

10

Ви можете безпечно видалити старі ядра, виконавши наступне:

# Install the yum-utils if they aren't installed
yum install yum-utils
# Cleanup old kernels and don't keep more than 2
package-cleanup --oldkernels --count=2

І якщо ви хочете, ви можете обмежити це завжди, зробивши наступне в /etc/yum.conf

installonly_limit=2

Побачивши відповідь Джоела Девіса, я також погодився би з ним. Перевірте, що насправді використовує весь цей простір.
sparticvs

Якщо ви подивитеся на його lsі додаєте файли, це приблизно 25 Мб на ядро, переважно в initramfs.
cjm

Так, у мене було відчуття, що це можуть бути файли initramfs. Прибирання, описане вище, також повинно видалити їх.
sparticvs

@sparticvs, я перевірив, -rw-r--r-- 1 root root 16191847 Sep 20 20:21 initramfs-2.6.32-358.18.1.el6.x86_64.img -rw-r--r-- 1 root root 16261655 Oct 21 15:06 initramfs-2.6.32-358.23.2.el6.x86_64.img -rw-r--r--. 1 root root 16187335 Sep 20 20:16 initramfs-2.6.32-358.el6.x86_64.imgчи багато місця.
Тестер

@sparticvs, чи можу я це зробити зараз? Чи потрібно перезавантажувати систему після цього? Чи потрібно робити резервну копію всіх своїх даних?
Тестер

2

Зображення ядра насправді мало:

[root@ditirlns01 ~]# ls -lh /boot/vmlinuz-2.6.18-3*
-rw-r--r-- 1 root root 2.2M May  4  2012 /boot/vmlinuz-2.6.18-308.8.1.el5xen
-rw-r--r-- 1 root root 2.2M Jul 27 01:43 /boot/vmlinuz-2.6.18-348.16.1.el5xen
-rw-r--r-- 1 root root 2.2M Mar 22  2013 /boot/vmlinuz-2.6.18-348.4.1.el5xen

Очевидно, що в пакеті ядра є більше, але це саме та частина, /bootяка стосується вашої турботи.

Отже, з /bootрозділом 100 МБ , видалення ядра 2-3 Мб , ймовірно, не дасть вам дуже далеко.

Насправді 100МБ зазвичай набагато більше, ніж потрібно людям. Я б зробив достатньо du -shвикликів, щоб ви могли побачити, що займає весь цей простір, тому що ви навіть не повинні наближатися до використання 100MB у цій точці монтажу:

[root@ditirlns01 ~]# df -h /boot
Filesystem            Size  Used Avail Use% Mounted on
/dev/xvda1             99M   34M   60M  37% /boot

Який встановлено три ядра:

[root@ditirlns01 ~]# rpm -qa kernel*
kernel-xen-2.6.18-348.16.1.el5
kernel-xen-2.6.18-348.4.1.el5
kernel-headers-2.6.18-348.16.1.el5
kernel-xen-2.6.18-308.8.1.el5
[root@ditirlns01 ~]#

Я готовий зробити ставку на те, щоб хтось поставив файл /bootяк тимчасовий хід і забув пізніше повернути його.


3
Але є файли initramfs, які набагато більше, ніж файли ядра. Дивлячись на @Don ls, вони використовують 14 Мб.

ага, я це зараз бачу. Ну добре, я залишу свою відповідь і просто підкреслю ваших хлопців
Братчлі

0

Що я повинен зробити?

якщо ви зробите це uname -a, повідомте про свою поточну версію.

Згідно з вашим дописом я припускаю, що це 2.6.32-358.23.2.el6.x86_64ваша поточна запущена версія, тому перенесіть усі старі на інший розділ, де є достатньо місця для збереження, зробіть щось на кшталт:

mkdir /root/oldkernels
mv   /boot/initramfs-2.6.32-358.18.1.el6.x86_64.img    /root/oldkernels

/boot/efi/EFI/centos/grub.cfgФайл , який ви хочете перевірити , і це буде досить легко прочитати код меню в ньому, верхній буде один за замовчуванням ви бачите при завантаженні , а також шукати порятунку одного; у вас, ймовірно, будуть перераховані численні. Саме тут ви також можете перевірити, яку версію ви фактично працюєте.

Зазвичай я просто зберігаю останню (вгорі) та рятувальну (внизу) grub.cfg. Знайте справжнє grub.cfg(у вашому випадку, тому що я бачу папку efi) /boot/efi/EFI/centos/grub.cfg. Ви не редагуєте цей файл безпосередньо, але я би переглянув цей файл, щоб перевірити завантаження файлів, оскільки саме цей grub.cfg використовується під час завантаження.

Рятувальне , як правило , версія ядра, висхідні до установки системи, яка може бути багато версій до того , що ви можете працювати прямо зараз. Для варіанту порятунку, який, мабуть, є хорошою ідеєю в довгостроковій перспективі, вам просто потрібно вказати його на надійну та працюючу версію, щоб система принаймні завантажилась, і ви зможете редагувати файли на диску, якщо нове ядро ​​піде животом вгору після встановлення і не завантажуйте або не працюйте. По суті, ви хочете принаймні 2 варіанти завантаження в меню grub, останню версію, а потім надійну версію.

ви редагуєте /etc/default/grub.cfgта змінюєте цей файл; зробіть меню так, як ви хочете, просто прокоментувавши ті, які ви не хочете за допомогою #, потім зробітьgrub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg

KDUMP - проблема

І з боку initrd-2.6.32-358.18.1.el6.x86_64kdump.img файлів, які мають ім'я kdump , схоже, у вас активовано kdump. Якщо ви не використовуєте його, ви можете відключити kdump, що допоможе заощадити місце. І якщо ви не налагодите збої системи тощо, *kdump.imgфайли вам не потрібні, щоб ви могли їх видалити. Я не використовую kdump, ніколи не маю, але він включений за замовчуванням під час встановлення, і я підозрюю, що за замовчуванням зберігає у вашій / завантажувальній папці; що якщо тільки 100 Мб - це погано. Отже, або модифікуйте kdump для скидання в інше місце, або ви, швидше за все, не використовуєте його, щоб вимкнути kdump.

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