# CRUX

CRUX es una distribución GNU/Linux liviana, simple y optimizada para la arquitectura X86-64 orientada a usuarios experimentados de Linux. La principal filosofía del proyecto es mantenerlo sencillo (como en el Principio KISS), lo que se ve reflejado en el sistema de paquetes basado en archivos .tar.gz, códigos de inicio en el estilo BSD y una relativamente pequeña y elegante colección de paquetes. El foco secundario de desarrollo es utilizar nuevas tecnologías y proyectos relativos al kernel Linux como al software GNU y otros. CRUX cuenta también con un sistema de Ports que permite la fácil compilación de nuevos paquetes para personalizar el sistema, instalando y actualizando aplicaciones.
CRUX sirvió como inspiración para la creación de la distribución de Arch Linux.

## Sistema de ports

Un port es, según la definición que ofrece el manual de CRUX, un directorio que contiene los ficheros necesarios para compilar un nuevo paquete usando pkgmk, lo que significa que contiene por lo menos el archivo Pkgfile (que es el archivo con las reglas de compilación) y el fichero.footprint (que contiene una serie de pruebas regresivas y una lista con los archivos que se espera contendrá el paquete una vez compilado). Además, un port puede contener parches u otros ficheros necesarios para la compilación. Es importante notar que el código fuente no necesariamente se encuentra en el port, sino que el archivo Pkgfile contiene una URL apuntando a ellas, localización desde donde se pueden obtener las fuentes para luego compilarlas.
La palabra fue simplemente elegida a partir del uso que se le da en FreeBSD, en la que port se entiende como una aplicación que ha sido adecuada y hasta modificada (es decir, portada) para funcionar en un sistema o arquitectura específicos, cuando la aplicación no necesariamente necesite algún proceso previo para la compilación en CRUX o Linux en general.

## prt-get

prt-get es un sistema de manejo de paquetes para CRUX que agrega funcionalidades y características al sistema de manejo predeterminado. Trabaja con el árbol de ports locales, por lo que es completamente compatible con pkgmk/pkgadd. Ofrece por ejemplo:
* Instalación/actualización de un paquete abstracto desde el sistema de ficheros.
* Instalación/actualización de una lista de paquetes con un solo comando.
* Listar dependencias para un listado de paquetes.
* Mostrar información acerca de los ports.
* Buscar entre los ports.
* Registro avanzado de las actividades de compilación de ports.
prt-get es una herramienta que ofrece una abstracción sobre el sistema de ficheros pues no es necesario conocer la localización exacta de un port para compilarlo, actualizarlo o agregarlo al sistema, ya que es prt-get el encargado de buscar el port (o la lista) especificado en los directorios previamente configurados en el archivo de configuración /etc/prt-get.conf.
También este programa ofrece características de búsqueda e información de ports no instalados, listado de dependencias en archivos Pkgfile además de una completa lista de dependencias para un port. Es de notar que las dependencias no son una necesidad de los paquetes CRUX y, por ende, no siempre son precisas.

## Versiones

Con el reciente abandono de devfs, el equipo de desarrolladores de CRUX ha tenido que empezar la migración a udev. La última versión estable usa udev y el kernel 4.19.48. Se ha tenido que responder una y otra vez a la pregunta ¿por qué devfs en vez de udev? El desarrollador Per Lidén, creador del proyecto, responde que devfs simplemente era el predeterminado de CRUX y no se obligaba al usuario a dejar de lado udev. Devfs fue elegido cuando empezó el proyecto en el 2001 simplemente porque le agradaba.

### Otras arquitecturas
#### CRUX PPC

Creado por Giulivo Navigante y mantenido por el grupo CRUX PPC, CRUX para PowerPC es un sistema operativo GNU con el kernel Linux que funciona en computadores New World PowerPC. El conjunto de software funciona a la máxima velocidad en las CPUs PowerPC 750 y PowerPC 74xx. Soporta Pegasos II, EFIKA 5K2, Sam440ep y la mayoría de los computadores basados en tecnología Apple (incluyendo computadores con doble procesador) y cuenta con características especiales para laptops, como escalado de la frecuencia de la CPU. Soporte para CHRP y POWER IBM 64-bit y la Apple Mac 64bit.

#### CRUX SPARC

Mantenida por Johannes Winkelmann.

## Lanzamientos

Historia de Lanzamientos x86 :
| Versión | Fecha |
| 0.9.2 | 20 de enero de 2002 |
| 0.9.3 | 13 de abril de 2002 |
| 0.9.4 | 17 de septiembre de 2002 |
| 1.0 | 2002 diciembre |
| 1.1 | 2003 marzo |
| 1.2 | 2003 agosto |
| 1.3 | 2003 diciembre |
| 1.3.1 | 2004 enero |
| 2.0 | 2004 marzo |
| 2.1 | 2005 abril |
| 2.2 | 2006 abril |
| 2.3 | 2007 marzo |
| 2.4 | 2007 diciembre |
| 2.5 | 2008 diciembre |
| 2.6 | 2009 septiembre |
| 2.7 | 2010 octubre |
| 2.7.1 | 2011 noviembre |
| 2.8 | 2012 octubre |
| 3.0 | 2013 enero |
| 3.1 | 2014 julio |
| 3.2 | 2015 noviembre |
| 3.3 | 2017 febrero |
| 3.4 | 2018 mayo |
| 3.5 | 2019 junio |
| 3.6 | 2020 diciembre |
| 3.6.1 | 2020 diciembre |
| 3.7 | 2022 septiembre |