A distro based on the xbps packaging system

The Void Linux distribution

Void is a general purpose linux distribution, meant to be used by advanced users. 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.

The spirit of Void is such that we keep things default, necessary, and minimal as possible (while trying not to leave features out).

Currently there are over 3000 optimized packages for the x86, x86_64, ARMv6 hard float (Raspberry Pi), and 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.



August 06, 2014

KDE SC 4.13.3 now available

The KDE SC packages have been updated to the latest stable version available: 4.13.3.

The packages have been adapted to be used with runit and ConsoleKit, and support suspend/hibernation, and fast user switching.

To install it and enable KDM:

# xbps-install -Sv kde
# ln -s /etc/sv/dbus /var/service/
# ln -s /etc/sv/kdm /var/service/

A screenshot of my KDE desktop:

KDE SC 4.13.3 xtraeme desktop

August 06, 2014

LibreSSL enabled by default

The LibreSSL implementation is now used by default. This fork of OpenSSL is maintained and pro-actively developed by the OpenBSD team.

We believe that at long-term it will benefit the whole FOSS community, and this will help to not repeat the infamous heartbleed.

If you still have the openssl package installed, it should be replaced by the libressl-openssl package to make a full switch to LibreSSL:

# xbps-install -Sv libressl-openssl


July 29, 2014

runit enabled by default

The runit init system is now enabled by default, replacing systemd in the base system.

runit is small, portable and perfect for our needs. systemd is still being supported optionally and can be installed via the base-system-systemd package.

After upgrading you'll have to customize system settings in the /etc/rc.conf configuration file; see this wiki page for more information.

All images have been switched to runit. If you are using a Desktop Environment such as GNOME, you might want to put some packages on hold and rebuild packages that need systemd with the systemd package build option enabled:

## This makes base-system-systemd the preferred base-system pkg.

# xbps-install -S
# xbps-install -y base-system-systemd

## Put packages with the `systemd` build option on hold.

# xbps-pkgdb -m hold <pkg> ...
## This enables the systemd build option globally for all supported pkgs.

$ cd xbps-packages
$ echo 'XBPS_PKG_OPTIONS=systemd' >> etc/conf
$ ./xbps-src show-sys-updates


June 06, 2014

XBPS 0.37 is out

A new XBPS stable version has been released: 0.37. This is a major release that supports per-root overridable repo and virtualpkg configuration files (among other things).

Release notes:

  • Enabled syslog logging by default, may be still disabled via xbps.conf.

  • Added support for system and configuration virtualpkg directories.

    The system virtualpkg directory set to <rootdir>/usr/share/xbps/virtualpkg.d contains virtualpkg configuration files (.conf/.vpkg) that can be overrided by the admin in <rootdir>/etc/xbps/virtualpkg.d bearing the same file name.

    This obsoletes the "virtualpkgdir" keyword support from the xbps configuration file.

  • Added support for system and configuration repository directories, as explained in GH #39.

    The system repository directory set to <rootdir>/usr/share/xbps/repo.d contains repository configuration files (.conf) that can be overrided by the admin in <rootdir>/etc/xbps/repo.d bearing the same file name.

  • xbps-create(8): new option -t, --tags to specify a list of tags (categories) the package should be part of. This is just for metadata purposes and querying packages by tags in the future.

  • xbps-install(8): it's possible now to update a single package (if it's already installed) without using the -u, --update option. This implements GH #35.

    $ xbps-install [-f] -y foo

    • if foo is installed, update it.
    • if foo not installed, install it.
    • if -f is set, reinstall or downgrade it.
  • xbps-query(8): new option (-S, --show) which shows info of a package installed locally or in a repository with -R. This is the default mode if no other mode is set; to preserve compatibility with previous versions.

  • xbps-query(8): new long option "--regex" that can be used in the "ownedby (-o, --ownedby)" and "search (-s, --search)" modes to match Extended Regular Expressions against package properties.

    This allows you to find packages by matching EREs in package properties, for example to find out what packages were built between 2014-05-23 and 2014-05-25:

    $ xbps-query --regex -s 2014-05-2[35] -p build-date

  • Imported portable proplib 0.6.4 from portableproplib.

  • Fixed a new issue with virtual packages, if a pkg provides a virtual package that is already installed but with lesser version, do not update to it unnecessarily (in some cases results in a crash).

  • A new object is now recorded in the pkgdb to see the origin repository of which a package was installed from, i.e:

    $ xbps-query --property=repository-origin pkg

  • xbps-remove(8): the -n,--dry-run option does not acquire the pkgdb file lock anymore, so that any user can use this mode even without write permission to the target pkgdb.

  • xbps-remove(8): -O, --clean-cache is now multithreaded. Gives a performance boost as the number of threads increases.

  • xbps.conf: the keyword "include" now supports file globbing, so that multiple small configuration files can be included directly, i.e:


Contributed by Enno Boland.

  • xbps-query(8): fixed a segfault with '-Rf' if pkg is in the repository data and its binary package does not exist.

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

May 05, 2014

New package repositories

Starting from now on three new repositories to store binary packages have been created by default:

  • multilib: this repository contains 32bit packages, only meaningful for 64bit platforms.

  • multilib/nonfree: this repository contains non free 32bit packages, only meaningful for 64bit platforms.

  • debug: this repository contains debug packages with debugging symbols.

The URL for those repositories:

  • http://repo.voidlinux.eu/current/multilib
  • http://repo.voidlinux.eu/current/multilib/nonfree
  • http://repo.voidlinux.eu/current/debug

Also available on any of the mirrors listed in the xbps.conf configuration file.

Do not forget to update /etc/xbps/xbps.conf with the new URLs if you use them.

Read the previous news

Download installable live images

Currently there are installable live images for the x86 and x86_64 architectures and there is support to make a local installation (with the included packages) or a network installation (packages are downloaded from official repository).

After booting, the user anon will be autologged in. This user has full access to execute any command through the sudo utility. To start the installer just execute the void-installer utility with enough permissions (i.e sudo).

Download ready to boot images for ARM

The current list of supported ARM platforms is:

You can install Void by using a prepared image or a rootfs tarball that can be written / unpacked onto the SD card. This method allows you to have a system ready to boot / use, once it's written / unpacked onto the target device.

Log in as root, password voidlinux.

Source repositories

Find a source package

Search for source packages, matching a keyword by looking at the xbps-packages github repository. You can verify if the repository includes a specific package.

Latest package commits

See latest package builds.

Buy some goodies!

Do you want to support Void Linux? Get the goodies and become prettier.

tshirts mug

bshirt1 bshirt2 bshirt3