Come liberare spazio su RHEL6 / avviare in modo sicuro?


17

Sto provando a fare yum updatesulla scatola RHEL 6 e sto ricevendo questo messaggio di errore

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.

Il mio / boot ha il seguente

# 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

ecco l'uso del disco all'avvio

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

Il problema è che quando ho ottenuto questo severer sul mio ISP ho usato la loro immagine predefinita per RHEL 6 che alloca chiaramente solo 100 MB per / boot questo non è abbastanza. Come posso aggirare questo problema, è sicuro eliminare uno dei file sopra alcuni di essi sembrano essere sul disco più di una volta? Esiste un modo per espandere / avviare senza reimaging della macchina?

Risposte:


16

Il comando seguente rimuoverà TUTTE le versioni del kernel, ad eccezione di quella attualmente in esecuzione:

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

e per andare avanti, per ⁠7.4. Configurazione dei repository Yum e Yum :

⁠Installonly_limit = Valore

... dove valore è un numero intero che rappresenta il numero massimo di versioni che possono essere installate contemporaneamente per ogni singolo pacchetto elencato nella direttiva installonlypkgs. I valori predefiniti per la direttiva installonlypkgs includono diversi pacchetti kernel, quindi tenere presente che la modifica del valore di installonly_limit influirà anche sul numero massimo di versioni installate di ogni singolo pacchetto kernel. Il valore predefinito elencato in /etc/yum.conf è installonly_limit = 3 e non è consigliabile ridurre questo valore, in particolare al di sotto di 2.


4
Forse lasciare una versione prima solo per avere un backup ...
EasyEcho

1
Potresti fare anche questo: rpm -qa | grep -v `uname -r` | grep kernel- per ottenere l'elenco dei kernel che non vengono utilizzati?
Pred

Una soluzione migliore di quella elencata da @Pred è utilizzare la pulizia del pacchetto. Vedi questa risposta per come: serverfault.com/a/562201/98791
un programmatore

Questo comando non rimuove anche il kernel corrente (perché uname -r è racchiuso tra 'invece di `)?
ciao

29

Come da raccomandazione di MadHatter qui . Pubblicherò qui la mia risposta come un addendum alle risposte qui in modo che possa essere utilizzata insieme alle risposte suggerite qui.

Tratto dal seguente sito Web

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

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

Questo rimuoverà tutti i kernel più vecchi e manterrà solo i due kernel più recenti su centos 6.4, che è probabilmente quello che vuoi poiché i kernel recenti contengono correzioni di bug e puoi sempre eseguire il failover sui kernel più vecchi se i nuovi non riescono ad avviarsi. Il comando sopra significa che non devi andare a dire rpm -e xyz dove xyz è il tuo kernel specifico poiché mantiene automaticamente i più recenti.

Si noti che il comando sopra elimina solo i pacchetti esistenti, quindi è necessario modificare yum.conf se non si desidera ricominciare ad accumulare pacchetti del kernel.


Concordato, la migliore soluzione e package-cleanupti chiede cosa rimuoverà prima di farlo
sMyles,

8

Elimina almeno uno dei vecchi kernel, come diceva Alessio.

Poi:

Modifica /etc/yum.confe specifica il limite del numero di versioni del kernel da mantenere. L'impostazione predefinita è 5, ma il sistema sembra essere in grado di gestirne solo due:

installonly_limit=2

Infine, lamentati con il provider VPS per lo strano modello. /bootè 500 MB per impostazione predefinita in un'installazione CentOS 6.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.