önyükleme bölümü CentOS'ta neredeyse dolu


22

/ Boot bölümümün neredeyse dolu olduğuna dair bir uyarı aldım (% 85). Ne yapmalıyım? Yedekleme çekirdeğinden birini kaldırabilir miyim? Güvenle nasıl yapılır?

Şu an benim bölümüm

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

Çekirdeğim 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 dizini

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

Kullandığım Çekirdek

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
Bu neden kopya olarak işaretlendi? Diğer soru bile değil yum. Bunun bir kopyası olduğundan şüphem yok, sadece o sorunun değil.
Bratchley

Yanıtlar:


47

Sisteminizdeki son 2 çekirdeği saklamak / temiz tutmak için aşağıdakileri yapın

1 - /etc/yum.confAşağıdaki parametreyi düzenleyin ve ayarlayın

installonly_limit=2

Bu, paket yöneticinizin sisteminizde yalnızca son 2 çekirdeği tutmasını sağlar (çalışanlar da dahil)

2 - Yükle yum-utils:

yum install yum-utils

3- Eski bir çekirdek temizliği yapın:

package-cleanup --oldkernels --count=2

Bitti. Bu, eski çekirdekleri iyi bir şekilde siler ve bir sonraki yükseltme için sadece son 2 sini saklar.

Sahip olduğunuz özel dosyalar vmlinuz-0-rescue-*ve initramfs-0-rescue-*çok fazla disk alanı kullanan dosyalar için, lütfen U&L'deki şu soruya bakın:


Nwildner teşekkürler! Şimdi yapabilir miyim? Bunu yaptıktan sonra sistemi yeniden başlatmam gerekir mi? Tüm verilerimi yedeklememe gerek var mı?
Tester

Evet yapabilirsin. Sadece önleme için / boot'ınızın yedeğini almak iyi bir şey olabilir. 3. adımı şu anda çalıştırmadığınız sürece en eski çekirdeği sileceğinden, yeniden başlatmanız gerekmez. İlk adım, bu konfigürasyonu kalıcı hale getirecektir;)

Yine de bu her zaman yeterli değil. Bu adımları takip ettim ve zaten sadece 2 çekirdeğim olduğunu öğrendim - benim için sorun, 5 aylık 60 MB'lık bir "initramfs-0-rescue" dosyasıydı. Bunu sildim ve her şey yolundaydı.
Codemonkey

1
Hey @Codemonkey. Cevabımı kurtarma dosyaları hakkında ayrıntılı bilgi ile güncelledim ...

10

Aşağıdakileri yaparak eski çekirdekleri güvenle silebilirsiniz:

# 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

İsterseniz, aşağıdakileri yaparak bunu her zaman sınırlayabilirsiniz. /etc/yum.conf

installonly_limit=2

Joel Davis'in cevabını gördükten sonra onunla aynı fikirdeyim. Tüm bu alanı gerçekten neyin kullandığını görmek için kontrol edin.
sparticvs,

Ona bakar lsve dosyaları eklerseniz, çoğunlukla initramfs olmak üzere çekirdek başına yaklaşık 25 MB'dir.
13'te cjm

Evet, initramfs dosyaları olabileceğini düşündüm. Yukarıdaki temizleme de bunları temizlemelidir.
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çok fazla alan kullandığımı kontrol ettim .
Tester

@sparticvs, hemen şimdi yapabilir miyim? Bunu yaptıktan sonra sistemi yeniden başlatmam gerekir mi? Tüm verilerimi yedeklememe gerek var mı?
Tester

2

Çekirdek görüntüleri aslında çok küçük:

