Boot-Partition ist in CentOS fast voll

22

Ich habe eine Warnung erhalten, dass meine / boot-Partition fast voll ist (85%). Was sollte ich tun? Kann ich einen der Backup-Kernel entfernen? Wie geht das sicher?

Meine Partition jetzt

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

Den Kernel habe ich

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

Das Verzeichnis / 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

Den Kernel benutze ich

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
Prüfer
quelle
4
Warum wurde dies als Duplikat markiert? Die andere Frage dreht sich nicht einmal um yum. Ich bezweifle nicht, dass es sich um ein Duplikat handelt, nur nicht um diese spezielle Frage.
Bratchley

Antworten:

47

Führen Sie die folgenden Schritte aus, um nur die letzten 2 Kernel auf Ihrem System zu behalten und / boot sauber zu halten

1 - Bearbeiten Sie /etc/yum.confden folgenden Parameter und stellen Sie ihn ein

installonly_limit=2

Dadurch behält Ihr Paketmanager nur die letzten 2 Kernel auf Ihrem System (einschließlich des ausgeführten).

2 - Installieren Sie yum-utils:

yum install yum-utils

3- Bereinigen Sie den alten Kernel:

package-cleanup --oldkernels --count=2

Getan. Dadurch werden die alten Kernel auf eine gute Weise gelöscht und nur die letzten beiden für die nächsten Upgrades aufbewahrt.

In besonderen Fällen, in denen Sie Dateien haben vmlinuz-0-rescue-*und initramfs-0-rescue-*zu viel Speicherplatz benötigen, werfen Sie bitte einen Blick auf diese Frage zu U & L:


quelle
Danke nwildner! Kann ich das jetzt machen? Muss ich das System danach neu starten? Muss ich alle meine Daten sichern?
Tester
Ja, du kannst. Ein Backup Ihres / boot kann nur zur Sicherheit eine gute Sache sein. Sie müssen nicht neu starten, da in Schritt 3 der älteste Kernel gelöscht wird, es sei denn, Sie führen ihn gerade aus. Der erste Schritt wird diese Konfiguration dauerhaft machen;)
Dies ist jedoch nicht immer genug. Ich folgte diesen Schritten und stellte fest, dass ich bereits 2 Kernel hatte - das Problem für mich war eine 60 MB große "initramfs-0-rescue" -Datei, die 5 Monate alt war. Das gelöscht und alles war in Ordnung.
Codemonkey
1
Hey @Codemonkey. Ich habe meine Antwort mit Details zu Rettungsdateien aktualisiert ...
10

Sie können alte Kernel sicher löschen, indem Sie folgende Schritte ausführen:

# 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

Und wenn Sie möchten, können Sie dies jederzeit einschränken, indem Sie die folgenden Schritte ausführen /etc/yum.conf

installonly_limit=2
sparticvs
quelle
Nachdem ich die Antwort von Joel Davis gesehen hatte, stimmte ich ihm ebenfalls zu. Überprüfen Sie, ob der gesamte Speicherplatz tatsächlich belegt ist.
Sparticvs
Wenn Sie sich seine ansehen lsund die Dateien addieren, sind es ungefähr 25 MB pro Kernel, meistens in initramfs.
13.
Ja, ich hatte das Gefühl, es könnten die initramfs-Dateien sein. Die Bereinigung oben sollte auch diese entfernen.
Sparticvs
@sparticvs, ich habe überprüft, -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.imgverwenden Sie viel Platz.
Tester
@sparticvs, kann ich das jetzt machen? Muss ich das System danach neu starten? Muss ich alle meine Daten sichern?
Tester
2

Kernel-Images sind eigentlich sehr klein:

