blog.iankulin.com

blog.iankulin.com

Recursively Deleting Files in Linux

I give a short walkthrough of backing up a Synology NAS to a USB drive with rsync, using excludes to skip junk files like macOS’s .DS_Store and Synology’s @eaDir. I also show how to use the find command to recursively locate .DS_Store files scattered through subdirectories, preview the matches first, and delete them with the -delete flag...

Proxmox LXC backup to NFS share failing

My Proxmox backup of an unprivileged LXC container to an NFS share failed with tar permission errors, even though privileged container backups to the same share worked. Testing with throwaway containers, I traced the problem to vzdump’s temp directory living on the NFS mount, and setting tmpdir to /tmp in /etc/vzdump.conf fixed it. I walk through the error logs and include some skepticism about the common forum explanation...

Using NAS for Proxmox backups

Proxmox saves VM backups to local storage by default, which is no help if the host dies and makes restoring to a different node awkward. My walkthrough covers creating a shared folder with NFS permissions on a Synology NAS, then adding that share as storage at the datacenter level in Proxmox so backups and restores can happen from any node, making it easy to move VMs between hosts...

Where Do Docker Container Logs Go?

How I use docker logs to find the error when a container exits immediately after starting with no visible message. My walkthrough uses a Filebrowser container that crashed on startup due to a newline character in its JSON config, a typo introduced by the blog post I followed instead of the official instructions...

Allowing Proxmox to use a Dynamic IP

How to switch a Proxmox server from a static IP to a DHCP-assigned address at boot, which I needed for a machine being shipped to a remote site for non-technical setup. Covers the edit to /etc/network/interfaces to change the vmbr0 bridge from static to DHCP, plus the follow-up task of updating /etc/hosts once the server has its new address...

RAID Rescue

While rearranging disks toward a 3-2-1 backup setup, I realise a wiped Synology drive still held the only other copy of my audiobook collection. Reinstalling the one surviving RAID drive and using the Recover option brings the pool back in a degraded state, allowing the files to be copied out. The episode doubles as a useful test of a dead-drive scenario, with the NAS’s beeping alert proving reassuring for a self-hosted setup...

HP EliteDesk 800 G2 Memory Upgrade

I walk through upgrading the RAM in my HP EliteDesk 800 G2 Desktop Mini from 16GB to 32GB. I cover the tool-free disassembly, including the captive screw, sliding case lid, and tilting the fan aside to reach the SODIMMs, along with the RAM specs required (1.2V DDR4-2133MHz, PC4-17000) and the SK Hynix modules I used...

Proxmox Backup Files

Before adding RAM to my Proxmox production server, I shut down my VMs, take snapshots, and copy the backups off local storage. I locate the backup directory via Proxmox’s storage config, pull the files to a laptop with scp, and note a zsh gotcha where wildcards in the command need escaping...

rsync episode IV - a sudo hope

My attempt to rsync a NAS movies directory to an NTFS-formatted USB drive fails with “Operation not permitted” errors on setting times and creating temporary files, even though a manual cp by the same user succeeds. Running rsync with sudo makes the copies work, though owner and permission attributes still get rewritten on every run, possibly because of the NTFS format. I consider the sudo workaround unsatisfactory given my plans to eventually automate the backup...

rsync / Synology / @eaDir

Setting up a backup strategy on a Synology NAS, I SSH in to locate volume and share mount points and do a dry-run rsync of a movies directory from the NAS to a USB drive. The first run surfaces thousands of @eaDir entries, which turn out to be Synology metadata files likely produced by the indexing service, and I end the post by excluding them via the –exclude option...

SSH with Keys to Synology

Setting up SSH key-based login on a Synology NAS running DSM 7.1.1 takes a couple of extra steps compared to a standard Linux distro: enabling the SSH service and enabling user home directories, since DSM doesn’t create them by default and ssh-copy-id needs one. I walk through both settings in the DSM web interface, and note that most Synology tasks are usually easier and safer done through its web UI or Package Center...

rsync basics

I describe setting up a 3-2-1 backup strategy with a local RAID6 NAS, an off-site NAS, and an offline USB drive, and moving away from manually syncing files between them. The post walks through using rsync to sync directories, covering how it copies only changed files, propagates deletions with the –del flag, and works across remote hosts over SSH, with a brief mention of Beyond Compare for manual comparisons...

CPU Comparisons

Comparing an i5 6500T and i7 6700T to decide which mini PC gets a RAM upgrade and becomes the boss node in my homelab cluster. After noting how much clearer CPU naming used to be, I use comparison sites like versus.com to decode modern Intel chip names. My verdict: the two are nearly identical except the i7 has double the threads via Hyperthreading, which matters for a machine running multiple VMs...

HP Secure Boot Pain

Installing Proxmox on my HP EliteDesk 800 G2 from USB fails with a “Selected boot image did not authenticate” error because of Secure Boot. Disabling Secure Boot in the BIOS isn’t enough — the setting reverts unless I also type in the confirmation number HP prompts for after I save and exit, which is easy to miss. I include a short bonus section on enabling Virtualization Technology (VTx) when Proxmox reports no KVM support...

Mounting one Synology NAS to another one

A guide to mounting a remote Synology NAS share onto a second Synology NAS using FileStation’s Mount Remote Folder feature, allowing large direct NAS-to-NAS transfers without an intermediary laptop. I walk through creating a mount point, connecting via CIFS, and copying 4TB of data, with observed transfer speeds of 30-70 MB/s...

Proxmox VM Memory Upgrade

After finding that memory, rather than CPU, is the bottleneck on my Proxmox server, I order physical RAM for the host. I also walk through increasing the RAM allocated to a Jellyfin VM from 6GB to 8GB via the Proxmox Hardware settings, noting the change takes effect only after a reboot...

No DNS on Proxmox machine

DNS resolution failed on a fresh Proxmox install during apt updates because /etc/resolv.conf pointed at 127.0.0.1 instead of the router’s DNS server. After comparing configs on other machines and swapping the network cable, I reinstalled Proxmox from scratch, verified the network settings during setup, and everything worked. This was the third networking issue with this machine, following a DHCP address conflict and a misbehaving managed switch...

Proxmox Dynamic IP

My attempt to set up a Jellyfin media server on a mini PC turns into a networking detour: after installing Proxmox, an IP address conflict with a Wi-Fi light bulb leaves the host unreachable over SSH, and reserving a new address doesn’t help because Proxmox hardcodes the IP it picks up via DHCP during installation. It ends with the unresolved problem of deploying the machine to a network with unknown configuration, where Proxmox’s expectation of a static IP is inconvenient...

Nostalgia

A Jim Hall video on the history of FreeDOS prompts me to look back at my own experiences with DOS 2.11 through 4.01, moving to Windows 3.1, and using the AsEasyAs shareware spreadsheet. I also muse about tracking down old executables to resurrect a Clipper programming environment and compile my first commercial software, and reflect on wishing I’d kept screenshots from years of computing, including long stretches in the WordPress editor...

NAS Storage Calculations

While planning to move my applications from the cloud to self-hosting, I evaluate Synology NAS options for a roughly 12TB storage target, weighing RAID levels, second-hand versus new drives, cost per terabyte, and power consumption. I ultimately choose a new DS420j with four used 6TB drives in RAID 6 for production, plus a single-drive NAS for local backup and my existing unit with 14TB drives for remote backup...