J'ai reçu un message d'erreur expliquant que mon / boot est plein. essayer de nettoyer d'anciens fichiers image semble toujours échouer à cause d'erreurs de disque saturé ou de dépendances. Quelqu'un pourrait-il expliquer où je me trompe?
$ sudo apt-get autoremove
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-image-extra-3.13.0-44-generic : Depends: linux-image-3.13.0-44-generic but it is not installed
linux-image-extra-3.13.0-45-generic : Depends: linux-image-3.13.0-45-generic but it is not installed
linux-image-generic : Depends: linux-image-3.13.0-45-generic but it is not installed
E: Unmet dependencies. Try using -f.
$ ls /boot
abi-3.13.0-32-generic initrd.img-3.13.0-43-generic
abi-3.13.0-36-generic lost+found
abi-3.13.0-37-generic memtest86+.bin
abi-3.13.0-39-generic memtest86+.elf
abi-3.13.0-40-generic memtest86+_multiboot.bin
abi-3.13.0-43-generic System.map-3.13.0-32-generic
config-3.13.0-32-generic System.map-3.13.0-36-generic
config-3.13.0-36-generic System.map-3.13.0-37-generic
config-3.13.0-37-generic System.map-3.13.0-39-generic
config-3.13.0-39-generic System.map-3.13.0-40-generic
config-3.13.0-40-generic System.map-3.13.0-43-generic
config-3.13.0-43-generic vmlinuz-3.13.0-32-generic
grub vmlinuz-3.13.0-36-generic
initrd.img-3.13.0-32-generic vmlinuz-3.13.0-37-generic
initrd.img-3.13.0-36-generic vmlinuz-3.13.0-39-generic
initrd.img-3.13.0-37-generic vmlinuz-3.13.0-40-generic
initrd.img-3.13.0-39-generic vmlinuz-3.13.0-43-generic
initrd.img-3.13.0-40-generic
j'ai utilisé
kernelver=$(uname -r | sed -r 's/-[a-z]+//')
dpkg -l linux-{image,headers}-"[0-9]*" | awk '/ii/{print $2}' | grep -ve $kernelver
obtenir
linux-headers-3.13.0-32
linux-headers-3.13.0-32-generic
linux-headers-3.13.0-36
linux-headers-3.13.0-36-generic
linux-headers-3.13.0-37
linux-headers-3.13.0-37-generic
linux-headers-3.13.0-39
linux-headers-3.13.0-39-generic
linux-headers-3.13.0-40
linux-headers-3.13.0-40-generic
linux-headers-3.13.0-44
linux-headers-3.13.0-44-generic
linux-headers-3.13.0-45
linux-headers-3.13.0-45-generic
linux-image-3.13.0-32-generic
linux-image-3.13.0-36-generic
linux-image-3.13.0-37-generic
linux-image-3.13.0-39-generic
linux-image-3.13.0-40-generic
Puis choisir la première image à supprimer
$ sudo apt-get purge linux-image-3.13.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-image-extra-3.13.0-32-generic : Depends: linux-image-3.13.0-32-generic but it is not going to be installed
linux-image-extra-3.13.0-44-generic : Depends: linux-image-3.13.0-44-generic but it is not going to be installed
linux-image-extra-3.13.0-45-generic : Depends: linux-image-3.13.0-45-generic but it is not going to be installed
linux-image-generic : Depends: linux-image-3.13.0-45-generic but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
boot
package-management
disk-usage
Philip Howard
la source
la source
sudo apt-get autoremove
etls /boot
.uname -r
commande pour connaître votre version actuelle du noyau et essayez de supprimer un noyau autre que celui-là.Réponses:
Dans ce cas, j'utiliserais l'
dpkg
outil pour forcer la suppression de certains paquets du noyau. Ce n'est pas suggéré pour une utilisation commune et est un peu dangereux , mais dans ce cas avec des dépendances non satisfaites pourrait aider.Tout d’abord, localisez le noyau dans lequel le système est démarré. Celui qui est actuellement chargé. Ouvrez un terminal (CTRL + ALT + T) et lancez la commande suivante
Il vous montrera le noyau chargé, vous ne devriez PAS essayer de le supprimer.
Puis lancez la commande
il retournera toutes les images installées. Choisissez-en un ou deux et essayez de les enlever. Essayez de forcer les supprimer / les purger. Par exemple
Vous pouvez faire la même chose pour d'autres images, afin de libérer de l'espace.
Ensuite, vous pouvez essayer d’installer les paquets manquants, ou
pour essayer de résoudre les dépendances.
Enfin, lancez la commande "cleanup old kernels"
La commande ci-dessus supprimera TOUS les noyaux sauf celui qui est actuellement chargé.
Comme vous avez une partition / boot séparée, gardez à l’esprit que vous devrez suivre son espace et nettoyer souvent (la fréquence dépend de l’espace de / boot)
la source
dpkg
, je devais courirsudo apt-get -f autoremove
pour pouvoirapt-get
arrêter de me plaindre des dépendances non satisfaites. Sinon,sudo apt-get -f install
apparemment , j'ai continué d'essayer de réinstaller toutes les images du noyau que j'avais suppriméesdpkg
, ce qui, évidemment, vient de se remplir à/boot
nouveau.apt-get -f autoremove
commentaire in @mdunsmuir ci-dessus, il souhaite toujours installer tous les anciens noyaux au cours des opérations de nettoyage décrites ci-dessus. Y a-t-il un moyen de simplement lui dire d'ignorer les dépendances non liées et de supprimer un ancien noyau complet et unique?sudo dpkg --force-all -P linux-image-extra-3.13.0-32-generic
. Sinon, ces extras dépendent toujours de l'image réelle et l'-f
indicateur provoque la réinstallation de l'image, puis l'espace disponible sur le disque.C'est ce qui a fonctionné pour moi sur Ubuntu 16.04.
la source
Lister tous les noyaux:
Afficher le noyau actuel:
Répertoriez tous les noyaux SAUF celui en cours:
Assurez-vous que votre noyau actuel ne figure pas sur cette liste.
Supprime tous les noyaux SAUF celui en cours:
Effacer les autres trucs:
la source