<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>System Administration on The Lone C++ Coder's Blog</title><link>https://www.lonecpluspluscoder.com/categories/system-administration/</link><description>Recent content in System Administration on The Lone C++ Coder's Blog</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Sun, 07 Jul 2024 20:31:00 -0500</lastBuildDate><atom:link href="https://www.lonecpluspluscoder.com/categories/system-administration/index.xml" rel="self" type="application/rss+xml"/><item><title>If you get this error from Time Machine on Samba, check available disk space</title><link>https://www.lonecpluspluscoder.com/post/2024-07-07-timemachine-on-samba/</link><pubDate>Sun, 07 Jul 2024 20:31:00 -0500</pubDate><author>Timo Geusch</author><guid>https://www.lonecpluspluscoder.com/post/2024-07-07-timemachine-on-samba/</guid><description>&lt;p&gt;I&amp;rsquo;ve been using Samba with the &lt;code&gt;time machine&lt;/code&gt; setting for years to back up the couple of Macs I own. I&amp;rsquo;ve recently been running into issues with Time Machine backups erroring out with &lt;code&gt;&amp;quot;The network backup disk does not support the required capabilities&amp;quot;&lt;/code&gt;. Poking around the Internet didn&amp;rsquo;t really point at an obvious culprit until I found some mumblings about this potentially begin a disk space issue.&lt;/p&gt;
&lt;p&gt;Bingo!&lt;/p&gt;
&lt;p&gt;While the Samba server had more than enough disk space left, I had set the maximum Time Machine volume size to 3.5TB using the setting &lt;code&gt;fruit:time machine max size = 3.5T&lt;/code&gt;. Bumping this up to 4.5T magically made Time Maching backups work immediatly.&lt;/p&gt;</description></item><item><title>Don't forget to set the home directory for Emacs on Windows</title><link>https://www.lonecpluspluscoder.com/2023/11/05/install-set-emacs-homedir-windows/</link><pubDate>Sun, 05 Nov 2023 11:03:00 -0500</pubDate><author>Timo Geusch</author><guid>https://www.lonecpluspluscoder.com/2023/11/05/install-set-emacs-homedir-windows/</guid><description>&lt;p&gt;I&amp;rsquo;m currently rebuilding my main Windows machine after it had become close to unusable. Given that I upgraded it multiple times from Windows 7 all the way to Windows 11 without ever reinstalling the OS, this shouldn&amp;rsquo;t have come as a major surprise. Either way, this is the reason for the sudden outburst of Windows related posts so I can go and refer to my blog as my Internet Notes repository.&lt;/p&gt;</description></item><item><title>How to install WSL on Windows 11 without a default distribution</title><link>https://www.lonecpluspluscoder.com/2023/11/04/install-wsl-without-distribution/</link><pubDate>Sat, 04 Nov 2023 14:03:00 -0500</pubDate><author>Timo Geusch</author><guid>https://www.lonecpluspluscoder.com/2023/11/04/install-wsl-without-distribution/</guid><description>&lt;p&gt;On my Windows machine, I&amp;rsquo;ve mostly moved from using separate virtual machine products like Hyper-V or Virtualbox to have access to a Linux machine to using WSL. The PC is dual-boot with a separate Linux install anyway, but sometimes I just want to quickly fire up a Linux machine, take care of a couple of quick tasks and go back to Windows.&lt;/p&gt;
&lt;p&gt;WSL installs Ubuntu by default, but I tend to want a different distribution like OpenSUSE, Fedora etc. To not end up with a &amp;ldquo;spare&amp;rdquo; Ubuntu install, you can eitehr install WSL on a fresh Windows install without specifying a distributuion using &lt;code&gt;wsl --install --no-distribution&lt;/code&gt; or by installing a different distribution immediately using &lt;code&gt;wsl --install -d &amp;lt;distro name&amp;gt;&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Migrating source code from RCS to Mercurial</title><link>https://www.lonecpluspluscoder.com/2022/03/12/migrating-source-from-rcs-to-mercurial/</link><pubDate>Sat, 12 Mar 2022 19:47:03 -0500</pubDate><author>Timo Geusch</author><guid>https://www.lonecpluspluscoder.com/2022/03/12/migrating-source-from-rcs-to-mercurial/</guid><description>&lt;p&gt;Version control system migrations are a fact of life for developers in any longer lived codebase. In fact, I&amp;rsquo;ve had a hand in quite a few migrations as newer, more workable version control systems became available. Also, like a lot of developers, I&amp;rsquo;ve got fragments of source code dating back quite some years floating around on various servers and development machines of mine. Not necessarily code that is still being used, but still code that I don&amp;rsquo;t want to just delete forever. Some of the oldest code I have uses &lt;a href="https://www.gnu.org/software/rcs/"&gt;RCS&lt;/a&gt; for source control and hasn&amp;rsquo;t been touched for a long, long time. As my machines generally don&amp;rsquo;t have anything as old as RCS installed for version control, I decided this might be a good time to migrate the code to my version control system of choice, &lt;a href="https://www.mercurial-scm.org/"&gt;Mercurial&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Another quick Isso setup tweak</title><link>https://www.lonecpluspluscoder.com/2022/02/17/another-quick-isso-setup-tweak/</link><pubDate>Thu, 17 Feb 2022 17:19:54 -0500</pubDate><author>Timo Geusch</author><guid>https://www.lonecpluspluscoder.com/2022/02/17/another-quick-isso-setup-tweak/</guid><description>&lt;p&gt;While I was implementing a few more changes on my web server - mostly adding the sorely needed blacklistd configuration for sshd - I noticed that NGINX&amp;rsquo;s log was showing occasional errors when trying to contact the &lt;a href="https://posativ.org/isso/"&gt;Isso&lt;/a&gt; process. They all had one thing in common, namely that they were all trying to contact ISSO via IPV6 as the server has both stacks enabled. Turns out that isso only listens on an IPV4 socket and I could not find an obvious way to get it to listen on both.&lt;/p&gt;</description></item><item><title>Using Elliptical curve cryptography for TLS with Postfix, Dovecot and nginx</title><link>https://www.lonecpluspluscoder.com/2022/01/08/ecdsa-with-postfix-dovecot-and-nginx/</link><pubDate>Sat, 08 Jan 2022 17:42:08 -0500</pubDate><author>Timo Geusch</author><guid>https://www.lonecpluspluscoder.com/2022/01/08/ecdsa-with-postfix-dovecot-and-nginx/</guid><description>&lt;p&gt;I may have mentioned this before - I do run my own virtual servers for important services (basically email and my web presence). I do this mostly for historic reasons and also because I&amp;rsquo;m not a huge fan of using centralised services for all of the above. The downside is that you pretty much have to learn at least about basic security. Over the 20+ years I&amp;rsquo;ve been doing this, the Internet hasn&amp;rsquo;t exactly become a less hostile place. Anyway, Elliptic Curve Certificates, what about them?&lt;/p&gt;</description></item><item><title>Unborking my ISSO comments system and making it more resilient</title><link>https://www.lonecpluspluscoder.com/2021/11/27/fixed-isso-comments-and-made-more-resilient/</link><pubDate>Sat, 27 Nov 2021 16:00:00 -0500</pubDate><author>Timo Geusch</author><guid>https://www.lonecpluspluscoder.com/2021/11/27/fixed-isso-comments-and-made-more-resilient/</guid><description>&lt;p&gt;First, I apologise for not noticing that the comments had been broken for a while. This was entirely my fault and not fault of &lt;a href="https://posativ.org/isso/"&gt;ISSO&lt;/a&gt;, which I&amp;rsquo;m still super happy with as a self-hosted comments system. So in this post I&amp;rsquo;m going to describe what went wrong, and also how I made the system a little more resilient at the same time.&lt;/p&gt;
&lt;h2 id="first-what-did-go-wrong"&gt;First, what did go wrong?&lt;/h2&gt;
&lt;p&gt;My web server is using &lt;a href="http://www.freebsd.org/"&gt;FreeBSD&lt;/a&gt; as its OS, with a bunch of software installed via FreeBSD&amp;rsquo;s ports system. For those not that familiar with FreeBSD&amp;rsquo;s ports, the system essentially acts like a rolling distribution. As a result, you sometimes have to upgrade tools, especially languages like Perl, Ruby, and in this case, Python. A little while ago, the default Python version on FreeBSD was upgraded from Python 3.7 to Python 3.8, and I eventually followed along with that upgrade. ISSO is run out of a &lt;code&gt;virtualenv&lt;/code&gt; as a regular user and the &lt;code&gt;virtualenv&lt;/code&gt; was still using Python 3.7, but I decided I didn&amp;rsquo;t want to keep multiple Python versions on this machine. So, I upgraded the version in the &lt;code&gt;virtualenv&lt;/code&gt; to 3.8 as well. So far, so good, especially as ISSO seemed to restart without issue.&lt;/p&gt;</description></item><item><title>Upgrading my OpenBSD WireGuard server to in-kernel WireGuard</title><link>https://www.lonecpluspluscoder.com/2021/10/31/openbsd-wireguard-upgrade-to-in-kernel/</link><pubDate>Sun, 31 Oct 2021 19:00:00 -0500</pubDate><author>Timo Geusch</author><guid>https://www.lonecpluspluscoder.com/2021/10/31/openbsd-wireguard-upgrade-to-in-kernel/</guid><description>&lt;p&gt;I&amp;rsquo;ve blogged about &lt;a href="https://www.lonecpluspluscoder.com/2019/12/27/building-an-openbsd-wireguard-server/"&gt;putting together a WireGuard server using OpenBSD a couple of years back&lt;/a&gt;. The main purpose of the server was to ensure a slightly more secure connection when I was on hotel WiFi. Of course thanks to the pandemic, I have barely travelled in the past couple of years so the server was mostly dormant. In fact, I kept VM turned off for most of the time. The VPN server was set up on OpenBSD 6.6, which was the last release that supported user mode WireGuard and didn&amp;rsquo;t have an in-kernel implementation. It was finally time to change that as part of an upgrade to OpenBSD 7.0.&lt;/p&gt;</description></item><item><title>Turning this particular server into a bit less of a pet</title><link>https://www.lonecpluspluscoder.com/post/2021-07-05-turning-this-server-into-less-than-a-pet/</link><pubDate>Mon, 05 Jul 2021 22:30:00 -0500</pubDate><author>Timo Geusch</author><guid>https://www.lonecpluspluscoder.com/post/2021-07-05-turning-this-server-into-less-than-a-pet/</guid><description>&lt;p&gt;I&amp;rsquo;m in the middle of a server redo - right now, I&amp;rsquo;m setting up a replacement server for my trusty Dell T30, plus it was time to give this web server a new home. When I started the migration from my old WordPress site to the new static site, the static site was running on a small 1 core / 1GB RAM cloud server at &lt;a href="https://www.vultr.com"&gt;Vultr&lt;/a&gt;. That had enough oomph for testing and for the last couple of months. That said, this machine is running FreeBSD with ZFS on root, and ZFS likes to have a lot of RAM. Why ZFS on root? Because it allows me to use &lt;a href="https://wiki.freebsd.org/BootEnvironments"&gt;boot environments&lt;/a&gt;. I&amp;rsquo;ve started using them on my other servers - especially the aforementioned home server - and decided that all my other servers also need them right now as it makes upgrading the OS a lot safer.&lt;/p&gt;</description></item><item><title>Setting up rdiff-backup on FreeBSD 12.1</title><link>https://www.lonecpluspluscoder.com/2020/05/20/setting-up-rdiff-backup-on-freebsd-12-1/</link><pubDate>Wed, 20 May 2020 20:31:00 +0000</pubDate><author>Timo Geusch</author><guid>https://www.lonecpluspluscoder.com/2020/05/20/setting-up-rdiff-backup-on-freebsd-12-1/</guid><description>&lt;p&gt;&lt;em&gt;Update 2021-12-18: It looks like the rdiff-backup port has been removed from the FreeBSD ports tree, so installing it via the port is definitely not an option anymore. Also, the method described below works on FreeBSD 13.0 as well.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;My main PC workstation (as opposed to my Mac Pro) is a dual-boot Windows and Linux machine. While backing up the Windows portion is relatively easy via some cheap-ish commercial backup software, I ended up backing up my Linux home directories only very occasionally. Clearly, Something Had To Be Done (tm).&lt;/p&gt;
&lt;p&gt;I had a look around for Linux backup software. I was familiar with was Timeshift, but at least the Manjaro port can&amp;rsquo;t back up to a remote machine and was useless as a result. I eventually settled on &lt;a href="https://rdiff-backup.net"&gt;rdiff-backup&lt;/a&gt; as it seemed to be simple, has been around for a while and also looks very cron-friendly. So far, so good.&lt;/p&gt;</description></item><item><title>Building an OpenBSD WireGuard VPN server part 3 - Unbound DNS filtering</title><link>https://www.lonecpluspluscoder.com/2020/02/10/building-an-openbsd-wireguard-vpn-server-part-3-unbound-dns-filtering/</link><pubDate>Mon, 10 Feb 2020 05:20:46 +0000</pubDate><author>Timo Geusch</author><guid>https://www.lonecpluspluscoder.com/2020/02/10/building-an-openbsd-wireguard-vpn-server-part-3-unbound-dns-filtering/</guid><description>&lt;p&gt;In &lt;a href="https://www.lonecpluspluscoder.com/2020/01/16/building-an-openbsd-wireguard-vpn-server-part-2-unbound-dns-setup/"&gt;part 2&lt;/a&gt;, I reconfigured my WireGuard VPN to use an Unbound DNS server on the VPN server rather than rely on a third party server I had used for the original quick and dirty configuration. It was important for me to set up a validating DNS server, which I did in that part.&lt;/p&gt;
&lt;p&gt;In this part, I&amp;rsquo;m extending the existing configuration to include some basic block lists for known ad and tracking servers. As I&amp;rsquo;m mainly trying to use the VPN while on the road, I want to ensure that anything I end up doing using the VPN is as secure as I can make it with reasonable effort. That makes tracking and preventing malicious ads the next step. That said, I&amp;rsquo;m not planning to go for a full Pi-Hole like setup. Initially, I am trying to do is integrate one known good blocklists into the Unbound configuration and automate the process. I can get fancy with a more Pi-Hole like setup later if I want to.&lt;/p&gt;</description></item><item><title>Building an OpenBSD WireGuard VPN server part 2 - Unbound DNS setup</title><link>https://www.lonecpluspluscoder.com/2020/01/16/building-an-openbsd-wireguard-vpn-server-part-2-unbound-dns-setup/</link><pubDate>Thu, 16 Jan 2020 04:09:36 +0000</pubDate><author>Timo Geusch</author><guid>https://www.lonecpluspluscoder.com/2020/01/16/building-an-openbsd-wireguard-vpn-server-part-2-unbound-dns-setup/</guid><description>&lt;p&gt;In the &lt;a href="https://www.lonecpluspluscoder.com/2019/12/27/building-an-openbsd-wireguard-server/"&gt;first part&lt;/a&gt;, I described how I set up the basic OpenBSD WireGuard VPN server. I also hinted that I wanted to set up my own validating, filtering DNS server. With a little bit of spare time during the holidays I decided now was a good time as any.&lt;/p&gt;
&lt;h2 id="making-sure-the-vpn-server-uses-the-local-unbound-dns-resolver-first"&gt;Making sure the VPN server uses the local Unbound DNS resolver first&lt;/h2&gt;
&lt;p&gt;Before I set up Unbound itself, I need to make sure that the VPN server&amp;rsquo;s resolv.conf points at its local DNS server first.&lt;/p&gt;</description></item><item><title>Building an OpenBSD Wireguard server</title><link>https://www.lonecpluspluscoder.com/2019/12/27/building-an-openbsd-wireguard-server/</link><pubDate>Fri, 27 Dec 2019 06:05:00 +0000</pubDate><author>Timo Geusch</author><guid>https://www.lonecpluspluscoder.com/2019/12/27/building-an-openbsd-wireguard-server/</guid><description>&lt;p&gt;In my &lt;a href="https://www.lonecpluspluscoder.com/2019/11/27/looks-like-i-get-to-redo-my-wireguard-vpn-server/"&gt;previous post&lt;/a&gt;, I mentioned that I somehow ended up with a corrupted filesystem on the WireGuard server &lt;a href="https://www.lonecpluspluscoder.com/2019/01/21/setting-up-my-own-vpn-server-on-vultr-with-centos-7-and-wireguard/"&gt;I had set up earlier this year&lt;/a&gt;. That iteration of my VPN server was built on Linux as I expected I would get better performance using the kernel-based WireGuard implementation. It had taken me a while to set it up right, and I didn&amp;rsquo;t get the impression that the performance was so much better anyway. Keep in mind that I mostly use my VPN server from hotel WiFi and we all know how &amp;ldquo;good&amp;rdquo; that tends to be performance wise.&lt;/p&gt;
&lt;p&gt;While I&amp;rsquo;ve done a fair bit of Linux admin work, I didn&amp;rsquo;t fancy re-doing the whole setup again. I also hadn&amp;rsquo;t scripted it up using Ansible or similar. I tend to prefer BSD anyway, and most of my personal servers run some flavour of BSD Unix. As I didn&amp;rsquo;t want to spend too much time securing this server, I used &lt;a href="http://www.openbsd.org"&gt;OpenBSD&lt;/a&gt; as it is a little more secure out of the box compared to FreeBSD. I also hadn&amp;rsquo;t experimented with OpenBSD for a while so I was curious to see the more recent improvements.&lt;/p&gt;</description></item><item><title>Looks like I get to redo my WireGuard VPN server</title><link>https://www.lonecpluspluscoder.com/2019/11/27/looks-like-i-get-to-redo-my-wireguard-vpn-server/</link><pubDate>Wed, 27 Nov 2019 10:43:49 +0000</pubDate><author>Timo Geusch</author><guid>https://www.lonecpluspluscoder.com/2019/11/27/looks-like-i-get-to-redo-my-wireguard-vpn-server/</guid><description>&lt;p&gt;I&amp;rsquo;ve blogged about &lt;a href="https://www.lonecpluspluscoder.com/2019/01/21/setting-up-my-own-vpn-server-on-vultr-with-centos-7-and-wireguard/"&gt;setting up a WireGuard VPN server&lt;/a&gt; earlier this year. It&amp;rsquo;s been running well since, but I needed to take care of some overdue maintenance tasks. Trying to log into the server this morning and I am greeted with &amp;ldquo;no route to host&amp;rdquo;. Eh? A quick check on my Vultr UI showed that the VPS had trouble booting. The error suggests a corrupted boot drive. Oops.&lt;/p&gt;
&lt;p&gt;Guess what the maintenance task I was looking at was? Creating an Ansible script so I&amp;rsquo;d be able to stand up the server from scratch in case something like this happened. And yes, the irony of being the guy who regularly preaches to his clients about the need for backups doesn&amp;rsquo;t quite escape me.&lt;/p&gt;</description></item><item><title>Installing leiningen on Manjaro Linux</title><link>https://www.lonecpluspluscoder.com/2019/05/05/installing-leiningen-on-manjaro-linux/</link><pubDate>Sun, 05 May 2019 10:53:49 +0000</pubDate><author>Timo Geusch</author><guid>https://www.lonecpluspluscoder.com/2019/05/05/installing-leiningen-on-manjaro-linux/</guid><description>&lt;p&gt;I like Lispy languages. One I’ve been playing with – and occasionally been using for smaller projects – is &lt;a href="https://clojure.org/"&gt;Clojure&lt;/a&gt;. Clojure projects usually use &lt;a href="https://leiningen.org/"&gt;Leiningen&lt;/a&gt; for their build system. There are generally two ways to install leiningen – just download the script as per the Leiningen web site, or use the OS package manager. I usually prefer using the OS package manager, but Manjaro doesn’t include leiningen as a package in its repositories. Installing leiningen is pretty easy via the package manager and I’ll show you how.&lt;/p&gt;</description></item></channel></rss>