void logo

The Void (Linux) distribution

Void is a general purpose operating system, based on the monolithic Linux® kernel. Its package system allows you to quickly install, update and remove software; software is provided in binary packages or can be built directly from sources with the help of the XBPS source packages collection.

Currently there are over 5000 optimized binary packages for the x86, x86_64, ARMv6, ARMv7 architectures; also there's support to build (natively or cross compiling) from sources any package easily that is available in the XBPS source packages collection.

Not a fork!

Void Linux is an independent distribution, developed entirely by volunteers.

Unlike trillions of other existing distros, this is not a modification of an existing distribution, its package manager and build system have been written from scratch.

Rolling release

Install once, update daily. Your system will always be up-to-date.

Thanks to our continuous build system, new software is built into binary packages as soon as the changes are pushed to the github repositories.


We do use runit as native init system and service supervisor.

A simple and effective approach to initialize the system with reliable service supervision. See the usage page for a brief introduction.


We were the first distribution to switch to LibreSSL by default, replacing OpenSSL.

Due to the Heartbleed fiasco we believe that the OpenBSD project has qualified and pro-active developers to provide a more secure alternative.


xbps is the native system package manager, written from scratch with a 2-clause BSD license.

xbps allows you to quickly install/update/remove software in your system and features detection of incompatible shared libraries and dependencies while updating or removing packages (among others). See the usage page for a brief introduction.


xbps-src is the xbps package builder, written from scratch with a 2-clause BSD license.

This builds the software in containers through the use of Linux namespaces, providing isolation of processes and bind mounts (among others). No root required!

Additionally xbps-src can build natively or cross compile for the target machine, and supports multiple C libraries (glibc and musl currently).

July 03, 2015

/usr/sbin as symlink transition completed

The /usr/sbin as symlink conversion was successfully completed some weeks ago. That means that void now contains just a single directory to store all executables: /usr/bin. /bin, /sbin and /usr/sbin are symlinks to /usr/bin.

This has some advantages because all applications will find the executables on any PATH, without rebuilding any package to change its location.

If your system still contains a /usr/sbin directory, upgrade your system with xbps-install -Syuv and then make sure that /usr/sbin only contains symlinks.

After rebooting runit-void will move the existing /usr/sbin directory to /usr/sbin.old and will create the /usr/sbin symlink.

NOTE the images from 20150615 have /usr/sbin as a symlink already, so that you don’t have to do anything.

June 24, 2015

XBPS 0.46 is out

A new XBPS stable version has been released: 0.46. This is a minor release that contains multiple bugfixes.

  • xbps-*: all utilities are now using getopt_long() rather than getopt() to avoid the differences with glibc and musl when processing arguments. Thanks to Chris M. Brannon for #103

  • xbps_transaction_prepare(): do not release the transaction dictionary if it returns ENOSPC, we need it to have access to this data to print required/free space. Fixes #101

  • xbps-uchroot(1): now handles SIG{INT,TERM,QUIT} signals to clean up the temporary masterdir if -t is set.

  • /usr/sbin is now a symlink in void, don’t consider it as obsolete and never remove it even if it was detected as obsolete.

  • xbps-rindex(1): use -s, --sign to initialize the repository archive with the required metadata to allow signed packages. Added -S, --sign-pkg to sign a specific package archive. This allows to sign a specific package, rather than all packages available in that repository.

  • If the repository write lock is already taken, sleep for 1 second, rather than looping endlessly without any timing; this consumed too much CPU time gratuitously.

  • If verifying a pkg signature fails for some reason, i.e: pkg archive is incomplete, signature file is incomplete, whatever, just remove both files. Let’s assume next time the files are downloaded they will be valid.

Please report issues at https://github.com/voidlinux/xbps/issues.

Copyright 2008-2015 Juan RP and contributors

Linux® is a registered trademark of Linus Torvalds (info)