Problema: non sembra esserci spazio sufficiente sul disco per eseguire installazioni ed aggiornamenti con apt-get
Per risolvere il problema è sufficiente cancellare i vecchi linux-headers e linux-image del Kernel. Questi file si trovano in /usr/src/
Per verificare le versioni installate anzitutto controlliamo il contenuto della suddetta cartella con:
1 |
ls /usr/src/ |
Dovremmo vedere un elenco di file chiamati linux-headers, linux-image, linux-image-extra ed altri. Per esempio potremmo trovare un elenco come il seguente:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
/usr/src/linux-headers-3.13.0-132-generic /usr/src/linux-image-3.13.0-132-generic /usr/src/linux-image-extra-3.13.0-132 /usr/src/linux-headers-3.13.0-132 /usr/src/linux-image-3.13.0-132 /usr/src/linux-image-extra-3.13.0-132 /usr/src/linux-headers-3.13.0-133-generic /usr/src/linux-image-3.13.0-133-generic /usr/src/linux-image-extra-3.13.0-133 /usr/src/linux-headers-3.13.0-133 /usr/src/linux-image-3.13.0-133 /usr/src/linux-image-extra-3.13.0-133 /usr/src/linux-headers-3.13.0-135-generic /usr/src/linux-image-3.13.0-135-generic /usr/src/linux-image-extra-3.13.0-135 /usr/src/linux-headers-3.13.0-135 /usr/src/linux-image-3.13.0-135 /usr/src/linux-image-extra-3.13.0-135 /usr/src/linux-headers-3.13.0-137-generic /usr/src/linux-image-3.13.0-137-generic /usr/src/linux-image-extra-3.13.0-137 /usr/src/linux-headers-3.13.0-137 /usr/src/linux-image-3.13.0-137 /usr/src/linux-image-extra-3.13.0-137 |
Nel mio caso vedo che ho installate le versioni 3.13.0-132, 3.13.0-133, 3.13.0-135 e 3.13.0-137 del kernel.
Questo significa che posso cancellare, a meno di non averne bisogno per specifici motivi (ma se non li conosco, probabilmente non ne ho bisogno) le versioni 132, 133 e 135. Devo lasciare invece la versione 137.
Dopo svariate prove sono giunto alla conclusione che per cancellare una determinata versione, senza lasciare fastidiosi rimasugli, è sufficiente digitare la seguente serie di istruzioni (immaginiamo di voler eliminare la versione 132):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
sudo apt-get clean sudo rm /var/cache/apt/archives/linux-headers-* sudo rm -rf /usr/src/linux-headers-3.13.0-132-generic sudo rm -rf /usr/src/linux-image-3.13.0-132-generic sudo rm -rf /usr/src/linux-image-extra-3.13.0-132 sudo rm -rf /usr/src/linux-headers-3.13.0-132 sudo rm -rf /usr/src/linux-image-3.13.0-132 sudo rm -rf /usr/src/linux-image-extra-3.13.0-132 sudo rm -rf /boot/abi-3.13.0-132-generic sudo rm -rf /boot/config-3.13.0-132-generic sudo rm -rf /boot/initrd.img-3.13.0-132-generic sudo rm -rf /boot/System.map-3.13.0-132-generic sudo rm -rf /boot/vmlinuz-3.13.0-132-generic sudo apt-get -y purge linux-headers-3.13.0-132-generic linux-image-3.13.0-132-generic linux-image-extra-3.13.0-132 linux-headers-3.13.0-132 linux-image-3.13.0-132 linux-image-extra-3.13.0-132 |
Per chi volesse cancellare più versioni in un colpo solo, senza stare a perdere tempo a modificare i numeri nelle precedenti righe, ho creato un piccolo script per Python (io uso questo per fare pulizia sul disco) che mi genera i comandi da incollare sul terminale.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
vers = [132,133,135] cart = "/usr/src/" boot = "/boot/" print "sudo apt-get clean" print "sudo rm /var/cache/apt/archives/linux-headers-*" for v in vers: print "sudo rm -rf "+cart+"linux-headers-3.13.0-"+str(v)+"-generic" print "sudo rm -rf "+cart+"linux-image-3.13.0-"+str(v)+"-generic" print "sudo rm -rf "+cart+"linux-image-extra-3.13.0-"+str(v)+"" print "sudo rm -rf "+cart+"linux-headers-3.13.0-"+str(v)+"" print "sudo rm -rf "+cart+"linux-image-3.13.0-"+str(v)+"" print "sudo rm -rf "+cart+"linux-image-extra-3.13.0-"+str(v)+"" print "sudo rm -rf "+boot+"abi-3.13.0-"+str(v)+"-generic" print "sudo rm -rf "+boot+"config-3.13.0-"+str(v)+"-generic" print "sudo rm -rf "+boot+"initrd.img-3.13.0-"+str(v)+"-generic" print "sudo rm -rf "+boot+"System.map-3.13.0-"+str(v)+"-generic" print "sudo rm -rf "+boot+"vmlinuz-3.13.0-"+str(v)+"-generic" cmd = "" for v in vers: cmd += " linux-headers-3.13.0-"+str(v)+"-generic linux-image-3.13.0-"+str(v)+"-generic linux-image-extra-3.13.0-"+str(v)+" " +\ "linux-headers-3.13.0-"+str(v)+" linux-image-3.13.0-"+str(v)+" linux-image-extra-3.13.0-"+str(v)+" " print "sudo apt-get -y purge " + cmd |
L’unico parametro da modificare è il primo vettore, aggiungendo o togliendo le versioni.
Durante l’esecuzione ci verrà chiesto se mantenere la configurazione di grub, possiamo dirgli di sì.
One thought on “Liberare spazio su Ubuntu con errore apt-get “No space left on device””