[Résolu]Impossible de supprimer un vieux kernel

Lorsque j’essaie de supprimer un vieux kernel qui ne me sert plus, voici ce que j’obtiens:

aptitude purge linux-image-2.6.15-1-486

Reading package lists… Done
Building dependency tree… Done
Reading extended state information
Initializing package states… Done
Reading task descriptions… Done
Building tag database… Done
The following packages will be automatically REMOVED:
linux-image-2.6.15-1-486{p}
The following packages have been kept back:
libgl1-mesa-glx
The following packages will be REMOVED:
linux-image-2.6.15-1-486{p}
0 packages upgraded, 0 newly installed, 1 to remove and 1 not upgraded.
Need to get 0B of archives. After unpacking 45.9MB will be freed.
Do you want to continue? [Y/n/?] y
Writing extended state information… Done
(Reading database … 89406 files and directories currently installed.)
Removing linux-image-2.6.15-1-486 …
dpkg (subprocess): unable to execute pre-removal script: Exec format error
dpkg: error processing linux-image-2.6.15-1-486 (–purge):
subprocess pre-removal script returned error exit status 2
Errors were encountered while processing:
linux-image-2.6.15-1-486
E: Sub-process /usr/bin/dpkg returned an error code (1)
A package failed to install. Trying to recover.

J’ai donc tenté la méthode de fran.b: forum.debian-fr.org/viewtopic.php?t=4727

Et cette fois-ci, ca n’a pas fonctionné. Le fichier prerm est bien vide (comme je le vois avec un vi) mais l’erreur reste strictement identique.

Auriez-vous une idée?

Tu peux me mettre le contenu de
/var/lib/dpkg/info/linux-im…prerm (d’origine)

Sinon, regardes avant tout si ce script a les droits d’éxécution. chmod +x …

Ce fichier ne devrait pas être vide mais contenir

#!/bin/sh
exit 0

si tu as suivi le post.

Le contenu du fichier linux-image…prerm est vide :frowning:

Ce que j’ai fait (c’est un copier-coller):

mv /var/lib/dpkg/info/linux-image-2.6.15-1-486.prerm /var/lib/dpkg/info/prout.bof

echo > /var/lib/dpkg/info/linux-image-2.6.15-1-486.prerm << EOF

!/bin/bash
exit 0
EOF

chmod 755 /var/lib/dpkg/info/linux-image-2.6.15-1-486.prerm

aptitude purge linux-image-2.6.15-1-486

Reading package lists… Done
Building dependency tree… Done
Reading extended state information
Initializing package states… Done
Reading task descriptions… Done
Building tag database… Done
The following packages have been kept back:
libgl1-mesa-glx
The following packages will be REMOVED:
linux-image-2.6.15-1-486{p}
0 packages upgraded, 0 newly installed, 1 to remove and 1 not upgraded.
Need to get 0B of archives. After unpacking 45.9MB will be freed.
Do you want to continue? [Y/n/?] y
Writing extended state information… Done
(Reading database … 89593 files and directories currently installed.)
Removing linux-image-2.6.15-1-486 …
dpkg (subprocess): unable to execute pre-removal script: Exec format error
dpkg: error processing linux-image-2.6.15-1-486 (–purge):
subprocess pre-removal script returned error exit status 2
Errors were encountered while processing:
linux-image-2.6.15-1-486
E: Sub-process /usr/bin/dpkg returned an error code (1)
A package failed to install. Trying to recover:

J’ai raté quelquechose?

mais sinon pourquoi ne pas virer à la main:
/boot/System.map-2.6.15-1-486
/boot/config-2.6.15-1-486
/boot/vmlinuz-2.6.15-1-486
/boot/initrd.img-2.6.15-1-486
/lib/modules/2.6.15-1-486

et l’entrée correspondante dans grub.
Ca ne résoudra pas ton pb par rapport à ta désinstallation via aptitude, mais ça virera le vieux noyau.

[quote=“isterios”]Le contenu du fichier linux-image…prerm est vide :frowning:

Ce que j’ai fait (c’est un copier-coller):

mv /var/lib/dpkg/info/linux-image-2.6.15-1-486.prerm /var/lib/dpkg/info/prout.bof

echo > /var/lib/dpkg/info/linux-image-2.6.15-1-486.prerm << EOF

!/bin/bash[/quote]
Oui
#!/bin/bash

Tu as oublié de #

[quote=“yanlolot”]mais sinon pourquoi ne pas virer à la main:
/boot/System.map-2.6.15-1-486
/boot/config-2.6.15-1-486
/boot/vmlinuz-2.6.15-1-486
/boot/initrd.img-2.6.15-1-486
/lib/modules/2.6.15-1-486

et l’entrée correspondante dans grub.
Ca ne résoudra pas ton pb par rapport à ta désinstallation via aptitude, mais ça virera le vieux noyau.[/quote]
Le but est de conserver la base de données d’aptitude correcte.

de plus grub ne se gère plus à la main, update-grub le fait lui même.

Ce qui expliquerait qques bizarreries chez moi …Je vais arrêter de virer mes vieux noyaux à la main.

On en apprend tous les jours. Merci pour l’info.

[quote=“fran.b”]
Oui
#!/bin/bash
Tu as oublié de #[/quote]

Je n’ai pas compris:
qu’ai je oublié?

Car lorsque je fais un # echo > /var/lib/dpkg/info/linux-image-2.6.15-1-486.prerm << EOF

Il me met directement “>” à la ligne…

C’est «#!/bin/bash» et non «!/bin/bash»

On en apprend tous les jours. Merci pour l’info.[/quote]

Info supplémentaire qui peut servir:
Lors d’un apt-get remove kernel-image ou linux-image, postrm_hook est appelé. Lorsd’un apt-get install , postinst_hook est appelé. Si on veut gérer ca soit-meme, il suffit de commenter ces lignes.

Merci à tous, ca a fonctionné :wink: