Alpine Linux 3.23 estrena kernel Linux 6.18 LTS, GCC 15, LLVM 21 y actualiza escritorios

Alpine Linux 3.23 ya está disponible y llega cargado de cambios importantes tanto a nivel de núcleo del sistema como en su ecosistema de paquetes. Esta versión consolida a Alpine como una distribución ligera, muy segura y especialmente popular en entornos de contenedores y sistemas embebidos gracias a su uso de musl libc, BusyBox y un enfoque minimalista. Si trabajas con Docker, Kubernetes o dispositivos con recursos limitados, te interesa bastante lo que trae esta edición.
Más allá de la clásica actualización de paquetes, Alpine 3.23 introduce mejoras de calado: un nuevo kernel LTS, el salto a GCC 15 y LLVM 21, la llegada de apk-tools v3, cambios en el árbol de firmware de Intel, reorganización de subpaquetes (udev, systemd, nftables), limpieza de software obsoleto y un paso firme hacia el modelo de /usr-merge para el sistema de archivos. Todo ello sin abandonar su carácter modular basado en OpenRC y sin imponer un entorno gráfico concreto.
Núcleo, toolchain y entornos de escritorio actualizados en Alpine Linux 3.23
Uno de los puntos más destacados de Alpine Linux 3.23 es la actualización del núcleo: ahora la distribución se apoya en el kernel Linux 6.18 LTS, una versión que aporta nuevas funcionalidades, drivers más modernos y una base sólida de mantenimiento a largo plazo. Este cambio, similar al introducido en Alpine 3.18, beneficia tanto a servidores como a contenedores y sistemas embebidos que requieren estabilidad y soporte de hardware reciente.
En el apartado de compiladores, Alpine da un salto importante al adoptar GCC 15 como compilador principal y actualizar todo su árbol de paquetes para compilar con esta nueva versión. Esto implica mejoras de rendimiento, nuevas optimizaciones y cambios en el soporte de C, C++, Rust y otros lenguajes que se benefician de la infraestructura de GCC. El equipo recomienda revisar los documentos de cambios y guía de migración de GCC 15 para proyectos que compilen su propio código, ya que puede haber ajustes necesarios en flags, código legado o dependencias.
Junto a GCC, el conjunto de herramientas LLVM también se renueva: Alpine 3.23 pasa a ofrecer LLVM 21.1.2 como versión principal. Las versiones anteriores de clang/LLVM 20 siguen disponibles en los repositorios para facilitar transiciones, pero se han eliminado paquetes antiguos de LLVM/Clang que ya no tienen uso en la propia distribución. Si mantienes software que depende de versiones viejas, la recomendación es portar el código a LLVM 21 o apoyarte en builds externos.
En el escritorio, aunque Alpine no fuerza ningún entorno gráfico por defecto, esta versión se actualiza a los últimos lanzamientos: incluye GNOME 49, KDE Plasma 6.5.x y LXQt 2.3, además del compositor Wayland Sway 1.11, que actúa como reemplazo para i3 en X11. Esto abre la puerta a estaciones de trabajo modernas basadas en Alpine.
Alpine Linux 3.23 estrena nueva generación del gestor de paquetes: apk-tools v3
Después de varios años de trabajo intenso en la rama principal del proyecto, Alpine integra en esta versión apk-tools v3, la tercera generación de su gestor de paquetes apk. El cambio está pensado para ser transparente para la mayoría de usuarios: actualizar desde apk v2 debería ser seguro y sin sobresaltos, siempre que uses las herramientas habituales desde la línea de comandos.
La situación cambia si desarrollas herramientas que enlazan directamente contra libapk. En ese caso, Alpine avisa de que pueden existir incompatibilidades, por lo que conviene revisar el código, las cabeceras y la documentación asociada al nuevo libapk. Aunque el núcleo del gestor de paquetes se actualiza a la versión 3, la distribución ha decidido por ahora mantener el formato de índice y de paquetes de apk v2, retrasando la adopción completa del nuevo formato hasta una versión posterior.
La versión 3 de apk aporta soporte para un nuevo formato de índice más flexible y seguro, preparado para algoritmos de hash modernos y firmas criptográficas más robustas. Además, el nuevo formato de paquetes incorpora compresión Zstd, lo que mejora tanto la velocidad de instalación y actualización como el tamaño ocupado en disco. También se han introducido nuevos comandos, mejoras en el manejo de la configuración y un esquema más limpio para la definición de repositorios, que facilita la vida a quienes mantienen mirrors o infraestructuras internas.
El equipo de Alpine recomienda encarecidamente que, a la hora de pasar de una versión mayor a otra (por ejemplo, de 3.22 a 3.23), se utilice el comando apk upgrade –available. Esta orden fuerza a apk a usar las versiones más recientes de los paquetes compatibles con la nueva rama, evitando mezclas raras entre ramas distintas que puedan dejar el sistema a medias.
Transición hacia /usr-merge en el sistema de archivos
Desde hace tiempo, Alpine venía preparando un cambio importante en la forma de organizar su sistema de archivos: la adopción del modelo /usr-merged. En este diseño, rutas tradicionales como /bin, /sbin y /lib dejan de ser directorios independientes y pasan a convertirse en simples enlaces simbólicos que apuntan a sus equivalentes dentro de /usr. Es un movimiento que acerca Alpine al estándar seguido por muchas otras distribuciones modernas.
El objetivo de este rediseño es la unificación de ejecutables y bibliotecas en un único árbol bajo /usr. De este modo, se reducen rutas duplicadas, se simplifica el empaquetado de software, se hace más predecible el entorno de ejecución y se alinea mejor el sistema con la forma en que funcionan contenedores y rootfs modernos. Para Alpine, fuertemente orientado a imágenes pequeñas y contenedores, esta coherencia aporta ventajas claras.
En un primer momento se planeó que Alpine 3.23 introdujera de forma generalizada el sistema totalmente /usr-merged en instalaciones nuevas, pero debido a dificultades técnicas el cambio global se ha pospuesto. La propia distribución ha comentado que se publicará un nuevo calendario oficial en el que se detalle cuándo se impondrá este modelo de forma obligatoria, muy probablemente alrededor de ramas futuras como 3.26 o 3.27.
Aun así, Alpine 3.23 ya permite optar por este diseño: las instalaciones nuevas pueden ser /usr-merged si el usuario lo decide. Para ello, durante el proceso de instalación es posible establecer la variable de entorno BOOTSTRAP_USR_MERGED=1 antes de ejecutar setup-disk. De esta forma, el sistema resultante ya nace con la estructura fusionada.
Si ya tienes una instalación existente y quieres migrar, la distribución ofrece un método manual a través del paquete merge-usr. Una vez instalado, basta con ejecutar su binario como usuario root para que realice la reestructuración del sistema de archivos. El anuncio oficial y la wiki de Alpine describen con más detalle los pasos y las precauciones que hay que tomar, especialmente en servidores en producción.
Hay un caso especial que Alpine recalca: los usuarios que mantienen las particiones / y /usr en sistemas de ficheros separados. Esta configuración no está soportada oficialmente y, en el contexto de /usr-merge, requiere un cuidado extremo para evitar que el sistema deje de arrancar. La documentación oficial indica qué medidas tomar en estos escenarios, y se insiste en que este tipo de particionado no es recomendable de cara al futuro.
De cara a próximos lanzamientos, los desarrolladores han dejado claro que el modelo /usr-merged acabará siendo la única opción. Cuando eso ocurra, quienes sigan en esquemas antiguos o no hayan migrado sus instalaciones podrían encontrarse con bloqueos en la actualización o incluso con sistemas rotos al intentar saltar desde ramas muy antiguas (por ejemplo, 3.22) una vez que queden fuera de soporte.
linux-stable sustituye a linux-edge
Otro cambio estructural en Alpine 3.23 es la sustitución del paquete linux-edge por linux-stable. Durante años, las variantes linux-lts y linux-edge habían ido separándose en cuanto a configuración del kernel y arquitecturas soportadas, lo que añadía complejidad al mantenimiento. Con este cambio, linux-stable adopta la misma configuración que linux-lts, pero sigue la rama estable del kernel en lugar de las versiones de soporte extendido.
Para los sistemas que ya tuvieran instalado linux-edge, el gestor de paquetes apk se encarga automáticamente de instalar linux-stable como sustituto. No obstante, la distribución avisa de que existen diferencias de configuración respecto al viejo edge y que, si necesitabas alguna opción concreta del kernel que ya no esté presente, deberías abrir un informe de incidencia para solicitar su inclusión en la configuración de linux-lts.
Este reemplazo también puede implicar ajustes manuales en el gestor de arranque, ya que el nombre del kernel ha cambiado y ahora sigue la misma receta de empaquetado que linux-lts. En sistemas con configuración de boot personalizada (por ejemplo, con GRUB tuneado a mano, syslinux en entornos embebidos o configuraciones muy específicas de UEFI), conviene revisar las entradas para asegurarse de que apunten al nuevo kernel.
Alpine Linux 3.23 introduce cambios en firmware, reglas y servicios empaquetados
Alpine Linux 3.23 incorpora una reorganización relevante en el ámbito de firmware y reglas de sistema. En primer lugar, el firmware iwlwifi para tarjetas inalámbricas de Intel se ha movido de linux-firmware-other a linux-firmware-intel. Esto afecta sobre todo a quienes habían elegido la combinación minimalista de linux-firmware-none junto con linux-firmware-other para reducir al máximo el tamaño de la instalación.
Si estás en ese caso y dependes de Wi-Fi Intel, ahora tendrás que instalar explícitamente el paquete linux-firmware-intel con apk para obtener los archivos iwlwifi*.ucode.zstd. De lo contrario, te puedes encontrar con que la interfaz inalámbrica deje de funcionar tras la actualización, algo especialmente molesto en máquinas remotas o portátiles.
En el apartado de cortafuegos, Alpine introduce un esquema nuevo para las reglas de nftables: los conjuntos de reglas se empaquetan en subpaquetes $pkgname-nftrules, que instalan sus ficheros en /usr/share/nftables.avail/. Para habilitarlos en el sistema, basta con crear enlaces simbólicos desde esos archivos hacia /etc/nftables.d/, lo que permite seleccionar solo las reglas que te interesen. Para quien quiera tirar por la vía rápida, existe un metapaquete llamado nftables-rulesets que instala todos los subpaquetes de reglas disponibles.
También se ha realizado una limpieza y reorganización de reglas de udev. La mayoría de ellas se han movido desde los paquetes principales a subpaquetes específicos con el sufijo -udev. En sistemas que ya tengan udev instalado, estos subpaquetes se añaden de manera automática, así que en teoría no hay que hacer nada. La finalidad de este cambio es simplificar instalaciones minimalistas que prescinden de udev, habituales en contenedores o entornos ultra ligeros.
Algo parecido ocurre con los servicios para systemd. Aunque Alpine sigue usando OpenRC como sistema init por defecto y no incluye systemd como paquete estándar, muchos paquetes pasan ahora a proporcionar subpaquetes $pkgname-systemd que contienen las unidades y servicios necesarios para integrarse con systemd. Esto está pensado sobre todo para facilitar el trabajo en proyectos como postmarketOS u otros entornos donde Alpine se usa de base con systemd encima. La distribución deja claro que no hay intención de sustituir OpenRC por systemd como init predeterminado.
Actualizaciones destacadas de paquetes y ecosistema de Alpine Linux 3.23
Alpine Linux 3.23 viene, como de costumbre, con un buen aluvión de actualizaciones de paquetes clave en el ecosistema de servidores, desarrollo y escritorio. Entre los componentes más relevantes se encuentran el lenguaje y runtime Rust 1.91.x, la base de datos PostgreSQL 18, el intérprete Perl 5.42, el lenguaje Ruby 3.4.7, el entorno de ejecución .NET 10, el kit de desarrollo OpenJDK 25, el motor de bases de datos en memoria Valkey 9.0 o el framework Qt 6.10.
En el ámbito web y de servicios de red, Alpine 3.23 incluye PHP 8.5.0, Docker 29, OpenSMTPD 7.8.0, ISC BIND 9.20.16, ISC Kea 3.0.2 y Node.js 24.11.1 LTS. Esta combinación convierte a la distribución en una base muy actualizada para aplicaciones modernas, microservicios, APIs y servicios de correo o DNS. También se actualiza Go a la versión 1.25, lo que beneficia a multitud de proyectos cloud-native empaquetados en Alpine.
En multimedia, el paquete ffmpeg se actualiza desde la versión 6 a la 8. Muchos consumidores de ffmpeg ya se han recompilado contra la nueva API, aunque Alpine conserva todavía paquetes ffmpeg6 y ffmpeg7 para aquellos componentes cuya compatibilidad aún no ha sido ajustada. Lo que sí desaparece es ffmpeg4, que se elimina definitivamente, después de migrar todos sus consumidores al menos a ffmpeg 6.
El conjunto de herramientas para red curl se recompila ahora con soporte HTTP/3 gracias a la integración de nghttp3 y openssl-quic. Esto permite aprovechar nuevos protocolos de transporte en aplicaciones que se apoyan en curl para realizar conexiones, haciéndolo especialmente interesante para servicios web de alto rendimiento o herramientas de diagnóstico modernas.
El servidor web nginx se compila con la opción –with-compat, que habilita la compatibilidad con módulos dinámicos externos. Además, se introduce un nuevo subpaquete nginx-mod-dev que incluye las fuentes y las dependencias de compilación necesarias para construir módulos de nginx fuera del árbol de Alpine. Eso sí, la distribución recalca que no da soporte a combinaciones cruzadas: módulos compilados contra una versión distinta de nginx o en otra distribución no funcionarán correctamente sobre el paquete de Alpine, y al revés.
El ecosistema de escritorio también se beneficia de la actualización de componentes como BIRD 3.1.4, busybox 1.37.0, Garage 2.1.0, LXQt 2.30, Sway 1.11, wlroots 0.19 y zigbee2mqtt 2.6.3, entre otros muchos. La lista completa es extensa y el equipo anima a revisar las notas de cada proyecto si dependes de ellos de forma directa.
Cambios importantes en redes y paquetes eliminados
En el terreno de la configuración de red declarativa, Alpine 3.23 incorpora ifstate 2, una nueva rama mayor que no es compatible con los antiguos ficheros de configuración de la serie 1.x. Esto significa que no se pueden reutilizar los antiguos archivos de ifstate 1.x tal cual. Es imprescindible adaptar el archivo de configuración al nuevo esquema y al nuevo nombre esperado, de lo contrario el sistema puede quedarse sin red en el siguiente arranque.
La documentación oficial de ifstate describe con detalle cómo migrar la configuración al nuevo formato 2.x, y es muy recomendable hacer la transición con calma, especialmente en servidores a distancia o sistemas que dependan de configuraciones complejas de red. Un despiste aquí puede dejar el host inaccesible hasta que tengas acceso físico o un canal alternativo.
En cuanto a paquetes eliminados, Alpine 3.23 continúa su proceso de limpieza de bibliotecas Qt5 que ya no están en uso por ningún paquete oficial. Siguiendo la línea de lanzamientos anteriores, se han retirado más componentes de la pila Qt5, reduciendo el mantenimiento de código legacy y animando a usar versiones más recientes del stack Qt.
Además, se elimina el paquete ffmpeg4, como ya se ha mencionado, y algunos otros componentes abandonados: el paquete rssh desaparece debido a la falta de mantenimiento upstream, lo mismo que ocurre con ircservices, cuyo desarrollo lleva años parado. También se retira postgresql-age, porque el proyecto Apache AGE va muy por detrás en soporte de las versiones modernas de PostgreSQL y parece carecer del músculo necesario para ponerse al día.
Para quienes necesiten una solución de base de datos de grafos sobre PostgreSQL, Alpine sugiere el uso de agensgraph. Eso sí, a diferencia de AGE, agensgraph no es una extensión enchufable sobre PostgreSQL estándar, sino un fork completo del motor de base de datos, con las implicaciones que eso tiene en mantenimiento y compatibilidad.
Arquitecturas soportadas, descarga y proceso de actualización
Alpine Linux 3.23 se puede descargar desde la página oficial en distintas variantes de imagen, adaptadas a usos muy diferentes: Standard, Extended, Netboot, Raspberry Pi, Generic ARM y Mini Root Filesystem. De esta forma es posible cubrir desde instalaciones completas en servidor hasta entornos embebidos con almacenamiento mínimo o imágenes pensadas para la red.
En cuanto a arquitecturas, Alpine mantiene su amplio abanico de soporte: están disponibles imágenes para x86_64 (64 bits), x86 (32 bits), AArch64 (ARM64), ARMv7, ppc64le (PowerPC 64-bit Little Endian), s390x (IBM System z) y LoongArch64. Esta variedad lo hace especialmente atractivo para infraestructuras heterogéneas, laboratorios, dispositivos ARM y entornos mainframe.
Los usuarios que ya tengan Alpine instalado pueden pasar a la versión 3.23 usando el gestor de paquetes por defecto. El procedimiento recomendado consiste en seguir la guía oficial Upgrading Alpine to a new major release y, una vez adaptados los repositorios a la nueva rama, ejecutar el comando apk upgrade –available en una consola o terminal. Esto se encarga de traer todas las versiones compatibles de la rama 3.23, reduciendo el riesgo de dejar paquetes “medio actualizados”.
Si durante la actualización aparecen problemas, el equipo de Alpine anima a abrir incidencias en los repositorios oficiales, aportando logs y detalles de la configuración, para poder corregir errores, mejorar las herramientas o documentar mejor casos especiales. La wiki y la página de anuncio oficial de la versión 3.23 recogen la lista completa de cambios, enlaces al registro git y al sistema de bugs, así como notas específicas para migraciones delicadas.
Alpine sigue manteniendo su identidad como distribución ligera, muy segura y altamente configurable, basada en musl y BusyBox, que no impone un entorno gráfico predeterminado y que usa OpenRC como sistema init por defecto. Con esta versión 3.23, el proyecto da un paso fuerte en modernización de kernel, toolchain y servicios, se prepara para un futuro /usr-merged, limpia paquetes obsoletos y refuerza sus capacidades en contenedores, servidores y escritorios minimalistas, de modo que quien elija Alpine tiene delante una base muy actual y afinada para casi cualquier tipo de despliegue.
