No tengo suficiente confianza para hacer esto solo y arriesgo que el servidor no arranque o algo así.
Me gustaría actualizar el kernel desde:
$ uname -r
4.9.0-6-amd64
$ uname -v
#1 SMP Debian 4.9.88-1+deb9u1 (2018-05-07)
a la versión del kernel 4.15 o 4.16. Lo que recomiende
Solo creo que sé cómo enumerar las versiones disponibles:
$ apt-cache search linux-image | grep amd64
linux-headers-4.9.0-6-amd64 - Header files for Linux 4.9.0-6-amd64
linux-headers-4.9.0-6-rt-amd64 - Header files for Linux 4.9.0-6-rt-amd64
linux-image-4.9.0-6-amd64 - Linux 4.9 for 64-bit PCs
linux-image-4.9.0-6-amd64-dbg - Debug symbols for linux-image-4.9.0-6-amd64
linux-image-4.9.0-6-rt-amd64 - Linux 4.9 for 64-bit PCs, PREEMPT_RT
linux-image-4.9.0-6-rt-amd64-dbg - Debug symbols for linux-image-4.9.0-6-rt-amd64
linux-image-amd64 - Linux for 64-bit PCs (meta-package)
linux-image-amd64-dbg - Debugging symbols for Linux amd64 configuration (meta-package)
linux-image-rt-amd64 - Linux for 64-bit PCs (meta-package), PREEMPT_RT
linux-image-rt-amd64-dbg - Debugging symbols for Linux rt-amd64 configuration (meta-package)
linux-headers-4.9.0-3-amd64 - Header files for Linux 4.9.0-3-amd64
linux-headers-4.9.0-3-rt-amd64 - Header files for Linux 4.9.0-3-rt-amd64
linux-headers-4.9.0-4-amd64 - Header files for Linux 4.9.0-4-amd64
linux-headers-4.9.0-4-rt-amd64 - Header files for Linux 4.9.0-4-rt-amd64
linux-headers-4.9.0-5-amd64 - Header files for Linux 4.9.0-5-amd64
linux-headers-4.9.0-5-rt-amd64 - Header files for Linux 4.9.0-5-rt-amd64
linux-image-4.9.0-3-amd64 - Linux 4.9 for 64-bit PCs
linux-image-4.9.0-3-amd64-dbg - Debug symbols for linux-image-4.9.0-3-amd64
linux-image-4.9.0-3-rt-amd64 - Linux 4.9 for 64-bit PCs, PREEMPT_RT
linux-image-4.9.0-3-rt-amd64-dbg - Debug symbols for linux-image-4.9.0-3-rt-amd64
linux-image-4.9.0-4-amd64 - Linux 4.9 for 64-bit PCs
linux-image-4.9.0-4-amd64-dbg - Debug symbols for linux-image-4.9.0-4-amd64
linux-image-4.9.0-4-rt-amd64 - Linux 4.9 for 64-bit PCs, PREEMPT_RT
linux-image-4.9.0-4-rt-amd64-dbg - Debug symbols for linux-image-4.9.0-4-rt-amd64
linux-image-4.9.0-5-amd64 - Linux 4.9 for 64-bit PCs
linux-image-4.9.0-5-amd64-dbg - Debug symbols for linux-image-4.9.0-5-amd64
linux-image-4.9.0-5-rt-amd64 - Linux 4.9 for 64-bit PCs, PREEMPT_RT
linux-image-4.9.0-5-rt-amd64-dbg - Debug symbols for linux-image-4.9.0-5-rt-amd64
linux-headers-4.15.0-0.bpo.2-amd64 - Header files for Linux 4.15.0-0.bpo.2-amd64
linux-headers-4.15.0-0.bpo.2-cloud-amd64 - Header files for Linux 4.15.0-0.bpo.2-cloud-amd64
linux-headers-4.16.0-0.bpo.1-amd64 - Header files for Linux 4.16.0-0.bpo.1-amd64
linux-headers-4.16.0-0.bpo.1-cloud-amd64 - Header files for Linux 4.16.0-0.bpo.1-cloud-amd64
linux-image-4.15.0-0.bpo.2-amd64 - Linux 4.15 for 64-bit PCs
linux-image-4.15.0-0.bpo.2-amd64-dbg - Debug symbols for linux-image-4.15.0-0.bpo.2-amd64
linux-image-4.15.0-0.bpo.2-cloud-amd64 - Linux 4.15 for x86-64 cloud
linux-image-4.15.0-0.bpo.2-cloud-amd64-dbg - Debug symbols for linux-image-4.15.0-0.bpo.2-cloud-amd64
linux-image-4.16.0-0.bpo.1-amd64 - Linux 4.16 for 64-bit PCs
linux-image-4.16.0-0.bpo.1-amd64-dbg - Debug symbols for linux-image-4.16.0-0.bpo.1-amd64
linux-image-4.16.0-0.bpo.1-cloud-amd64 - Linux 4.16 for x86-64 cloud
linux-image-4.16.0-0.bpo.1-cloud-amd64-dbg - Debug symbols for linux-image-4.16.0-0.bpo.1-cloud-amd64
linux-headers-4.9.0-4-grsec-amd64 - Header files for Linux 4.9.0-4-grsec-amd64
linux-image-4.9.0-4-grsec-amd64 - Linux 4.9 for 64-bit PCs, Grsecurity protection (unofficial patch)
linux-image-grsec-amd64 - Linux image meta-package, grsec featureset
linux-image-cloud-amd64 - Linux for x86-64 cloud (meta-package)
linux-image-cloud-amd64-dbg - Debugging symbols for Linux cloud-amd64 configuration (meta-package)
Yo también necesito encabezados. En Ubuntu también hay un paquete llamado extra
o similar, así que estoy confundido de no verlo aquí.
¿Cuál es la forma correcta de instalar el nuevo kernel manualmente en Debian 9?
Respuestas:
Si desea instalar un nuevo kernel empaquetado en Debian, debe usar uno del repositorio de backports. Parece que ya tiene ese repositorio agregado a su
apt
configuración, por lo que está todo listo.Dado que su núcleo actual es la versión básica de amd64, supongo que no necesitará la versión del planificador en tiempo real ni la versión en la nube.
Solo corre
es decir, "instale la versión básica -amd64 del kernel 4.16 compatible con Debian 9 y el paquete de encabezados correspondiente".
A diferencia de los paquetes regulares, el
linux-image
paquete de la nueva versión no reemplazará directamente el kernel 4.9.0 existente, sino que se instalará junto a él. (Esto se debe a que el número de versión se incluye como parte del nombre del paquete). Los gestores de arranque se configurarán automáticamentelinux-image
después de la instalación para presentar los núcleos disponibles en un orden basado en el número de versión, o si eso no es posible para algunos gestores de arranque. , solo establece automáticamente el más reciente instalado como el preferido.Si resulta que su nuevo kernel no arrancará, puede seleccionar el kernel anterior del gestor de arranque y luego eliminar el paquete del kernel que no funcionó. Si accidentalmente le dice al administrador de paquetes que elimine el núcleo en el que se está ejecutando actualmente, es lo suficientemente inteligente como para saber que no es algo bueno y anulará la operación.
fuente
[...] it is smart enough to know that isn't a good thing to do, and will abort the operation.
<- Si no está seguro de qué núcleo está ejecutando (en este caso) puede ejecutaruname -r
(tomado de askubuntu.com/questions/359574/… )Problema en cuestión
Necesita un kernel de Linux más nuevo que el instalado en su instancia de Debian. Hay algunos riesgos para esto. Se recomienda evitar desviarse del núcleo LTS estable predeterminado que proporciona Debian. Sin embargo, debido a las necesidades de su parte, necesita un kernel más nuevo.
Solución
Puede agregar el repositorio de backports , usar apt-pinning para controlar lo que está instalado aquí e instalar los componentes necesarios para actualizar su kernel.
Recomiendo encarecidamente apt-pinning ya que puede agregar repositorios alternativos o incluso repositorios de terceros y controlar lo que se instala desde ellos. Esto le permite, nuevamente bajo su propio riesgo, instalar y actualizar paquetes y bibliotecas alternativas y actualizarlos junto con los componentes principales de su sistema operativo. La fijación de aptos permite el control granular de paquetes de fuentes alternativas (es decir, no estables) con menores riesgos de rotura. Si comprende el riesgo, puede avanzar con esto.
Agregue el repositorio de Backports y configure las preferencias de apt
El primer paso es agregar los repositorios adecuados a su
sources.list
. Le recomendaría que use,/sources.list.d/
pero puede hacerlo en un solo archivo.Su
sources.list
debe ser algo como esto. No necesita las partes no libres si no necesita software no libre. A continuación, deberá darles prioridad a los paquetes mediante el uso/etc/apt/preferences
. Este archivo debería verse así:Puede ser más granular en su enfoque al especificar paquetes individuales y asignar valores más altos o más bajos a las prioridades del pin.
Después de esto corres
apt-get update
.Instalar el kernel deseado
Al
apt-cache search linux-image
usarlo, se enumerarán todos los núcleos disponibles. Cuando haya identificado qué kernel desea, puede instalarlo usandoapt-get install linux-image-flavour
. Se recomienda instalar también el paquete de encabezado de Linux correspondiente. Si necesita la imagen grsec en su entorno, instálela. De nuevo con el paquete de encabezado apropiado también.Al reiniciar, podrá seleccionar qué kernel desea iniciar en el menú de GRUB. Si se encuentra con problemas, siempre puede seleccionar el núcleo bueno conocido y arrancar usando eso en su lugar.
Conclusión
He utilizado apt-pinning para administrar con éxito la instalación de Debian de mi computadora personal. Utilicé el método anterior para instalar lo que era el kernel más reciente en ese momento (4.15) y mi sistema ha estado funcionando bien. Sin embargo, tome esto con un grano de sal ya que es una computadora personal y no lo que supongo que es un servidor de producción en el que desea instalar esto. También incluyo enlaces a todas las fuentes a las que hice referencia. Utilicé esta página de Debian Wiki para informar sobre los pasos necesarios, así como la página sobre apt-pinning . Este artículo también fue referenciado.
Si tiene alguna pregunta o inquietud sobre esta publicación, no dude en preguntarme. Si hay correcciones o conceptos erróneos en esta respuesta, infórmeme. Puedo actualizar la publicación según sea necesario.
¡La mejor de las suertes!
fuente
Para instalar linux-image y su paquete de encabezados, use el siguiente comando:
Algunas dependencias deben instalarse desde los puertos posteriores después de ejecutar el comando anterior, se puede instalar a través de:
fuente
-t stretch-backports
se pueden añadir a la línea inicial, por lo que recibe automáticamente todas las dependencias correctas:apt install -t stretch-backports linux-{image,headers}-4.18.0-0.bpo.3-amd64
.