top | item 16670337

Void Linux: Into the Void

172 points| _emacsomancer_ | 8 years ago |michaelwashere.net

97 comments

order
[+] alxlaz|8 years ago|reply
I usually refrain from distro- (and editor-, and language-) related discussions but I think Void Linux deserves an exception here:

- Everything is remarkably simple, (mostly) well-documented and straightforward.

- Friendly, dedicated and very knowledgeable community

- Open development, very few hooks to jump through if you have something to contribute

- No systemd, so: rebooting your system isn't a lottery where, if you lose, you get to wait for 90 seconds for some service to stop, your system doesn't start doing strange new things after every update because something that's been working fine since the 1980s has recently been declared broken, no binary logs to get corrupted (and no need to tweak your system and sidestep this brilliant scheme). Of course, you can't do much DevOps on Void Linux, but I'm pretty sure that's about as relevant as the fact that you can't run macOS on low-power embedded systems.

- Completely community-ran and independent. Some things don't happen as quickly as in corporate-backed projects, but you're also not beta testing for their LTS or enterprise-grade releases, either. Also, no bureaucracy, no priority mismatch, no one to shove alpha-quality software down your throat.

It's basically like OpenBSD with more drivers but based on slightly worse and less cohesive technology :-).

[+] nisa|8 years ago|reply
> Of course, you can't do much DevOps on Void Linux..

Why not? runit is really great - it's an implementation of daemontools from djb - it's a powerful system - including socket activation, log handling, you can even run custom check scripts for your services. I'd even say it's more poweful than systemd and better for devops once you go beyond systemctl enable apache2

[+] sivers|8 years ago|reply
Thanks for beating me to saying all of that. It's been my experience, too.

Void Linux has made me say a good "wow" more than any other Linux.

I love that I can use many of my favorite bits of OpenBSD, even doas.

xbps takes just a minute to learn, and is surprisingly ("wow") fast and robust.

Who knows why it's not more popular, but it doesn't matter. It's awesome.

[+] mdekkers|8 years ago|reply
No systemd, so [...] you can't do much DevOps on Void Linux

How so? How is DevOps linked or dependent on systemd in your view? Personally, I find systemd gets in the way of devops.

[+] derefr|8 years ago|reply
> if you lose, you get to wait for 90 seconds for some service to stop

Now, now, that's really down to the way you write your RC scripts. Plenty of distros over the years have had timeout-based prereq-waits in their init.d scripts.

(Heck, I currently have a prereq-wait of some kind going on in the early-stage init of a macOS system, because it happens to contain a non-Apple-manufactured NVMe SSD formatted as APFS. Seems like TRIMing APFS volumes gets deferred to boot-time.)

[+] ams6110|8 years ago|reply
90 seconds? You're lucky. I have machines running systemd (RHEL 7) that simply will not reboot unless I use the --force option. They will just sit there with a blank screen forever otherwise.
[+] bitwize|8 years ago|reply
Not only no systemd; Void uses runit, which is systemd's service management principles done The Unix Way™.
[+] O_H_E|8 years ago|reply

    you can't do much DevOps on Void Linux
Why is that ???
[+] _emacsomancer_|8 years ago|reply
Another nice feature is first class support for ZFS.
[+] parenthephobia|8 years ago|reply
> something that's been working fine since the 1980s has recently been declared broken

Void Linux uses runit, which was released in 2004, so I guess they agree.

[+] BlackLotus89|8 years ago|reply
A while ago I started looking for alternative linux distributions and void linux is my new darling that came out of this search.

It has many binary packages, out of the box musl images, images for many of my arm boards (raspberry pi *, c2 and cubieboard for instance) and a nice packagemanager with source support and arch like syntax (it's splitted like the debian apt-get/apt-cache but worse... I still like it)

If someone knows where I can report bugs for the live system I would appreciate a link (or I have to do it over the forum/mailing list).

It uses runit as init system and I nearly forgot how nice a system without systemd could be.

I have a little project on the backburner where I started porting arch to musl, but since I found voidlinux I completly stopped.

It has an arch package to install void in a chroot and it has void packages for an arch like init system (mkinitcpio). The packages are updated regulary and even thought it's a larger distribution than alpine linux (it doesn't start with a barebone busbox base, but without wget and curl :D),but has a way larger precompiled package list than it (it even has some precompiled packages missing from other distributions like toybox the bsd licensed busybox like tool)

