Pas assez d'espace disque libre lors de la mise à niveau

136

J'obtiens une erreur dans la mise à jour du logiciel lorsque j'essaie de faire mes mises à jour quotidiennes. il dit:

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'.

J'ai essayé de taper sudo apt-get clean dans le terminal mais je reçois toujours le message. Toutes les pages que je lis semblent être destinées à des Ubuntuers expérimentés. Je cours Ubuntu 12.10. Je veux passer à la version 13.04, mais je dois d'abord les terminer.

Ceci est la sortie de la saisie de cat /etc/fstab dans le terminal:

# /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
[email protected]:~$ 

Sortie de 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
[email protected]:~$ 

Et dpkg -l | grep linux-image donne:

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
    
posée carmatt95 22.05.2013 - 06:30
la source

8 réponses

186
  

Note: cette réponse se veut plus une «explication» que de fournir le meilleur moyen de supprimer les anciens noyaux. Pour trouver la meilleure façon de supprimer les anciens noyaux, consultez les autres réponses.

Bon, à partir du résultat de /etc/fstab que vous avez publié, il semble que votre /boot soit monté sur une partition distincte, et à partir de la sortie de < strong> df -h , cette partition est pleine. C'est parce qu'il y a d'anciens noyaux installés qui ne sont pas nécessaires; vous pouvez le dire en regardant la sortie de dpkg -l | grep linux-image que vous avez publiée, où vous pouvez voir plusieurs " linux-image " avec des versions différentes. Nous devons supprimer les anciennes versions.

Premièrement, je veux que vous exécutiez la commande uname -r dans un terminal, cela vous montrera la version du noyau que vous utilisez actuellement. Nous ne voulons jamais supprimer cette version du noyau. La commande dira quelque chose comme ceci 3.5.0-26-generic . Prenez une note de ce nombre, 26 ! Les commandes suivantes supposent que c'est le noyau que vous utilisez.

La commande pour supprimer une ancienne version du noyau est la suivante:

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

... où les caractères x sont des nombres. Donc, dans votre cas, comme vous avez beaucoup d'anciennes versions (17, 18, 19, etc ...), nous devrions exécuter cette commande pour chacune des versions, comme ceci:

  • 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

... et ainsi de suite. Mais il y a un moyen de faire tout cela en une seule commande. La commande est la suivante ( NE PAS EXÉCUTER LA COMMANDE ENCORE! Lisez ce qui suit. ):

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

