Updates on userrepository

Since the last post about my Arch (and Arch-compatible distributions) binary repository, I’ve added a few more packages. Some examples are the Mullvad VPN desktop client and nimdow, a window manager written in the Nim programming language. Or Emptty, an amazing display manager that I encourage you to try.

Despite adding more packages, the compilation and compression time only had a small increase and I’m still below the 5 hour mark. And I’ve kept the zstd “-12” compression level.

Right now, I’m doing a full build to time it again. If it keeps below the 5 hour mark, I’ll try to increase the compression level to “-15” to see if the trade-off is worth it. If so, you’ll have smaller packages, allowing you to save bandwidth.

I’ll keep you updated as soon as I make the change. But that might take a few days, because work and stuff.

One last thing: please become a Patron if you want to support Even €1 will help cover the monthly expenses, just over €15. If I get enough patrons, I’ll be able to upgrade the virtual machine to one with better specs, which will allow a higher package compression level, shorter build times and maybe even packaged kernels. Thank you! 🙂


Some notes about userrepository performance with the new provider

In the previous post, I wrote about how I changed the virtual machine provider from Scaleway to Hetzner. In the days following the transition, I timed how much it took to build all the packages and sync them to the webserver, so I could compare the new provider with the previous one.

The specs are very similar: 4 vCPUs and 8GB of RAM. There is one difference, however: with Scaleway, the vCPUs were some Intel low-end ones (although they’ve upgraded to AMD EPYC very recently) and with Hetzer they are AMD EPYC. And what a difference this makes.

Previously, 250 and something packages took almost 5 hours to complete the build and sync them to the webserver. Now, it takes around 4 hours and 12 minutes to build and sync 328 packages. That’s a huge difference.

I’ve only been using Hetzer for userrepository for about a week, but so far it feels like an improvement. But I’ve yet to test the network performance.

Geekices is back (in beta)

After a small forced hiatus, is back. The Covid-19 pandemic made a hit in my income and the wife’s income, so I had to temporarily suspend non-priority expenses. During this period, I had time to consider a few things about the future of the project and decided to change the provider from Scaleway to Hetzner, mostly because the Arch image they’re using is essentially abandonware.

If you’re reading this, you’ll probably know that Arch Linux changed the default package compression to ZSTD. In order to update or install any package, you’ll need a pacman version that supports this compression and up-to-date libraries. These requirements aren’t met in older Arch images, like the one used by Scaleway, so the only two solutions were installing another distribution, chrooting into it and hack an Arch install (the solution presented to me by Scaleway support) or change provider. The second option was the less time-consuming one.

Hetzner doesn’t provide Arch by default when creating a virtual manchine, but after creating it the user can boot it in rescue mode and run the installimage script that makes the process almost a breeze. After running the script, I advise you to manually chroot and temporarily allow root logins for the SSH daemon in order to be able to login remotely after booting the VM normally.

The virtual machine configuration I chose has similar specs to the previous one with Scaleway: 4vCPUs and 8GB of RAM. In the first few hours of use, I noticed a small improvement in package compile times – but this is just my perception; I have yet to time the build times. But even things like refreshing the repository package list is faster, way faster, and that’s really noticeable.

For the time being, I’ll consider in beta state, so use it with some degree of carefulness. The source is the same, but I changed the provider and I’m evaluation the virtual machine and network performance. Let’s see how it goes.