Domanda Durante l'aggiornamento, spazio libero su disco insufficiente


Sto riscontrando un errore nel programma di aggiornamento del software quando provo e faccio i miei aggiornamenti quotidiani. dice:

The upgrade needs a total of 25.3 M free space on disk `/boot`.
Please free at least an additional 25.3 M of disk space on `/boot`.
Empty your trash and remove temporary packages of former installations 
using `sudo apt-get clean`.

Ho provato a digitare sudo apt-get clean nel Terminale ma ricevo comunque il messaggio. Tutte le pagine che ho letto sembrano essere per Ubuntu esperti. Sto usando Ubuntu 12.10. Voglio aggiornare alla 13.04 ma capisco che devo finire prima questi.

Questo è l'output di digitazione cat /etc/fstab nel Terminale:

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/mapper/ubuntu-root /               ext4    errors=remount-ro 0       1
# /boot was on /dev/sda1 during installation
UUID=fa55c082-112d-4b10-bcf3-e7ffec6cebbc /boot           ext2    defaults        0       2
/dev/mapper/ubuntu-swap_1 none            swap    sw              0       0
/dev/fd0        /media/floppy0  auto    rw,user,noauto,exec,utf8 0       0
matty@matty-G41M-ES2L:~$ 

Uscita di df -h:

Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/ubuntu-root  915G   27G  842G   4% /
udev                     984M  4.0K  984M   1% /dev
tmpfs                    397M  1.1M  396M   1% /run
none                     5.0M     0  5.0M   0% /run/lock
none                     992M  1.8M  990M   1% /run/shm
none                     100M   52K  100M   1% /run/user
/dev/sda1                228M  222M     0 100% /boot
matty@matty-G41M-ES2L:~$ 

E dpkg -l | grep linux-image dà:

ii linux-image-3.5.0-17-generic 3.5.0-17.28 i386 Linux kernel image for version 3.5.0 on 32 bit x86 SMP
ii linux-image-3.5.0-18-generic 3.5.0-18.29 i386 Linux kernel image for version 3.5.0 on 32 bit x86 SMP
ii linux-image-3.5.0-19-generic 3.5.0-19.30 i386 Linux kernel image for version 3.5.0 on 32 bit x86 SMP
ii linux-image-3.5.0-21-generic 3.5.0-21.32 i386 Linux kernel image for version 3.5.0 on 32 bit x86 SMP
ii linux-image-3.5.0-22-generic 3.5.0-22.34 i386 Linux kernel image for version 3.5.0 on 32 bit x86 SMP
ii linux-image-3.5.0-23-generic 3.5.0-23.35 i386 Linux kernel image for version 3.5.0 on 32 bit x86 SMP
ii linux-image-3.5.0-24-generic 3.5.0-24.37 i386 Linux kernel image for version 3.5.0 on 32 bit x86 SMP
ii linux-image-3.5.0-25-generic 3.5.0-25.39 i386 Linux kernel image for version 3.5.0 on 32 bit x86 SMP
ii linux-image-3.5.0-26-generic 3.5.0-26.42 i386 Linux kernel image for version 3.5.0 on 32 bit x86 SMP
iF linux-image-3.5.0-28-generic 3.5.0-28.48 i386 Linux kernel image for version 3.5.0 on 32 bit x86 SMP

136
2018-05-22 04:30


origine


Inoltre, il contenuto di / etc / fstab potrebbe essere utile. Quello che sembra è che / boot sia montato su una partizione separata. - Chuck R
Come dice @Githlar il tuo fstab può darci informazioni sulle tue partizioni hd. - ssoto
fstab è un file che contiene informazioni sulle partizioni che vengono montate quando si avvia il computer. Per mostrare il contenuto di questo file, digitare cat /etc/fstab in un terminale. Copia l'output e aggiungilo alla tua domanda (puoi modificare la tua domanda). Inoltre, copia l'output di df -h e dpkg -l | grep linux-image. - Alaa Ali
Il tuo problema è tutto linux-image... file nel /boot partizione usando spazio - hai solo 6 MB liberi sulla partizione. sudo dpkg -P purge 'older_linux_image_filename' per rimuovere tutto tranne le ultime versioni = 3.5.0-28.48 e 3.5.0-26.42 Ciò dovrebbe consentire di aggiornare / aggiornare. - douggro
Dovevo solo correre sudo apt-get autoremove per risolvere questo. - Juampy NR


risposte:


Nota: questa risposta intende essere più di una "spiegazione" che fornire il modo migliore / più semplice per rimuovere i vecchi kernel. Per il modo migliore / più semplice per rimuovere i vecchi kernel, consulta le altre risposte.

Va bene, quindi dall'output di /etc/fstab hai postato, sembra che il tuo /boot è montato su una partizione separata e dall'output di df -h, quella partizione è piena. Questo perché ci sono vecchi kernel installati che non sono necessari; puoi dirlo guardando l'output di dpkg -l | grep linux-image che hai postato, dove puoi vedere più di uno "linux-image"con versioni diverse. Abbiamo bisogno di rimuovere le vecchie versioni.

