Posts tagged with: #void_linux

Running etckeeper on Void Linux

2025-03-25

First, install etckeeper.

Then, create these two (executable) files:

/usr/local/bin/xbps-install

#!/usr/bin/env perl

use v5.38;

`whoami` eq "root\n" or die "Not root user";

!system('etckeeper pre-install') or die "Couldn't execute 'etckeeper pre-install'";
!system("/usr/bin/xbps-install", @ARGV) or die "Couldn't execute '/usr/bin/xbps-install @ARGV'";
!system('etckeeper post-install') or die "Couldn't execute 'etckeeper post-install'";

/usr/local/bin/xbps-remove

#!/usr/bin/env perl

use v5.38;

`whoami` eq "root\n" or die "Not root user";

!system('etckeeper pre-install') or die "Couldn't execute 'etckeeper pre-install'";
!system("/usr/bin/xbps-remove", @ARGV) or die "Couldn't execute '/usr/bin/xbps-remove @ARGV'";
!system('etckeeper post-install') or die "Couldn't execute 'etckeeper post-install'";

Then do sudo etckeeper init.

Then edit /etc/.gitignore to include files that shouldn't be versioned (such as /etc/resolv.conf).

Then create this executable file:

/etc/cron.daily/01-record_manual_packages

#!/bin/sh
xpkg -m > /etc/my_list_of_manual_pkgs

Then create this executable file:

/etc/cron.daily/02-etckeeper-daily-commit

#!/bin/sh
etckeeper commit "daily commit"

This setup is perfect.

How to run Incus on Void Linux, part 2

2025-03-20

Apparently setting CGROUP_MODE to unified is not at all bad for you, so you should follow all the instructions contained in the incus/README.vodilinux file, including that.

If you still have problems starting Incus containers after that, like I did, your problem could be that you have the elogind service enabled. As everyone on IRC says, you shouldn't have it enabled. Disable it.

You may now ignore my previous #incus-tagged post.

New series of posts: "Void Linux for beginners"

2024-07-29

Void Linux is one of the best Linux distributions out there: It's not maintained by a company and doesn't even have or want sponsors, so it'll stay on the side of users forever. It doesn't use systemd (that many users hate) as its init system, its package manager is very fast (maybe the fastest around), and it's extremely minimal in the amount of software installed by default (good for CPU & disk, the environment, and user-choice of alternatives), and it's a rolling stable distro.

The downside is that it's not for beginners. You'll often need to read documentation (Void's official documentation does a great job) to get things done, and also end-up asking questions in Void's IRC channel to Void's more experienced users.

I did (and still do) a lot of the asking, so I'm providing the most important information I learned there in this series of blog posts tagged #void_linux.

How to run Incus on Void Linux

2024-07-23

Incus is the replacement of LXD one should use. For some reason it won't work well on Void out of the box after a while, and incus start <container-name> might stop doing anything. How do we fix it?

Looking at /usr/share/doc/incus/README.voidlinux it suggests the following:

Some container configurations may require that the `CGROUP_MODE`
variable in `/etc/rc.conf` be set to `unified`.

One way to solve it is that. I did another solution however, which I found at this github issue. I did the following:

I created this Perl script, called enable_incus somewhere:

#!/usr/bin/env perl

use v5.38;

! -d '/sys/fs/cgroup/systemd' or say("Incus already enabled. Skipping."), exit;

system('sudo mkdir /sys/fs/cgroup/systemd');
system('sudo mount -t cgroup -o none,name=systemd systemd /sys/fs/cgroup/systemd');

say 'OK';

Then I edited /etc/sv/incus/run and added this line near the top:

/path/to/enable_incus

...so that my script gets executed just before incus is launched.

This fixed the problem.