Estoy escribiendo un script BASH que configura, construye e instala automáticamente la imagen del kernel más reciente. El kernel generado debe incluir elseguridadconjunto de parches. Utilizaría la configuración anterior de /proc/config.gz
, que creé manualmente al compilar el primer kernel personalizado en la máquina.
¿Es seguro automatizar completamente el proceso? Se vería así:
- Compruebe el kernel más reciente que
grsecurity
esté disponible para - Descargue el
grsecurity
conjunto de parches y el árbol de fuentes del kernel correspondiente - Parchear el kernel
- Copie el archivo de configuración del kernel anterior en el directorio fuente del kernel
- Ejecute
make olddefconfig
para configurar el kernel según la configuración anterior - Compile el kernel con
fakeroot make deb-pkg
- Instale los paquetes resultantes y cambie la prioridad del gestor de arranque.
- Envíame un correo indicando que es necesario reiniciar
La pregunta principal: ¿es probable que un kernel compilado olddefconfig
contenga errores que impidan que el sistema arranque si la configuración anterior funciona correctamente? Es muy importante porque es un servidor remoto al que se accede vía SSH y un rescate manual requeriría mucho esfuerzo.
Respuesta1
Si no puede permitirse el lujo de fracasar, pruebe.
Incluso si puedes permitirte el lujo de fracasar, las pruebas son buenas. Si es posible, ejecute la compilación en un entorno de prueba dedicado. En muchos casos, un invitado virtual constituye un sistema de prueba adecuado. Cuando reinicie su kernel actualizado y las pruebas posteriores también se completen exitosamente, solo entonces copie e implemente el nuevo paquete en su sistema remoto.
Ahora a su pregunta principal: ¿su plan make olddefconfig
contendrá errores que provocarán una falla en el arranque?
Sólo un idiota creería que cualquier sistema es completamente infalible. Cuando quieras ejecutar elmás recientekernel, como dijiste, estarás a la vanguardia y tendrás todas las ventajas y riesgos asociados con eso. Reducir el riesgo es seleccionar una versión a largo plazo en la que un conjunto de funciones esté congelado y solo se introduzcan correcciones de errores/seguridad.
Independientemente: cualquier reinicio corre un pequeño riesgo de fallar.
Como nota al margen: he pasado demasiadas horas en el pasado en centros de datos reparando problemas/configuraciones incorrectas en servidores, por lo que recomiendo a todos que siempre agreguen una opción de administración remota adecuada (por ejemplo, HP ILO, DRAC de Dell, ILOM de Oracle, etc. o un KVM). a través de puerta de enlace IP) a sus servidores remotos, lo que le permite solucionar la mayoría de los problemas desde la comodidad de su escritorio.