Frequently Asked Questions

The basics

Is Void an Arch Linux fork?


Is there a 'Stable' version of Void?

There are linux distros that release to a periodic cycle, Void does not, instead provides a continual steam of updates, which makes it a rolling release. On the other hand there are bleeding edge distros, that gives the latest software as soon as possible after its release. This is not what Void does and although some software is updated frequently, it is by no means as soon as possible or come what may.

As a rolling release distribution, there are no "stable" freezes. You may choose what to update and when, and you may put packages on hold (refuse upgrades for specific packages, see XBPS), but bear in mind that upgrading some packages will occasionally require their dependencies be upgraded as well.

Void Linux name origin

Void comes from the C literal "void". It started as a testbed for xbps, so the name was choosen rather randomly and has no deeper meaning. See

Installation and configuration

How should I partition my disk?

Note that Void (on x86/x86_64) keeps old kernels around, this takes about 20 MB per kernel version, so plan /boot accordingly. 20-30 GB for / is probably a good fit for an expansive desktop installation.

The installer sucks, how can I do $SPECIALTHING on installation?

You can install Void manually if you wish, there are many guides on the Void wiki for alternate installation scenarios. see for example Install LVM LUKS, or the Macbook page.

How can I change my users default shell?

Use chsh -l to list available shells and change it with chsh for the current user or chsh root for root or another specific user.

How do I remove old kernels?

Void Linux provides the vkpurge tool for the sole purpose of listing and removing old kernels. To list the old kernels in your system:

$ vkpurge list

To remove a specific version:

# vkpurge rm 3.8.2_1

To remove all kernels except the latest one:

# vkpurge rm all

How can I load kernel modules at boot?

To load kernel modules at boot time, a .conf file must be created in /etc/modules-load.d:

# load virtio-net

Multiple modules can be specified separated by newlines:

# load virtio-net virtio-pci

How do I blacklist kernel modules?

There are two ways of accomplishing this. The first one involves creating a .conf file in /etc/modprobe.d:

# blacklist radeon
blacklist radeon

If the module being blacklisted is also available in the initramfs, don't forget to omit the module from dracut creating a file in /etc/dracut.conf.d, then rebuild the initramfs:

# blacklist radeon
omit_drivers+=" radeon "
$ dracut --force

The second method involves using the modprobe.blacklist variable in the kernel command line, like this:

... modprobe.blacklist="radeon snd-hda-intel" ...

How to get rid of "ataN: softreset failed (device not ready)" ?

Add libata.force=norst to your kernel parameters or compile your kernel with CONFIG_SATA_PMP=n.

How do I set up/start/stop services?

To list current running services:

# sv status /var/service/*

To enable a service to be started at boot time and start it in less than 5 seconds:

# ln -s /etc/sv/<foo> /var/service

To start a service (must be symlinked first):

# sv start <foo>

To stop a service:

# sv stop <foo>

To setup a service but not run it at boot time, create a file named down in the service directory:

# touch /var/service/<foo>/down

The service can still be started manually.

See also: runit


Which package contains XYZ?

$ xbps-query -Ro '*XYZ*'

If you need this more often, xlocate from the xtools package provides a caching database:

$ sudo xbps-install -Su xtools
$ xlocate -S
$ xlocate XYZ

Use man xtools after installation for more info about the commands provided by xtools.

How do I get a list of installed packages?

An example command line to get a list of all installed package names without their version is:

xbps-query -l | awk '{ print $2 }' | xargs -n1 xbps-uhelper getpkgname | fmt

This list can be used to e.g. install your package selection on another machine.

See also: xbps-query

I want to downgrade a package!

You can try using the xdowngrade script from the xtools package, like

xdowngrade /var/cache/xbps/youtube-dl-2015.07.07_1.noarch.xbps

In case you don't have xtools installed, and are unable to install for whatever reason, you may manually downgrade this way (source)

mkdir /tmp/tmprepo
cd /tmp/tmprepo
cp /var/cache/xbps/youtube-dl-2015.07.07_1.noarch.xbps .
xbps-rindex -a youtube-dl-2015.07.07_1.noarch.xbps
xbps-install --repository=$PWD -f youtube-dl-2015.07.07_1.noarch.xbps

I installed $PKGNAME and it's not in my $PATH!

Packages like openjdk-jre provide a file located at /etc/profile.d/ that sets up the right environment variables. It's necessary to re login or source your profile again after installing a package that needs environment variables set.

A 'Transaction aborted due to unresolved shlibs' error is preventing me from updating!

This is most often caused because a large build is occurring, and it will take some time for the packages to become available in the repo. You will have to wait for the packages to finish being built before they can be updated.

