Alpine Linux
# Alpine Linux

Alpine Linux es una distribución Linux basada en musl y BusyBox, que tiene como objetivo ser ligera y segura por defecto sin dejar de ser útil para tareas de propósito general. Alpine Linux, desde la versión 3.8 deja de usar los parches PaX y grsecurity en el núcleo por defecto. Está diseñado principalmente para routers x86, cortafuegos, VPNs, VoIP y servidores.

A pesar de estar diseñada para ejecutarse en memoria RAM también es recomendable y perfectamente funcional en ordenadores personales y servidores. En su página web oficial se encuentran diferentes manuales (howto) para realizar la instalación (live en RAM, sys en disco, etc). En un manual se explica la instalación remota sustituyendo una distribución ya existente (ejemplo: VPS que no dispone de AlpineLinux).

## Historia

Originalmente, Alpine Linux comenzó como una bifurcación del Proyecto LEAF. Mientras que los miembros de LEAF querían seguir haciendo una distribución Linux que ocupara un solo disquete, el equipo de Alpine Linux quería incluir algunos paquetes más pesados como Squid y Samba, así como características de seguridad adicionales y un nuevo núcleo.

Uno de los objetivos originales era crear un marco para sistemas más grandes, y aunque es útil para este propósito, esto ya no es un objetivo primordial.

## Características

* Gestión de paquetes: Alpine utiliza la de su propio sistema de gestión de paquetes (Alpine package manager, apk-tools), fue originalmente era una colección de shell scripts, pero más tarde fue reescribió en C.. Actualmente, Alpine contiene los paquetes más utilizados, tales como GNOME, Xfce, Firefox, y otros.
* Se ejecuta desde la RAM: Por defecto, Alpine Linux es una distribución de ejecución en RAM. La herramienta LBU (Local BackUp) opcionalmente permite realizar copias de seguridad de todos los archivos de configuración en un archivo de superposición APK (comúnmente abreviado como apkovl), un archivo tar.gz que por defecto almacena una copia de todos los archivos modificados en el directorio /etc (con la opción de añadir más directorios).
* Seguridad: PaX y grsec están incluidos en el núcleo por defecto de Alpine Linux, el cual ayuda a reducir el impacto de exploits similares a vmsplice. Todos los paquetes se compilan con la protección stack-smashing para ayudar a mitigar los desbordamientos de búfer en el entorno de usuario.
* Tamaño: El sistema base en Alpine Linux está diseñado para ocupar sólo 4-5 MB de tamaño (sin incluir el núcleo).
* Alpine Configuration Framework (ACF): Aunque opcional, ACF es una aplicación para configurar una máquina Alpine Linux, con objetivos similares a debconf en Debian.
* Biblioteca estándar de C: Anteriormente Alpine Linux usa uClibc en lugar de la tradicional glibc. A pesar de ser más ligero, tiene el inconveniente de ser incompatible con glibc. Por lo tanto, todo el software debe ser compilado con uClibc para que funcione correctamente. A partir del 9 de abril de 2014, Alpine Linux empieza a utilizar musl como su biblioteca estándar la cual es parcialmente compatible con glibc.
