CRUX is one of Linux's most enduring minimalist distributions, first appearing in 2002 under the guidance of Per Lidén and later maintained by a small, dedicated community. Unlike most distributions that cater to ease of use, CRUX makes no apologies for its steep learning curve — it is designed from the ground up for users who know what they want and are willing to build it themselves.
Philosophy and Design
The central philosophy of CRUX is elegantly simple: keep the system clean, fast, and composed only of what you explicitly choose. CRUX ships as a minimal base installation — there is no graphical installer, no default desktop environment, and no pre-loaded suite of applications. Instead, users are presented with a command-line environment and a powerful ports collection system, from which they compile and install software themselves.
This approach borrows heavily from BSD traditions. The ports system works similarly to FreeBSD's ports tree: each package is defined by a simple shell script called a Pkgfile that describes how to fetch, build, and install the software. The package manager — pkgutils — is remarkably lightweight, handling only installation, removal, and update of packages without dependency resolution by default. Tools like prt-get and pkgman add optional dependency handling on top.
Installation Experience
Installing CRUX is a manual, text-based process. Users boot from the ISO, manually partition their disk, mount filesystems, and run the setup script. After the base install, the system boots to a prompt — no graphical environment is waiting for you. Setting up X11, a window manager, networking tools, and user utilities is entirely the user's responsibility. This process, while daunting for newcomers, is deeply educational and results in a system that contains exactly what you intended.
Package Management
CRUX's package management is one of its most distinctive features. The official ports collection, community ports, and personal repositories can all be mixed together. Ports are simple shell scripts, making it trivially easy to create, modify, and share packages. The lack of automatic dependency resolution is a philosophical choice — CRUX expects users to understand what their software needs and to manage dependencies consciously.
Binary packages can be created from ports via pkgmk and installed with pkgadd. This compile-from-source model means you can apply custom compile flags and optimizations, though it also means more time spent building software — especially for large applications like web browsers.
Performance and Resource Use
CRUX is exceptionally lean. A base installation with a minimal window manager and only essential applications can run comfortably on hardware with as little as 256 MB of RAM. The system has virtually no background services unless you explicitly add them, and boot times on modern hardware are extremely fast. For older machines or embedded systems, CRUX can be an excellent choice when properly configured.
Community and Documentation
The CRUX community is small but knowledgeable and welcoming to those who show genuine interest in learning. Official documentation is detailed and precise, covering everything from installation to port creation. The mailing lists and IRC channel remain active. However, compared to major distributions, the community size means troubleshooting support may require more self-reliance.
Who Should Use CRUX?
CRUX is not a distribution for the faint of heart or for those seeking convenience. It rewards users who want to understand every component of their Linux system, who enjoy the compile-from-source model, and who find satisfaction in building exactly what they need and nothing more. It stands as a testament to the original Unix philosophy of simplicity and clarity.