RHEL6 / boot üzerinde alan nasıl güvenli bir şekilde boşaltılabilir?


17

yum updateRHEL 6 kutusunda yapmaya çalışıyorum ve bu hata mesajını alıyorum

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.

/ Boot'ımda aşağıdakiler var

# 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

İşte önyüklemede disk kullanımı

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

Sorun şu ki ISS'mde bu kesiciyi aldığımda, varsayılan görüntüsünü RHEL 6 için kullandım, ki bu sadece 100MB / boot için açıkça ayırıyor, bu yeterli değil. Bu sorunu nasıl çözebilirim, bazıları diskte birden fazla gibi görünen yukarıdaki dosyalardan herhangi birini silmek güvenli mi? Makineyi yeniden görüntülemeden bir genişletme / önyükleme yolu var mı?

Yanıtlar:


16

Aşağıdaki komut, çalıştırmakta olduğunuz sürüm dışında TÜM çekirdek sürümlerini kaldıracaktır :

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

ve for7.4'e göre. Yum ve Yum Depolarını Yapılandırma :

⁠İnstallonly_limit = değer

… Burada değer, installonlypkgs yönergesinde listelenen herhangi bir paket için aynı anda yüklenebilecek maksimum sürüm sayısını temsil eden bir tamsayıdır. İnstallonlypkgs yönergesinin varsayılanları birkaç farklı çekirdek paketi içerir, bu nedenle installonly_limit değerinin değiştirilmesinin herhangi bir tek çekirdek paketinin maksimum yüklü sürüm sayısını da etkileyeceğini unutmayın. /Etc/yum.conf içinde listelenen varsayılan değer installonly_limit = 3'tür ve bu değerin, özellikle 2'nin altına düşürülmesi önerilmez.


4
Belki sadece bir yedeklemeden önce bir sürümü bırakın ...
EasyEcho

1
Bunu da yapabilir misiniz: rpm -qa | grep -v `uname -r` | grep kernel- kullanılmayan Çekirdeklerin listesini almak için?
Pred

Listelenen @Pred'den daha iyi bir çözüm, paket temizleme kullanmaktır. Nasıl yapacağınız için şu cevaba bakınız: serverfault.com/a/562201/98791
bir kodlayıcı

Bu komut geçerli çekirdeği de kaldırmaz mı (çünkü -ame unr 'yerine' ile çevrilidir)?
bye

29

MadHatter'in tavsiyelerine göre burada . Cevabımı, burada önerilen cevaplarla birlikte kullanılabilmesi için burada cevaplara bir ek olarak göndereceğim.

Aşağıdaki web sitesinden alınmıştır

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

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

Bu, tüm eski çekirdekleri kaldıracak ve centos 6.4'te yalnızca en son iki çekirdeği tutacaktır; bu, son çekirdeklerde hata düzeltmeleri içerdiğinden ve yeni olanlar önyükleme yapamadığında her zaman eski çekirdeklere yük devredebilirsiniz. Yukarıdaki komut, gitmek ve rpm -e xyz demek zorunda olmadığınız anlamına gelir; burada xyz sizin özel çekirdeğinizdir, çünkü otomatik olarak en yeni olanları tutar.

Yukarıdaki komutun yalnızca varolan paketleri temizlediğini unutmayın, bu nedenle çekirdek paketlerini yeniden biriktirmeye başlamak istemiyorsanız yum.conf dosyanızı düzenlemek gerekir.


Anlaştı, en iyi çözüm ve package-cleanupbunu yapmadan önce neyi kaldıracağınızı sorar
sMyles

8

Alexus'un dediği gibi, eski çekirdeklerden en az birini silin.

Sonra:

Saklanacak /etc/yum.confçekirdek sürümü sayısının sınırını düzenleyin ve belirtin. Varsayılan olarak 5'e ayarlanmıştır, ancak sisteminiz yalnızca iki tanesini işleyebilecek gibi görünüyor:

installonly_limit=2

Son olarak, VPS sağlayıcısına garip şablon hakkında şikayet edin. /bootCentOS 6 kurulumunda varsayılan olarak 500 MB'dir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.