Como ya sabrá, el kernel es el software que sirve de puente entre el hardware y el resto de funciones del sistema operativo, que maneja el sistema de ficheros, el acceso a la red y otras tareas de bajo nivel que son críticas para el rendimiento.
El kernel está formado por un fichero principal, que
Normalmente reside en /boot
(o en el directorio raíz) y se denomina (generalmente) vmlinuz-a.b.c-d
.
Es el fichero que se indica al gestor de arranqueEn gestor de arranque (en inglés «bootloader») es un programa sencillo que no tiene la totalidad de las funcionalidades de un sistema operativo, y que está diseñado exclusivamente para preparar todo lo que necesita el sistema operativo para funcionar. Normalmente se utilizan los cargadores de arranque multietapas, en los que varios programas pequeños se suman los unos a los otros, hasta que el último de ellos carga el sistema operativo. (bootloaderUn gestor de arranque (en inglés «bootloader») es un programa sencillo que no tiene la totalidad de las funcionalidades de un sistema operativo, y que está diseñado exclusivamente para preparar todo lo que necesita el sistema operativo para funcionar. Normalmente se utilizan los cargadores de arranque multietapas, en los que varios programas pequeños se suman los unos a los otros, hasta que el último de ellos carga el sistema operativo.) para que cargue el sistema operativo cuando el equipo arranca.
Bastaría con indicar en el gestor de arranque un kernel diferente y reiniciar el equipo para cambiar de kernel si varios están instalados.
Normalmente se le añade al nombre de fichero el número de versión, de manera que se pueden almacenar varios kernel aunque sólo uno de ellos esté operativo.
Además de este fichero, se instalan varios módulos de kernel, que normalmente se encuentran en /lib/modules
El kernel de Linux es común a todas las distribucionesUna distribución Linux (coloquialmente llamada distro) es una distribución de software basada en el núcleo Linux que incluye determinados paquetes de software para satisfacer las necesidades de un grupo específico de usuarios, dando así origen a ediciones domésticas, empresariales y para servidores. Por lo general están compuestas, total o mayoritariamente, de software libre, aunque a menudo incorporan aplicaciones o controladores propietarios. Además del núcleo Linux, las distribuciones incluyen habitualmente las bibliotecas y herramientas del proyecto GNU y el sistema de ventanas X Window System. Existen distribuciones que están soportadas comercialmente, como Fedora (Red Hat), openSUSE (Novell), Ubuntu (Canonical Ltd.), Mandriva, y distribuciones mantenidas por la comunidad como Debian y Gentoo. , y se descarga desde la página web www.kernel.org. Ahí están disponibles todas las versiones como tarballsEl programa tar, es usado para almacenar archivos y directorios en un solo archivo. El fichero resultante tiene la extensión .tar y se denomina coloquialmente "tarball". de código fuente, que se compilan e instalan como cualquier otro software. Tal vez es necesario reconfigurar el boot loader para que localice el nuevo fichero de arranque del sistema operativo, y siempre es necesario reiniciar el sistema para que se apliquen las actualizaciones de kernel.
También es posible descargar actualizaciones (patch) del kernel actual a la versión inmediatamente siguiente, y aplicarlos con el comando patch
al código fuente del kernel actual desde el directorio de dicho kernel.
#gzip -cd ../patch-version.gz | patch -pl
A continuación, se compila e instala el kernel actualizado como cualquier otro kernel. La descarga del parche siempre será más rápida que la de un kernel completo.
uname -r
La versión viene indicada por una cadena de 4 número (a.b.c-d
) en el nombre del fichero de kernel. El tercer número identifica una nueva "release", con nuevas funcionalidades, mientras que cambios en el último número indican simplemente que se han solucionado algunos errores (bugs). Las versiones del kernel se dividen en varias categorías:
Gráficamente, se puede explicar de la siguiente manera:
En la siguiente tabla (extraída de kernel.org) se muestran cuáles son las líneas Longterm abiertas en el momento de editar este curso, quién es su desarrollador (maintainer) encargado, y cuál es la fecha prevista de finalización del mantenimiento (EOL, end-of-line):
Versión | Desarrollador | Fecha EOL |
---|---|---|
3.4 | Greg Kroah-Hartman | Octubre 2014 |
3.2 | Ben Hutchings | 2016 |
3.0 | Greg Kroah-Hartman | Octubre 2013 |
2.6.34 | Paul Gortmaker | Mediados 2013 |
2.6.32 | Willy Tarreau | Mediados 2014 |
El código fuente del kernel instalado en nuestro sistema se encuentra normalmente en /usr/src/linux
. Es recomendable conservarlo este directorio incluso después de haber compilado e instalado el kernel, ya que contiene un directorio con la documentación asociada a dicho kernel, que nos puede ser de utilidad a la hora de necesitar un nuevo driver, por ejemplo. También es posible que instalemos software a partir de sus fuentes, que utilice alguna de las librerías declaradas en el kernel, y serían necesarias para poder compilarlo.
yum
, rpm
...) denominados linux-source, kernel-devel, linux-headers, kernel-headers
(para las librerías), etc. En este caso, la actualización del kernel se hace de la misma manera que el resto de actualizaciones del sistema operativo, o paquetes de otras aplicaciones.Esta píldora formativa está extraída del Curso online de Administración Avanzada de Linux (LPIC-2).
No pierdas tu oportunidad y ¡continúa aprendiendo!
Política de privacidad
ADR Formación utiliza cookies propias y de terceros para fines analíticos anónimos, guardar las preferencias que selecciones y para el funcionamiento general de la página.
Puedes aceptar todas las cookies pulsando el botón "Aceptar" o configurarlas o rechazar su uso pulsando el botón "Configurar".
Puedes obtener más información y volver a configurar tus preferencias en cualquier momento en la Política de cookies