# Desistalar antiguo kernel, problemas con eselect (resuelto)

## jbcjorge

Bueno, más que un problema funcional, es uno estético, ya que a pesar de que he desistalado los kernels antiguos con emerge -C kernel, al mostrar las entradas con eselect las sigue teniendo....

eselect kernel list

Available kernel symlink targets:

  [1]   linux-2.6.21-gentoo-r3

  [2]   linux-2.6.22-gentoo-r2

  [3]   linux-2.6.22-gentoo-r3

  [4]   linux-2.6.22-gentoo-r5

  [5]   linux-2.6.22-gentoo-r6

  [6]   linux-2.6.22-gentoo-r7 *

  [7]   linux-2.6.22-gentoo-r8

  [8]   linux-2.6.22-suspend2-r1

eix gentoo-sources

[I] sys-kernel/gentoo-sources

     Available versions:

        (2.6.16-r13)    2.6.16-r13

        (2.6.19-r5)     2.6.19-r5

        (2.6.19-r7)     (~)2.6.19-r7

        (2.6.20-r10)    (~)2.6.20-r10

        (2.6.21-r4)     2.6.21-r4

        (2.6.22)        (~)2.6.22

        (2.6.22-r1)     (~)2.6.22-r1

        (2.6.22-r2)     2.6.22-r2

        (2.6.22-r3)     (~)2.6.22-r3

        (2.6.22-r4)     (~)2.6.22-r4

        (2.6.22-r5)     2.6.22-r5

        (2.6.22-r6)     (~)2.6.22-r6

        (2.6.22-r7)     (~)2.6.22-r7

        (2.6.22-r :Cool:      2.6.22-r8

        {build symlink ultra1}

     Installed versions:  2.6.22-r7(2.6.22-r7)(22:49:39 23/09/07)(symlink -build)

                          2.6.22-r8(2.6.22-r :Cool: (16:36:41 29/09/07)(symlink -build)

     Homepage:            http://dev.gentoo.org/~dsd/genpatches

     Description:         Full sources including the Gentoo patchset for the 2.6 kernel tree

Alguna idea por qué con eselect los sigue mostrando??? Y cómo se puede resolver el problema??? (bueno, existe otra manera además de borrar los enlaces a mano)

----------

## i92guboj

Lo que eselect hace es simplemente buscar entradas en /usr/src/. Por tanto, siempre listará todo lo que haya allí. Lo único que puedes hacer es borrar a mano los subdirectorios en /usr/src que no te sirvan.

Ahora viene la explicación de por qué están ahí dichos directorios si pertenecen a kernels antiguos que ya desinstalaste.

Portage tiene la política de no borrar nunca nada que no haya creado. En los dirs de los kernels que has compilado existen montones de archivos objeto (.o), además de tu .config. Estos no han sido creados por portage, sino por tí, al compilar tu kernel. Por tanto, portage no los puede eliminar, y los directorios van quedando ahí. Esto tiene su lógica, porque a nadie le gustaría ir a por una .config antigua y encontrarse conque portage decidió eliminarla.

Si de verdad quieres eliminar dichos directorios, tendrás que hacerlo a mano.

Dos consejos:

1.- cuando vayas a desinstalar un kernel, borra primero el dir a mano, y el emerge -C tardará mucho menos en completarse

2.- cuando hagas eso, borra también el kernel de /boot y el dir de módulos correspondiente de /lib/modules/, o se irán amontonando.

----------

## Stolz

Ni siquiera conocía esa funcionalidad de eselect, pero se me ocurre que aunque hayas usado emerge para desintalar los kernels viejos, es posible que aun queden archivos en /usr/src/linux-2.6*  y en /lib/modules/2.6.*

Borra los directorios coincidentes con los kernels que has desintalado para ver si eselect deja de mostralos.

Saludozzzzzzz

----------

## jbcjorge

Excelente!!!   :Very Happy: 

Gracias por ambas explicaciones, sólo me gustaría que se le agregara a emerge la opción de borrar todo automáticamente, pero por lo pronto, me he librado como de 2gb de antiguas compilaciones...

Ahora felizmente la salida de eselect es

eselect kernel list

Available kernel symlink targets:

  [1]   linux-2.6.23-gentoo *

----------

