Wie kann Speicherplatz auf RHEL6 / boot sicher freigegeben werden?

17

Ich versuche es yum updatemit der RHEL 6-Box und bekomme diese Fehlermeldung

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.

Mein / boot hat folgendes

# 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

Hier ist die Festplattenbelegung beim Booten

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

Das Problem ist, dass ich, als ich diesen Severer bei meinem ISP bekam, deren Standard-Image für RHEL 6 verwendete, das nur 100 MB für / boot zuweist. Dies ist eindeutig nicht genug. Wie kann ich dieses Problem umgehen? Ist es sicher, eine der oben genannten Dateien zu löschen, von denen einige mehr als einmal auf der Festplatte zu sein scheinen? Gibt es eine Möglichkeit zum Erweitern / Booten, ohne die Maschine neu zu belichten?

ams
quelle

Antworten:

16

Mit dem folgenden Befehl werden ALLE Kernelversionen entfernt, mit Ausnahme der aktuell ausgeführten:

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

und für die Zukunft gemäß ⁠7.4. Yum und Yum Repositories konfigurieren :

⁠Installonly_limit = value

… Wobei value eine Ganzzahl ist, die die maximale Anzahl von Versionen angibt, die gleichzeitig für ein einzelnes in der installonlypkgs-Direktive aufgeführtes Paket installiert werden können. Die Standardeinstellungen für die installonlypkgs-Direktive umfassen mehrere verschiedene Kernel-Pakete. Beachten Sie daher, dass sich das Ändern des Werts von installonly_limit auch auf die maximale Anzahl installierter Versionen eines einzelnen Kernel-Pakets auswirkt. Der in /etc/yum.conf aufgeführte Standardwert lautet installonly_limit = 3, und es wird nicht empfohlen, diesen Wert zu verringern, insbesondere nicht unter 2.

alexus
quelle
4
Vielleicht lassen Sie eine Version vor, nur um ein Backup zu haben ...
EasyEcho
1
Könnten Sie dies auch tun: rpm -qa | grep -v `uname -r` | grep kernel- um die Liste der nicht verwendeten Kernel zu erhalten?
Pred
Eine bessere Lösung als @Pred ist die Paketbereinigung. In dieser Antwort erfahren Sie,
ein Codierer
Entfernt dieser Befehl nicht auch den aktuellen Kernel (weil das uname -r von 'statt `umgeben ist)?
bye
29

Gemäß der Empfehlung von MadHatter hier . Ich werde meine Antwort hier als Ergänzung zu den Antworten hier posten, damit sie in Verbindung mit den hier vorgeschlagenen Antworten verwendet werden kann.

Entnommen aus der folgenden Website

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

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

Dadurch werden alle älteren Kernel entfernt und nur die beiden neuesten Kernel auf Centos 6.4 beibehalten. Dies ist wahrscheinlich das, was Sie möchten, da die neuesten Kernel Fehlerbehebungen enthalten. Sie können jederzeit auf die älteren Kernel umsteigen, wenn die neuen nicht mehr booten. Der obige Befehl bedeutet, dass Sie nicht rpm -e xyz sagen müssen, wobei xyz Ihr spezifischer Kernel ist, da er automatisch die neuesten behält.

Beachten Sie, dass der obige Befehl nur vorhandene Pakete bereinigt, sodass die Bearbeitung Ihrer yum.conf erforderlich ist, wenn Sie keine Kernelpakete mehr ansammeln möchten.

Jason Zhu
quelle
Einverstanden, beste Lösung, und package-cleanupfragt Sie, was es entfernen wird, bevor Sie dies tun
sMyles
8

Löschen Sie mindestens einen der alten Kernel, wie Alex sagte.

Dann:

Bearbeiten Sie /etc/yum.confund geben Sie das Limit der Anzahl der Kernelversionen an, die beibehalten werden sollen. Es ist standardmäßig auf 5 gesetzt, aber Ihr System scheint nur zwei zu handhaben:

installonly_limit=2

Beschweren Sie sich schließlich beim VPS-Anbieter über die seltsame Vorlage. /bootbeträgt in einer CentOS 6-Installation standardmäßig 500 MB.

Michael Hampton
quelle