Void Linux

Independent, rolling release, no systemd. A clean-room distro that does things its own way.

Development Advanced

Overview

Based onIndependent (built from scratch)
Package managerXBPS (X Binary Package System)
Package format.xbps
Release modelRolling release
Default DENone (base install) or XFCE (live ISO option)
Init systemrunit
Websitevoidlinux.org

Why Void Linux?

Package Management

Void uses XBPS, a fast and powerful package manager with a clean command-line interface.

# Sync repos and update everything
sudo xbps-install -Su

# Install packages
sudo xbps-install -S firefox git neovim

# Search for a package
xbps-query -Rs "text editor"

# Show package info
xbps-query -R firefox

# Remove a package
sudo xbps-remove firefox

# Remove a package and its orphaned dependencies
sudo xbps-remove -R firefox

# Remove orphaned packages
sudo xbps-remove -o

# List installed packages
xbps-query -l

# Find which package owns a file
xbps-query -o /usr/bin/git

# Show files installed by a package
xbps-query -f firefox

Building from Source (xbps-src)

# Clone the void-packages repo
git clone https://github.com/void-linux/void-packages.git
cd void-packages

# Bootstrap the build environment
./xbps-src binary-bootstrap

# Build a package
./xbps-src pkg package-name

# Install the built package
sudo xbps-install --repository hostdir/binpkgs package-name

# Create a custom package template in srcpkgs/
glibc vs musl: Void offers two variants. The glibc version has maximum software compatibility (choose this if unsure). The musl version uses a lightweight C library that produces smaller binaries but may have compatibility issues with some proprietary software (Steam, Discord, etc.).

runit Service Management

# runit services live in /etc/sv/ (available) and /var/service/ (enabled)

# Enable a service (create a symlink)
sudo ln -s /etc/sv/sshd /var/service/

# Disable a service (remove the symlink)
sudo rm /var/service/sshd

# Check service status
sudo sv status sshd

# Start / stop / restart a service
sudo sv start sshd
sudo sv stop sshd
sudo sv restart sshd

# List all enabled services
ls /var/service/

# List all available services
ls /etc/sv/

Tips