[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

Açıkça çekirdek paketinde daha çok şey var, ancak /bootendişenizin ne olduğu kısmı bu .

Yani 100 /bootMB'lık bir bölümle 2-3 MB'lık bir çekirdeği silmek muhtemelen sizi çok uzağa götürmez.

100MB aslında insanların ihtiyaç duyduğundan çok daha fazla. Yeterince du -shçağrılar yapardım, böylece tüm bu alanı ne kapladığını görebilirsiniz, çünkü o bağlantı noktasında 100 MB kullanmaya bile yaklaşamayacaksınız:

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

Hangi üç çekirdek yüklü olan:

[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 ~]#

Birinin /bootgeçici bir hamle olarak bir dosyayı koyduğunu ve sonradan geri almayı unuttuğunu iddia ediyorum .


3
Ancak initramfs dosyaları var, bunlar çekirdek dosyalarından çok daha büyük. @Don ls'ye bakıldığında, 14 MB kullanıyorlar.

ah evet bunu şimdi görüyorum. Pekala, cevabımı yukarıda bırakacağım ve sadece çocuklarınızı
oylayacağım

0

Ne yapmalıyım?

Bunu yaparsanız uname -a, şu anda çalışan sürümünüzü bildirir .

Gönderinize göre, o 2.6.32-358.23.2.el6.x86_64andaki çalışan sürümünüz olduğunu varsayalım , bu nedenle tüm eski sürümleri tasarruf edecek yeterli alanın olduğu başka bir bölüme taşıyın, şöyle bir şey yapın:

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

Kontrol /boot/efi/EFI/centos/grub.cfgetmek istediğiniz dosya ve içindeki menü kodunu okumak için yeterince kolay olacaktır, en üstteki, önyükleme yaparken gördüğünüz varsayılan durum olacaktır ve ayrıca kurtarma kodunu da arayacaktır ; Muhtemelen çok sayıda listelere sahip olacaksınız. Burada, gerçekte hangi sürümü çalıştırdığınızı da doğrulayabilirsiniz.

Genellikle en sonuncuyu (en üstte) ve kurtarmayı (en altta) tutarım grub.cfg. Gerçeği bilin grub.cfg(senin durumunda çünkü efi klasörünü görüyorum) içeride /boot/efi/EFI/centos/grub.cfg. Bu dosyayı doğrudan düzenlemezsiniz, ancak önyüklenirken kullanılan bu grub.cfg olduğundan önyüklenen dosyaları doğrulamak için bu dosyaya bakardım.

Kurtarma genellikle artık çalışıyor olabilir ne öncesinde birçok versiyonları olabilir sistem kurulumu için geri gidiş çekirdek versiyonu. Muhtemelen uzun vadede iyi bir fikir olabilecek bir kurtarma seçeneği için, güvenilir ve çalışan bir versiyona yönlendirmeniz yeterlidir, böylece sistem en azından önyüklenir ve diskteki dosyaları düzenleyerek yeni bir çekirdeğin yukarı çıkması gerekir. kurulumdan sonra önyükleme veya çalışma. Temelde grub menüsünde en az 2 önyükleme seçeneği istiyorsunuz, en son sürümünüz ve ardından bazı güvenilir sürümler tekrar devreye giriyor.

/etc/default/grub.cfgbu dosyayı düzenler ve değiştirirsiniz; Eğer birlikte istemediğiniz olanları yorum yaparak sadece istiyorum nasıl menü yapmak #, daha sonra yapılacakgrub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg

KDUMP sorun

Ve adında kdump bulunan initrd-2.6.32-358.18.1.el6.x86_64kdump.imgdosyalardan kdump özelliğini etkinleştirmişsiniz gibi görünüyor. Kullanmazsanız, yerden tasarruf etmenize yardımcı olacak kdump'ı devre dışı bırakabilirsiniz. Sistem çökmeleri ve benzeri hata ayıklama yapmadığınız sürece, dosyaları silmeniz için dosyalara ihtiyacınız yoktur . Kdump kullanmıyorum, hiç kullanmadım, ancak yükleme sırasında varsayılan olarak etkindir ve varsayılan olarak / boot klasörünüze kaydettiğinden şüpheleniyorum; Hangi sadece 100mb kötü ise. Bu yüzden ya başka bir yere atmak için kdump'ı değiştirin ya da büyük olasılıkla kullanmıyorsanız kdump'ı devre dışı bırakın.*kdump.img

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.