Per prima cosa, voglio che tu esegua il comando uname -r in un terminale, questo ti mostrerà la versione del kernel che stai usando al momento. Non vogliamo mai rimuovere quella versione del kernel. Il comando dirà qualcosa di simile 3.5.0-26-generic. Prendi nota di quel numero, 26! I seguenti comandi presumono che quello sia il kernel che stai usando.

Il comando per rimuovere una vecchia versione del kernel è:

sudo apt-get purge linux-image-x.x.x-xx-generic

... dove i caratteri x sono numeri. Quindi, nel tuo caso, poiché hai molte vecchie versioni (17, 18, 19, ecc.), Dovremmo eseguire questo comando per ognuna delle versioni, in questo modo:

  • sudo apt-get purge linux-image-3.5.0-17-generic
  • sudo apt-get purge linux-image-3.5.0-18-generic
  • sudo apt-get purge linux-image-3.5.0-19-generic

...e così via. Ma c'è un modo per fare tutto questo attraverso un unico comando. Il comando è questo (NON ESEGUIRE IL COMANDO ANCORA! Leggi quanto segue ):

sudo apt-get purge linux-image-3.5.0-{17,18,19,21,22,23,24}-generic

Questo comando rimuoverà le versioni indicate tra parentesi. Non ho incluso le versioni 25, 26 e 28 per i seguenti motivi:

  • Non ho incluso 26 ovviamente perché questa è la versione del kernel che stai correntemente eseguendo! Questa è la versione che abbiamo ottenuto dal comando uname -r, ricorda? Non vogliamo mai rimuoverlo!
  • Non ho incluso 28 perché è quello che il tuo aggiornamento stava cercando di aggiornare (puoi dirlo dal file iF stato successivo, il che significa che è "metà configurato").
  • Non ha incluso 25 perché di solito è buona norma lasciare almeno una versione precedente. Quindi, dal momento che stai eseguendo 26, ne terremo 25, quindi non lo includeremo nel comando precedente.

Quindi se l'ultimo numero in uname -r è 26 (o 28, o anche 25), quindi è sicuro eseguire il comando precedente. Inserisci la password quando richiesto e digita y quando viene richiesto. Questo mostrerà un sacco di linee e alla fine tornerà al prompt dei comandi (nel tuo caso, matty@matty-G41M-ES2L:~$), speriamo senza errori. Quando è finito, fallo df -h e guarda l'ultima riga, quella che inizia con /dev/sda1. Dovresti scoprire che ora ha più spazio e che la percentuale utilizzata è inferiore al 100% come prima. Ora puoi procedere con il tuo aggiornamento di nuovo.


186
2018-05-23 07:57



Ha funzionato!!! Grazie mille! Domanda bonus: quando ho scaricato Ubuntu per la prima volta, ho accidentalmente cancellato la cartella "pictures" nella home page. Per questo motivo, non esiste una scheda "Immagini" sul lato. Ci sono riuscito solo creando una cartella chiamata "immagini" ma non appare nella barra laterale. Sai come arrivarci? Ho provato a fare clic e trascinamento, ma senza risultato. @Alaa - carmatt95
Prego! Per l'altra domanda, crea un'altra domanda e ti risponderò. In questo modo, le persone che stanno cercando quel problema possono trovarlo. - Alaa Ali
Vorrei poterlo revocare ogni volta che torno a riferirlo ... ne avrò molto ormai. - sevenseacat
sì, di nuovo qui per fare riferimento alla stessa cosa. Penseresti che lo ricorderei ora. - sevenseacat
Un comando più conciso per eliminare tutti i vecchi kernel è: sudo apt-get autoremove --purge - ctrueden


Puoi installare Ubuntu-Tweak.Per installare segui i seguenti passi:

Apri il terminale. Aggiungi il repository richiesto con il comando:

sudo add-apt-repository ppa:tualatrix/ppa

Aggiorna l'elenco software con il comando:

sudo apt-get update

Infine, installa Ubuntu Teak con il comando:

sudo apt-get install ubuntu-tweak

Dopodiché apri un trattino e digita "ubuntu tweak".

E poi vai janitor scheda e selezionare Apps , Personal e System seleziona le caselle e clicca pulito pulsante in basso a destra.


42
2018-06-11 15:15



Molto meglio che scherzare con la linea di comando e provare a cancellare tutti i kernel ma non correnti quando hanno versioni diverse (non solo -32 alla fine) e anche -extra pacchetti. La modifica di Ubuntu mi ha salvato 5 minuti, grazie! - POMATu
Molto più conveniente. - Saeed Amiri
Non ho potuto aggiungere il PPA ma, ho scaricato il .deb dal sito Web di proyect ubuntu-tweak.com - Luigi Siri
non c'è bisogno di aggiungere PPA su Ubuntu 14.04 - Edward Torvalds
@edwardtorvalds Ovviamente è possibile installarlo senza aggiungere il suo PPA in 14.04 e anche 14.10 dal suo .deb pacchetto, ma non è il più preferibile. Il motivo per cui vuoi installarlo tramite il suo PPA è perché garantisce gli aggiornamenti. - αғsнιη