Cette commande supprimera les versions mentionnées entre parenthèses. Je n'ai pas inclus les versions 25, 26 et 28 pour les raisons suivantes:

  • N'a pas inclus 26 évidemment car c'est la version du noyau que vous utilisez actuellement! C'est la version que nous avons obtenue à partir de la commande uname -r , souvenez-vous? Nous ne voulons jamais enlever ça!
  • N'a pas inclus 28 car c'est celui que votre mise à niveau essayait de mettre à jour (vous pouvez le dire depuis le iF status à côté, ce qui signifie qu'il est "à moitié configuré").
  • N'a pas inclus 25 car il est généralement recommandé de laisser au moins une ancienne version. Donc, puisque vous utilisez 26, nous en conserverons 25, donc nous ne l’inclurons pas dans la commande ci-dessus.

Donc, si le dernier numéro de uname -r est 26 (ou 28, voire 25), il est alors possible d'exécuter la commande ci-dessus. Entrez votre mot de passe lorsque vous y êtes invité et tapez y à la demande. Cela montrera un tas de lignes, et reviendra éventuellement à l'invite de commande (dans votre cas, [email protected]:~$ ), avec espoir sans erreurs. Quand c'est fait, faites df -h et regardez la dernière ligne, celle qui commence par /dev/sda1 . Vous devriez trouver qu'il a maintenant plus d'espace et que le pourcentage utilisé est inférieur à 100% comme auparavant. Vous pouvez maintenant poursuivre votre mise à jour.

    
réponse donnée Alaa Ali 23.05.2013 - 09:57
la source
41

Vous pouvez installer Ubuntu-Tweak.To installer suivez les étapes suivantes:

Ouvrez le terminal. Ajoutez le référentiel requis avec la commande:

sudo add-apt-repository ppa:tualatrix/ppa

Mettez à jour la liste des logiciels avec la commande:

sudo apt-get update

Enfin, installez Ubuntu Teak avec la commande:

sudo apt-get install ubuntu-tweak

Après cela, ouvrez le tiret et tapez "tweak ubuntu".

Ensuite, accédez à l'onglet janitor et cochez les cases Apps , Personal et System et cliquez sur le bouton clean en bas à droite.

    
réponse donnée αғsнιη 11.06.2014 - 17:15
la source
14

Un moyen rapide de supprimer tous les noyaux et en-têtes inutilisés (à l'exception du noyau courant) a été signalé par @Lekensteyn dans sa réponse à la question Comment libérer de l'espace dans / boot? :

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

Cela devrait libérer suffisamment d'espace pour que vous puissiez effectuer la mise à niveau.

    
réponse donnée marianoju 30.09.2015 - 10:00
la source
6

Il y a un rapport de bogue sur le problème ici: lien

N'hésitez pas à dire si "ce bogue vous affecte aussi", de manière à attirer plus d’attention.

    
réponse donnée alci 29.10.2014 - 10:38
la source
3

Sur mon système Ubuntu à la maison, je suis une méthode similaire à celle affichée, mais elle est un peu plus simple et efface plus d'espace avec les en-têtes du noyau, etc.

  1. Je vérifie le noyau que j'utilise car il est impératif de ne pas interférer avec cela.

    uname -a
    
  2. Ensuite, je regarde / boot dans le but de supprimer tous les fichiers liés au noyau qui sont non liés directement au noyau en cours d’exécution. Cela me donne une liste de toutes les versions du noyau que je veux supprimer, par exemple: 3.5.0-17, 3.5.0-18

    ls -l /boot
    
  3. Maintenant, je prends la première version du noyau dans ma liste de purge et je trouve tous les paquets qui y sont liés.

    dpkg -l | grep 3.5.0-17
    
  4. Purgez-les du système

    sudo apt-get purge <list of packages separated by spaces>
    
  5. revenir à 3 et sélectionner la prochaine version du noyau dans ma liste de purge.

  6. Terminé

réponse donnée Kiat 18.07.2014 - 11:59
la source
1

Je recevais cette erreur, cet article a aidé.

J'ai utilisé df -h pour identifier le démarrage complet, uname -r pour la version, puis j'ai utilisé la chaîne purge listée ci-dessus pour supprimer les anciens noyaux. purge du noyau unique a fonctionné, multi n'a pas (pour moi).

J'ai trouvé les fichiers dans la fenêtre Windows; Je ne pouvais pas les supprimer, je devais utiliser le terminal, mais cela m'a montré les anciennes versions que j'avais là-dedans.

Je ne sais pas pourquoi / boot (sda2) est partitionné du tout et pourquoi il est si petit. mais maintenant je peux utiliser à nouveau Ubuntu Updater.

J'ai eu un petit succès avec sudo apt-get update , sudo apt-get upgrade , sudo apt-get clean , a également essayé le logiciel libre Bleachbit. Utilisez la chaîne de purge mais pas sur votre version actuelle. J'espère que cela aide quelqu'un.

    
réponse donnée Brian P 13.08.2014 - 04:36
la source
0

Avez-vous d'anciens paquets d'images de noyau installés, qui ne sont pas utilisés? Ceux-ci peuvent prendre de la place sur / boot. Je recommande de revoir l'ensemble des packages de noyau installés avec une commande telle que:

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

Cela devrait donner un aperçu de l’ensemble des paquets d’images du noyau installés. Pour les paquets linux-image qui ne sont pas utilisés et dont on ne s'attend pas à ce qu'ils soient nécessaires à des fins de récupération - par exemple, par exemple J'aime garder au moins une version du noyau derrière la version active installée, pour la récupération - sinon, vous pouvez supprimer ces paquets inutilisés, en utilisant votre outil de packaging préféré, tel qu'aptitude.

Je recommande également de consulter les inux-headers , linux-image-extras associés (le cas échéant), ainsi que linux-source , et les paquets linux-tools , qui peuvent être installés avec tous les paquets linux-image non utilisés.

    
réponse donnée Sean Champ 23.05.2013 - 09:27
la source
0

Je doute que beaucoup de gens, voire aucun, rencontrent ce problème, mais je le mets ici pour la documentation au cas où quelqu'un en aurait besoin.

Mon problème est que je compilais différents noyaux personnalisés jusqu'à ce que je manque d'espace. La façon dont je devais nettoyer l’espace consistait à entrer dans chaque répertoire du noyau dans lequel je travaillais et à exécuter sudo make clean .

  • $ cd /usr/src Répertoire où le source du noyau est
  • $ cd linux-image-custom_kernel_name
  • $ sudo make clean
réponse donnée Jacksonkr 10.11.2016 - 15:41
la source

Lire d'autres questions sur les étiquettes