[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

Das Kernelpaket beinhaltet natürlich noch mehr, aber /bootgenau darum geht es Ihnen.

Wenn Sie also eine 100-MB- /bootPartition haben, ist das Löschen eines 2-3-MB-Kernels wahrscheinlich nicht sehr weit.

100MB sind in der Regel weit mehr, als die Leute brauchen. Ich würde genug du -shAufrufe machen, damit Sie sehen können, was den ganzen Speicherplatz einnimmt, denn Sie sollten nicht einmal annähernd 100 MB an diesem Einhängepunkt nutzen können:

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

Welches ist mit drei Kernel installiert:

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

Ich bin bereit zu wetten, dass jemand eine Datei /bootals vorübergehende Verschiebung angelegt und vergessen hat, sie später wieder zu entfernen.

Bratchley
quelle
3
Aber es gibt die initramfs-Dateien, die viel größer sind als die Kerneldateien. Wenn man sich @Don ls ansieht, verbrauchen sie 14 MB.
ah ja das sehe ich jetzt. Na ja, ich lasse meine Antwort offen und stimme deinen Jungs zu. '
Bratchley
0

Was sollte ich tun?

Wenn Sie dies tun uname -a, wird Ihre aktuell ausgeführte Version gemeldet .

In Ihrem Beitrag gehe ich davon aus, dass dies 2.6.32-358.23.2.el6.x86_64Ihre aktuelle Version ist. Verschieben Sie also alle alten auf eine andere Partition, auf der ausreichend Speicherplatz vorhanden ist.

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

Die /boot/efi/EFI/centos/grub.cfgDatei, die Sie überprüfen möchten, und der darin enthaltene Menücode lassen sich leicht lesen. Die oberste Datei ist die Standarddatei, die Sie beim Booten sehen, und Sie müssen auch nach der Rettungsdatei suchen . Sie werden wahrscheinlich zahlreiche aufgeführt haben. Hier können Sie auch überprüfen, welche Version Sie gerade ausführen.

Normalerweise behalte ich nur die neueste (oben) und die Rettungsaktion (unten) in grub.cfg. Kennen Sie die reale grub.cfg(in Ihrem Fall, weil ich den EFI-Ordner sehen) ist in /boot/efi/EFI/centos/grub.cfg. Sie bearbeiten diese Datei nicht direkt, aber ich würde mir diese Datei ansehen, um die zu startenden Dateien zu überprüfen, da diese grub.cfg beim Booten verwendet wird.

Die Rettung ist in der Regel die Kernel-Version, die auf die Systeminstallation zurückgeht. Dies können viele Versionen sein, bevor Sie sie jetzt ausführen. Für eine Rettungsoption, die auf lange Sicht wahrscheinlich eine gute Idee ist, müssen Sie lediglich auf eine zuverlässige und funktionierende Version verweisen, damit das System zumindest startet und Sie Dateien auf der Festplatte bearbeiten können, falls ein neuer Kernel ausfällt nach der Installation und nicht booten oder nicht funktionieren. Grundsätzlich möchten Sie mindestens 2 Boot-Optionen im Grub-Menü, Ihre neueste und dann eine zuverlässige Version, auf die Sie zurückgreifen können.

Sie bearbeiten /etc/default/grub.cfgund ändern diese Datei. Stellen Sie das Menü so ein, wie Sie es möchten, indem Sie einfach diejenigen auskommentieren, die Sie nicht möchten #, und dann a ausführengrub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg

KDUMP ist das Problem

Und von den initrd-2.6.32-358.18.1.el6.x86_64kdump.imgDateien mit kdump im Namen sieht es so aus, als hätten Sie kdump aktiviert. Sofern Sie es nicht verwenden, können Sie kdump deaktivieren, um Speicherplatz zu sparen. Und wenn Sie nicht Systemabstürze und ähnliches debuggen, benötigen Sie die *kdump.imgDateien nicht, damit Sie diese löschen können. Ich verwende kdump nicht, habe es aber nie, aber es ist standardmäßig während der Installation aktiviert und ich vermute, dass standardmäßig in Ihrem / boot-Ordner gespeichert wird. was wenn nur 100mb schlecht ist. Ändern Sie also entweder kdump, um es an anderer Stelle zu sichern, oder verwenden Sie es höchstwahrscheinlich nicht, um kdump zu deaktivieren.

Ron
quelle