Un modo rapido per rimuovere tutti i kernel e le intestazioni inutilizzati (escluso il kernel corrente in esecuzione) è stato sottolineato da @Lekensteyn nel suo risposta alla domanda Come posso liberare più spazio in / boot?:

sudo apt-get purge $(dpkg -l linux-{image,headers}-"[0-9]*" | awk '/ii/{print $2}' | grep -ve "$(uname -r | sed -r 's/-[a-z]+//')") 

Questo dovrebbe liberare spazio sufficiente per l'aggiornamento.


14
2017-09-30 08:00





C'è un bug report sul problema qui: https://bugs.launchpad.net/ubuntu/+source/update-manager/+bug/1183692

Sentiti libero di dire se "questo bug colpisce anche te", in modo che possa ottenere più attenzione.


6
2017-10-29 09:38





Sul mio sistema Ubuntu di casa seguo un metodo simile a quello pubblicato, ma è un po 'più semplice e cancella più spazio per le intestazioni del kernel, ecc.

  1. Controllo quale kernel in esecuzione sto usando così com'è imperativo non interferire con quello.

    uname -a
    
  2. Quindi, guardo / boot con l'obiettivo di rimuovere tutti i file relativi al kernel che sono non correlato direttamente al kernel in esecuzione. Questo mi dà una lista di tutte le versioni del kernel che voglio rimuovere, ad esempio: 3.5.0-17, 3.5.0-18

    ls -l /boot
    
  3. Ora prendo la prima versione del kernel nella mia lista di purge e trovo tutti i pacchetti ad essa relativi.

    dpkg -l | grep 3.5.0-17
    
  4. Eliminali dal sistema

    sudo apt-get purge <list of packages separated by spaces>
    
  5. tornare al 3 e selezionare la versione del kernel successiva nella mia lista di purge.

  6. Fatto


3
2017-07-18 09:59





Stavo ricevendo questo errore, questo articolo mi ha aiutato.

ero solito df -h per identificare che lo stivale era pieno, uname -r per la versione, quindi utilizzato il purge stringa elencata sopra per rimuovere i vecchi kernel. ha funzionato la purge kernel single, multi no (per me).

Ho trovato i file nella cosa di Windows; Non sono riuscito a cancellarli, ho dovuto usare il terminale, ma mi ha mostrato le vecchie versioni che avevo lì dentro.

Non ho idea del perché / boot (sda2) sia partizionato e perché sia ​​così piccolo. ma ora posso usare di nuovo Ubuntu.

Ho avuto un piccolo successo con sudo apt-get update,sudo apt-get upgrade, sudo apt-get clean, ha anche provato il software libero Bleachbit. Utilizzare la stringa di eliminazione ma non la versione corrente. Spero che questo aiuti qualcuno.


1
2017-08-13 02:36



modifica: non penso che devi aggiungere "-generico" alla stringa di eliminazione - Brian P


Avete installato vecchi pacchetti di immagine del kernel, che non vengono utilizzati? Quelli possono occupare spazio su / boot. Consiglio di rivedere il set di pacchetti del kernel installati con un comando come il seguente:

dpkg -l "linux-image*" | grep "^i"

Questo dovrebbe fornire una panoramica del set di pacchetti di immagini del kernel installati. Per coloro linux-image pacchetti che non vengono utilizzati e che non dovrebbero essere necessari per scopi di recupero, ad esempio, ad es. Mi piace mantenere almeno una versione del kernel dietro la versione attiva installata, per il ripristino - altrimenti, è possibile rimuovere tutti i pacchetti inutilizzati, usando il tuo strumento di packaging preferito, come aptitude.

Consiglierei anche di dare un'occhiata al relativo inux-headers, linux-image-extra (se applicabile), anche linux-source, e linux-tools pacchetti, tali da poter essere installati insieme a quelli non utilizzati linux-image Pacchetti.


0
2018-05-23 07:27





Dubito che molti, se ce ne saranno, si imbatteranno in questo problema, ma lo metto qui per la documentazione nel caso qualcuno ne avesse bisogno.

Il mio problema è che stavo compilando diversi kernel personalizzati fino a quando ho esaurito lo spazio. Il modo in cui dovevo ripulire lo spazio era inserire ogni directory del kernel in cui avevo lavorato ed eseguire a sudo make clean.

  • $ cd /usr/src Directory in cui si trova l'origine del kernel
  • $ cd linux-image-custom_kernel_name
  • $ sudo make clean

0
2017-11-10 14:41