You can view the build's progress at the Build Server Status Site and some particularly long builds may be announced on Twitter


Valgrind needs glibc-dbg, which cannot be found. Help?

Install void-repo-debug and retry. See also Subrepositories.

How do I check template files for common errors?

Use xlint from the xtools package.


... doesn't $MANWIDTH change the man pages' width?

That's because Void Linux uses Mandoc (formerly known as mdocml) by default instead of man-db. Users who wish to use man-db can install the man-db package through XBPS.

To change the default width of man pages, open the file /etc/man.conf in your editor of choice and append this line to the end of the file:

output width 200

You can substitute 200 with the maximum number of columns a line should be long. 200 is a good value for 1080p displays; the default is 78. Save the file and test the changes with man man.

If you want to preview your changes without changing man.conf, just execute the following command: man man | fmt -w 200. Change 200 to your preferred value.

... is tar/Engrampa/XYZ unable to unpack *tar.xz archives?

If you keep getting

tar: Child returned status 2
tar: Error is not recoverable: exiting now

while trying to unpack a *tar.xz archive with tar or your favourite unpacker fails to open these archives, that's because you need to install xz, the package with the xz compression utilities. A simple

# xbps-install xz

will sort this out for you.

... isn't my gamepad detected by some apps (e.g. supertux2)?

Make sure you are in the input group by executing the command getent group. If you're not in the group, execute the command usermod -a -G input user replacing user with your username. This isn't necessary on systems using elogind.

... isn't a newly packaged kernel immediately offered by XBPS for installation?

Void Linux developers wait usually a bit until it is set as the new default for the linux meta package, and this usually depends on dkms modules and stability. It's up to the package maintainer to decide when the update becomes the new default, but you are free to install it by explicitely telling XBPS about the package. You are doing that at your own risk, though.


... do I install a newer kernel manually?

As stated previously, newer kernels aren't offered until all DKMS modules build correctly with it. Nonetheless, installing a newer kernel is fairly easy. Simply specify the version after "linux", like so:

# xbps-install -S linux5.0

You may also need to install linux5.0-headers, if you have any DKMS modules that you need to build. If you install linux5.0-headers after installing linux5.0 and need to build the DKMS modules manually, run the command:

# xbps-reconfigure -f linux5.0

... do I add an user account?

Besides root, an user account with access to sudo (and thus able to gain root privileges) is created as part of the installation process when you use the installer. However, if you installed Void Linux manually or you fiddled with the default groups assigned to this account in the installer (which includes wheel) you might need to create another account. In fact, some Void software might run into problems if only the root account exists.

To create another user account using the console you do this as root:

# useradd -m john
# passwd john
...   here you enter the password for the new "john" account

See the man pages for useradd, usermod and passwd for more info.

Some DEs like Cinnamon or MATE come with a suitable GUI based application for this task so you don't have to use the console if you don't like to.

See also: Post installation

... do I set up my locale?

If your DE of choice doesn't come with an editor for this job, you can always use the console. To see a listing of available locales:

$ locale -a

To set up a locale for your system:

# echo "LANG=es_ES.UTF-8" > /etc/locale.conf

If your locale is not available in the locale -a output, edit /etc/default/libc-locales and uncomment the one you need. After that, rebuild the GNU libc locales:

# xbps-reconfigure -f glibc-locales

... do I set the timezone?

Again some DEs come with an editor for this job, but in case you need/want to use the console, you can set your timezone like this:

# echo 'TIMEZONE="Europe/Madrid"' >> /etc/rc.conf

To set up RTC to be in local time rather than UTC:

# echo 'HARDWARECLOCK=localtime' >> /etc/rc.conf

See hwclock(8) for more information.

... do I suspend/hibernate/shutdown/reboot the system using the console?

Use zzz to suspend your system to RAM, or ZZZ to suspend to disk (hibernation). To shut down (power off) the system use shutdown -h now. To reboot, use shutdown -r now or just reboot. All these commands require root privileges.

See also halt(8), shutdown(8), zzz(8)

... do I make my NTFS partitions writable?

By default, NTFS partitions are mounted as read-only in Void Linux. This may lead to problems if you have e.g. a VirtualBox disk image stored in such a partition; VirtualBox will complain that the image is read only and will refuse to open it.

The simplest way to solve this matter is to install the ntfs-3g package, like thus:

# xbps-install ntfs-3g

After the next reboot, your NTFS partitions will be both readable and writable, and you also gain extra utilities that enable you to e.g. relabel NTFS partitions. See ntfs-3g(8) for more info about ntfs-3g.

Other help resources

Is there a Void Linux mailing list?

Yes, see Mailing List.

This article is issued from Voidlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.