The VikiD Truth

Knowledge base / Computing / Networking & the web

Using Linode

Here is the truth about Linode: it was one of the first hosts to make renting a serious Linux machine feel like a commodity, and after the Akamai acquisition that spirit mostly survived. A Linode is just a good VPS with a clean API and sane networking defaults.

What it is, in plain words

Linode is a cloud/VPS provider founded in 2003, acquired by Akamai in 2022. You rent virtual machines (Linodes / Nanodes / dedicated CPU instances), object storage, Kubernetes (LKE), managed databases and node balancers in a few dozen regions. Images include Ubuntu, Debian, Alpine, Arch and custom uploads; rescue mode and out-of-band console exist when you lock yourself out.

For many of us who grew up with early VPS culture, Linode was where we learned to administer a public box. The Online VPS page covers the general craft; this page is Linode-specific notes.

Why it matters

A predictable provider with honest documentation, a usable firewall product, and an API you can script is worth more than a race-to-the-bottom disk slice. Linode/Akamai isn’t always the cheapest, but it’s a known quantity – and known quantities are how you sleep when running something you care about.

An everyday analogy: a familiar hardware shop

You could order parts from a random marketplace. Or you could go to the shop whose layout you know, whose return policy you’ve used, whose staff have seen your face. Linode is that shop for VMs.

A hands-on example

Create with the CLI (pip install linode-cli then linode-cli configure):

linode-cli linodes create \
  --type g6-nanode-1 \
  --region gb-lon \
  --image linode/ubuntu24.04 \
  --hostname vikix-lon \
  --authorized_keys "$(cat ~/.ssh/id_ed25519.pub)" \
  --root_pass "$(openssl rand -base64 24)"
linode-cli linodes list

Then SSH in as root (or the image’s default), create your user, lock down SSH, enable the Linode Cloud Firewall or nftables on the box, and proceed with the first-hour checklist.

Useful bits of the product:

Akamai’s edge and CDN products sit next door if you outgrow a single origin.

Migrating and leaving

Take regular offline backups (restic, borg, or even rsync to another provider) so leaving is a DNS change, not a hostage situation. Export DNS zones, object storage buckets and secrets the day before you need them. Providers are platforms; your data should not be.

Running Void Linux on a Linode

The stock images are the mainstream distros, but Vikix is Void, so here is the specific path. Linode lets you boot into Rescue mode (a Finnix live environment) and write any system onto the disk, which is how you install a distro they do not list:

# After booting the Linode into Rescue mode and SSHing in:
# 1. partition the raw disk the dashboard gave you (e.g. /dev/sda)
# 2. mount it, then unpack a Void rootfs tarball from a mirror
mkdir /mnt/void
mount /dev/sda /mnt/void
xzcat void-x86_64-ROOTFS-*.tar.xz | tar -xpf - -C /mnt/void
# 3. chroot in, set a root password, install a kernel and GRUB, enable runit
for d in dev proc sys; do mount --rbind /$d /mnt/void/$d; done
chroot /mnt/void xbps-install -Su base-system grub
chroot /mnt/void grub-install /dev/sda

Reboot out of rescue mode and you have a Void VPS. The lesson generalises: with rescue mode and disk access you are never limited to a provider’s menu. Alternatively, run Void inside the official image as a container or VM if you only need it for one service.

Scripting the whole thing

The point of a cloud VPS over a box under your desk is that it is reproducible. Treat the server as disposable and keep the recipe in Git. The Linode CLI shown above is the quick way; Terraform (with the linode provider) is the durable way:

# main.tf  -  terraform init && terraform apply
resource "linode_instance" "vikix" {
  label      = "vikix-lon"
  region     = "gb-lon"
  type       = "g6-nanode-1"
  image      = "linode/ubuntu24.04"
  authorized_keys = [trimspace(file("~/.ssh/id_ed25519.pub"))]
}

Now the server is code. You can destroy it, change one line, and recreate it identically. That habit, infrastructure as code, is the single biggest difference between hobby sysadmin and professional operations, and it costs nothing to start.

When a single Linode is not enough

A Nanode happily runs a personal site, a VPN endpoint or a small PicoLisp app. You outgrow it when:

Resist scaling before you must. A single well-run box with good backups beats a fragile cluster you do not understand, and most projects never outgrow one machine.

Common misconceptions

Connections

Date: 13 December 2016

I have been a digital Ocean User for Quite a while now. But I decided to give linode a chance as I read up some good things about it.

Last edited · 4 revisions

Tags: #Computing