Je sais que cette question est posée plusieurs fois auparavant, mais avec moi, c'est juste un peu différent, je suppose.
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 224G 5.2G 208G 3% /
udev 1.9G 4.0K 1.9G 1% /dev
tmpfs 777M 260K 777M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 1.9G 0 1.9G 0% /run/shm
/dev/sda2 90M 88M 0 100% /boot
/dev/sda6 1.9G 514M 1.3G 29% /tmp
Ma partition de démarrage est pleine.
Noyau actuel:
# uname -r
3.2.0-35-generic
Tous les noyaux:
# dpkg --list | grep linux-image
ii linux-image-3.2.0-32-generic 3.2.0-32.51 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
ii linux-image-3.2.0-34-generic 3.2.0-34.53 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
ii linux-image-3.2.0-35-generic 3.2.0-35.55 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
iF linux-image-3.2.0-37-generic 3.2.0-37.58 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
iF linux-image-3.2.0-38-generic 3.2.0-38.60 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
iU linux-image-generic 3.2.0.37.45 Generic Linux kernel image
J'ai donc pensé à supprimer le noyau générique 3.2.0.32 avec:
# sudo apt-get purge linux-image-3.2.0-32-generic
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
linux-generic : Depends: linux-headers-generic (= 3.2.0.37.45) but 3.2.0.38.46 is to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
Sans succès.
Lorsque j'essaie, apt-get -f install
cela échoue également:
# apt-get -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
linux-headers-3.2.0-34 linux-headers-3.2.0-35 linux-headers-3.2.0-34-generic linux-headers-3.2.0-35-generic
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
linux-generic linux-image-generic
The following packages will be upgraded:
linux-generic linux-image-generic
2 upgraded, 0 newly installed, 0 to remove and 9 not upgraded.
5 not fully installed or removed.
Need to get 0 B/4,334 B of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue [Y/n]? y
Setting up initramfs-tools (0.99ubuntu13.1) ...
update-initramfs: deferring update (trigger activated)
Setting up linux-image-3.2.0-37-generic (3.2.0-37.58) ...
Running depmod.
update-initramfs: deferring update (hook will be called later)
The link /initrd.img is a dangling linkto /boot/initrd.img-3.2.0-38-generic
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 3.2.0-37-generic /boot/vmlinuz-3.2.0-37-generic
update-initramfs: Generating /boot/initrd.img-3.2.0-37-generic
gzip: stdout: No space left on device
E: mkinitramfs failure cpio 141 gzip 1
update-initramfs: failed for /boot/initrd.img-3.2.0-37-generic with 1.
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/linux-image-3.2.0-37-generic.postinst line 1010.
dpkg: error processing linux-image-3.2.0-37-generic (--configure):
subprocess installed post-installation script returned error exit status 2
Setting up linux-image-3.2.0-38-generic (3.2.0-38.60) ...
Running depmod.
update-initramfs: deferring update (hook will be called later)
The link /initrd.img is a dangling linkto /boot/initrd.img-3.2.0-37-generic
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 3.2.0-38-generic /boot/vmlinuz-3.2.0-38-generic
update-initramfs: Generating /boot/initrd.img-3.2.0-38-generic
gzip: stdout: No space left on device
E: mkinitramfs failure cpio 141 gzip 1
update-initramfs: failed for /boot/initrd.img-3.2.0-38-generic with 1.
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/linux-image-3.2.0-38-generic.postinst line 1010.
dpkg: error processing linux-image-3.2.0-38-generic (--configure):
subprocess installed post-installation script returned error exit status 2
dpkg: dependency problems prevent configuration of linux-image-generic:
linux-image-generic depends on linux-image-3.2.0-37-generic; however:
Package linux-image-3.2.0-37-generic is not configured yet.
dpkg: error processing linux-image-generic (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of linux-generic:
linux-generic depends on linux-image-generic (= 3.2.0.37.45); however:
Package linux-image-generic is not configured yet.
linux-generic depends on linux-headers-generic (= 3.2.0.37.45); however:
Version of linux-headers-generic on system is 3.2.0.38.46.
dpkg: error processing linux-generic (--configure):
dependency problems - leaving unconfigured
Processing triggers for initramfs-tools ...
No apport report written because the error message indicates its a followup error from a previous failure.
No apport report written because MaxReports is reached already
update-initramfs: Generating /boot/initrd.img-3.2.0-35-generic
gzip: stdout: No space left on device
E: mkinitramfs failure cpio 141 gzip 1
update-initramfs: failed for /boot/initrd.img-3.2.0-35-generic with 1.
dpkg: error processing initramfs-tools (--configure):
subprocess installed post-installation script returned error exit status 1
No apport report written because MaxReports is reached already
Errors were encountered while processing:
linux-image-3.2.0-37-generic
linux-image-3.2.0-38-generic
linux-image-generic
linux-generic
initramfs-tools
E: Sub-process /usr/bin/dpkg returned an error code (1)
Toute aide serait vraiment appréciée.
Mise à jour: j'ai fait:
sudo rm /boot/*-3.2.0-32-generic /boot/*-3.2.0-34-generic
Après cela, le problème suivant avec apt-get -f install
:
root@localhost:/# apt-get -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following extra packages will be installed:
linux-generic
The following packages will be upgraded:
linux-generic
1 upgraded, 0 newly installed, 0 to remove and 9 not upgraded.
1 not fully installed or removed.
Need to get 0 B/1,722 B of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue [Y/n]? y
dpkg: dependency problems prevent configuration of linux-generic:
linux-generic depends on linux-image-generic (= 3.2.0.37.45); however:
Version of linux-image-generic on system is 3.2.0.38.46.
linux-generic depends on linux-headers-generic (= 3.2.0.37.45); however:
Version of linux-headers-generic on system is 3.2.0.38.46.
dpkg: error processing linux-generic (--configure):
dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
Errors were encountered while processing:
linux-generic
E: Sub-process /usr/bin/dpkg returned an error code (1)
Réponses:
Vous ne pouvez pas utiliser apt-get lorsque votre noyau est obsolète.
utiliser
ls
pour voir ce qui se trouve dans le dossier supprimer le plus ancien ou les deuxEnsuite, vous pouvez purger apt-get comme dans
ou continuez simplement avec rm.
vous devriez aussi
sudo update-grub
quand vous avez terminéla source
sudo apt-get -f install
, puis j'ai redémarré pour m'assurer que tout allait bien et j'ai supprimé le reste avecapt autoremove
comme suggéré dans la sortie des commandes précédentes.Apparemment, cela fonctionne:
Selon la
apt-get
page de manuel:3.16.0-39 est celui que j'ai essayé d'installer, mais qui a échoué car / boot était plein. 3.16.0-38 est ma version actuelle. Vous pouvez voir que -38 a été ignoré.
la source
autoremove
.Dans un terminal, exécutez la commande suivante:
Cette commande répertorie tous les noyaux Linux actuellement installés, puis sélectionne tous ceux qui ne sont actuellement pas utilisés et les supprime.
la source
Si l'exécution de la commande ci-dessus sans la "purge sudo apt-get -y" correspond à votre linux-libc-dev: amd64, vous pouvez ajouter un point-virgule à l'expression régulière pour ne pas l'inclure:
Maintenant, assurez-vous qu'il a l'air bien et ajoutez la "purge sudo apt-get -y"
la source
Pour Ubuntu 12.04, essayez ceci
sudo apt-get purge linux-image-[kernel version]
Cela supprimera toute version du noyau. Si votre dossier de démarrage contient plusieurs noyaux, n'oubliez pas de mettre à jour grub et de redémarrer votre système
ex. sudo apt-get purge linux-image-3.11.6 *
la source
De nombreuses réponses disent d'utiliser "apt autoremove" mais cela peut ne pas fonctionner lorsque / boot est plein car apt essaie d'ajouter des noyaux avant de les supprimer.
La prochaine suppression automatique d'apt ne supprimera pas les noyaux mentionnés dans /etc/apt/apt.conf.d/01autoremove-kernels, nous devons donc y remédier.
Voici le processus qui a fonctionné pour moi.
Supprimez les fichiers de configuration du noyau indésirables.
sudo dpkg --purge $ (COLONNES = 200 dpkg -l | grep "linux-image-extra" | grep "^ rc" | tr -s '' | cut -d '' -f 2)
Mettez à jour /etc/apt/apt.conf.d/01autoremove-kernels en exécutant ...
sudo /etc/kernel/postinst.d/apt-auto-removal
J'espère que la suppression automatique d'apt fonctionnera.
sudo apt autoremove --purge
Sinon, vous devriez pouvoir supprimer manuellement les noyaux très anciens et inutilisés de / boot.
Découvrez d'abord quel noyau vous utilisez.
uname -r
Ne supprimez pas votre noyau actuel ou le noyau précédent.
sudo rm /boot/initrd.img-V.XX.Y-ZZ-generic
Vous devriez maintenant avoir suffisamment d'espace pour réessayer la suppression automatique d'apt. Sinon, supprimez un autre noyau très ancien. Bien sûr, restez à jour et le plus ancien suivant.
la source
J'espère que cela peut aider:
je supprime généralement les anciens noyaux en utilisant ubuntu-tweak janitor, nice GUI and easy :)
cliquez sur «système» et il y aura une liste d'anciens noyaux, cliquez simplement dessus et nettoyez
la source