Anyway since it still offers 32bit x86 binaries I will maybe use it in time for my old hardware. Up until now void Linux has made me very happy and I wonder why I didn't see it 10 years ago when it's first release was born. If you haven't yet give it a try.

[+] xfer|8 years ago|reply
I also used to use void-linux for many of these reasons(after arch for a few years). But i have now moved to nixos. It offers me the benefits of replicating system setup(i don't backup my system folders anymore, just my homedir and the nixos configuration files), cleanly removing system-wide packages(no more stale config hanging around) and of course the benefits of using nix for isolated/reproducible builds.
[+] rurban|8 years ago|reply
I also love void. The reason I use it is for regression testing of musl. But boy the updater is so much faster than anything else.
[+] stevemk14ebr|8 years ago|reply
I liked the sound of this, so i tried to install it. I'm not sure if im just a complete idiot but i can't get it to install. Their liveCD image only lets me connect to WEP/WPA networks, so i can't connect to the WPA2-Enterprise network my school is on. They also don't let you connect to an unsecured endpoint so i cant connect to the alternative network provided.

I also couldn't get it to boot in UEFI, had to switch back to legacy bios. The partition manager is also a little confusing, i can't figure out which sizes to use or how to create them, i like debians ui here alot for this.

I stopped after seeing all that.

[+] bringtheaction|8 years ago|reply
I ran the musl libc version of Void Linux for a while on one of my laptops but ran into a lot of problems and buggy behavior.

If you are going to use Void Linux I would strongly recommend not picking the musl version unless you are specifically interested in improving musl support by filing and/or fixing bugs.

[+] yjftsjthsd-h|8 years ago|reply
Odd; I've run the musl version for years without issue. What kinds of failure did you see?

The only thing I've seen is that WebKit on musl has broken JavaScript, which I suppose would be a big issue for some people.

[+] digi_owl|8 years ago|reply
Do wonder how much of that was from code having adopted GNU-isms...
[+] _emacsomancer_|8 years ago|reply
I haven't found the musl flavour of Void particularly buggy; using the musl variant will limit your range of installable packages though since some applications have hard glibc requirements (and many require some sort of patching to work with musl, which can range from trivial to very difficult).
[+] krylon|8 years ago|reply
I just installed Void Linux a VM.

My first impression is that it feels really snappy. I am not sure if I like the cli interface of the package manager. But I will give this one a try.

Can someone share their experiences regarding Void's stability? I am currently using openSUSE Tumbleweed on my desktop and primary laptop, and while I am mostly happy, things sometimes kind of break after installing a batch of updates.

[+] checkyoursudo|8 years ago|reply
I used Void on my previous laptop for about a year with no stability issues. The only reason I stopped using it was because I wanted to experiment with a no-grub EFI stub booted whole disk encryption using LUKS non-systemd setup, which I only really had an idea of how to do on Gentoo, so I went back to that. [Edit: I think I might have almost had this working on Void, in fact, but there was some piece that I couldn't get right, if I remember, but that I could do more easily in Gentoo. But I can't remember what that might have been. It's been a while since I did that.]

Otherwise, I probably would have stayed with Void for a while more. It was pretty nice.

[+] yjftsjthsd-h|8 years ago|reply
Anecdote: I've used Void for a few years, and I have had it break exactly once that I recall. That one time was filesystem issues[0], fixed by fsck.

[0] Not sure what caused it; F2FS may have been less stable than I thought, or the cheap SSD might have lost a bit.

[+] sverige|8 years ago|reply
I recently tried a number of Linux distros to get specific GNU tooling for an embedded project I'm working on. (My daily driver is OpenBSD.) The Void philosophy is very appealing to me compared to most other Linux distros. I tried both Void with glibc and with musl. Both of them would install ok but then immediately panic on rebooting, and I didn't spend the time and effort to get past that to find out whether it would be stable once I got it running.
[+] braderhart|8 years ago|reply
I love Void, but I personally find that Arch is much better supported overall in terms of packages and the AUR. I haven't tried Void recently though so maybe I should give it another go and help contribute.
[+] ethelward|8 years ago|reply
I have been using it for now two years, and my only problem so far was a bad default umask with fish shell which wrongly set root-only permission on package search. Fixed with the correct umask in my fishrc.

Oh, and steam can't remember to keep me logged, but I'd probably blame Valve rather than void for this (very minor) inconvenience.

[+] fouc|8 years ago|reply
Nice, my past distros of choice were slackware & archlinux. This feels like a successor to those. I'm sold.
[+] keithpeter|8 years ago|reply
Slackware and Arch are still very much alive as projects.

By 'successor' do you mean 'works in a similar way and I happen to like it better' or is there something that you think Void has got that slackware and arch don't have?

PS: downloading the void live .iso now for a bit of distro-hopping on a spring morning.

[+] efiecho|8 years ago|reply
A year ago or so I switched to Void Linux from Debian and my conclusion so far is that Void is a near perfect Linux distribution. Stable, simple and systemd free. The package manager is simply a pleasure to use.

My only critique is that most packages will install everything but the kitchen sink, so even if I only need "Writer" I have to install every single component of LibreOffice and this makes the system a little bloated.

[+] bitwize|8 years ago|reply
I love Void. It's like Arch was back when I first tried it. My main machine still runs Slackware, but my Raspberry Pi 2 runs Void and I've been mostly satisfied with it. The unsatisfying bit isn't really Void's fault; a bug in Xorg prevented it from working with musl on ARM. this has since been fixed.
[+] ifbizo|8 years ago|reply
How do people compare this to Alpine Linux? I'm interested in both.
[+] Ericson2314|8 years ago|reply
Package manager sounds like a worse version of ~~Nice~~ Nix, but distro's choice of services is neat.

Edit stupid autocorrect. Also further research indicates xbps is way more traditional. Sigh...

[+] EtDybNuvCu|8 years ago|reply
Why would one use Void instead of NixOS or another Nix-based distro?
[+] deltron3030|8 years ago|reply
If you're into programming in C, and like simplicity, you might find more likeminded people there, similar to OpenBSD. Nix is more popular among functional programmers.
[+] purplezooey|8 years ago|reply
"after all the package manager is really just keeping a database of files and unpacking archives onto the disk."

err..... what

[+] yjftsjthsd-h|8 years ago|reply
What what? That's more or less what a package manager does; take archives ("packages"), unpack them into the system ("install"), and then keep a database of what archives are unpacked and what files each one owns. In practice there's a lot added to that (pulling the archives from a central repo, dependency resolution, searching, managing config files...), but the simple case is barely more than tar.
[+] EamonnMR|8 years ago|reply
The matrix background on that page is cool but it does not go past the first page of scroll which sort of ruins the effect.
[+] feelin_googley|8 years ago|reply
"Because of this, xbps-src is in fact not a binary, it is a collection of very intricate shell scripts that use standard tooling available on almost any Linux distribution to bootstrap a compiler, build chroot, and XBPS itself."

When he stepped away from NetBSD, I remember reading that it was because he wanted to work on a package manager.

It might be that the entire raison d'etre for Void Linux is a package manager consisting of shell scripts.

Not sure what he thinks of pkgsrc but IMO their work has made things so easy that, e.g., one can easily use a set of shell scripts instead of pkg-add, etc. I do this to save space on small systems. IME, the pkgsrc bootstrap scripts are a very reliable way to build a gcc toolchain. (build.sh as well)

One project I have had on the list for many years is to build Linux on BSD. Could it be done? Has it been tried?

Also, maybe S6 deserves a mention as another daemontools clone, with the added bonus that it may lead one to discover execline.

Nothing against runit. I use socklog and occasionally udpsvd by the same author.

[+] yjftsjthsd-h|8 years ago|reply
> One project I have had on the list for many years is to build Linux on BSD. Could it be done? Has it been tried?

How do you mean? Compiling the Linux kernel on a BSD machine? Using GNU on BSD (if so, the answer is yes; see Debian GNU/kFreeBSD)? Linux kernel with BSD userland?

[+] digi_owl|8 years ago|reply
Gobolinux is also mostly powered by shell script (i think you may find the odd python and compiled code in there for performance reasons).
[+] feelin_googley|8 years ago|reply
/consisting of/s//built from/

/bootstrap scripts/s/scripts/utility/

apologies for being a bit sloppy here