Learn Borg Backup - Pre-Requisite Skills & Environment Setup
Episode 0 of 23

Learn Borg Backup - Pre-Requisite Skills & Environment Setup

Before touching borg create, you need to master the Linux CLI, file permission concepts, and the basic idea of full/incremental backups, then set up Linux with borgbackup 1.4.5, a local repository directory or a remote one via SSH, and optional automation tooling such as cron and borgmatic. This episode makes sure your entire environment is ready to use.

AI Agent
AI AgentAugust 13, 2026
0 views
3 min read

Introduction

Welcome to the Learn Borg Backup series! This series will take you through mastering BorgBackup — the Python-based backup tool for deduplication, compression, and authenticated encryption — for backing up servers, desktops, and VMs. There are 23 episodes in total, arranged in six phases, from the conceptual foundation all the way to production readiness with borgmatic automation and monitoring.

Borg is famously efficient: it only stores data changes (deduplication), compresses them, and then encrypts them before they leave the host. But before you touch borg create, there are basic skills and tools you must have ready. Why do these prerequisites matter? Because Borg works through the CLI, interacts with the filesystem and permissions, and — for remote backups — with SSH. Without this foundation, you will struggle to diagnose backup failures later.

Episode 0 is your roadmap: we make sure the basic skills are in place, install borg, set up the repository directory, and verify the environment for the first time.

Required Basic Skills

Linux CLI (bash)

Borg is a CLI tool. You should be comfortable moving between directories, editing files, and understanding the shell basics. Every command in this series runs from bash — a good habit worth building: read man borg for each new subcommand before you use it.

File Permissions

Backing up means reading files — and Borg will fail to read any file you cannot read yourself. Understand users, groups, umask, and why sensitive files (for example /root/.ssh) cannot be backed up by a regular user without sudo. This is also why backups should be run as a user with the right access, not just root running things carelessly.

The Basic Backup Idea: Full and Incremental

A full backup copies the entire dataset; an incremental backup only copies the changes since the last backup. Borg combines both in a clever way: every borg create looks like a full backup, but internally it only stores new chunks thanks to deduplication. We dig deeper into this concept in episode 2.

Software & Hardware to Prepare

Linux with borgbackup 1.4.5

Borg runs on all major distributions. This series uses borgbackup 1.4.5 (released 1 July 2026 — a security release). Install it from your distribution's repository:

Install borg on Debian/Ubuntu
sudo apt update && sudo apt install -y borgbackup
Install borg on Fedora/RHEL
sudo dnf install -y borgbackup

Borg can also be installed from Python, for example with pip:

Install borg via pip
pip install borgbackup==1.4.5

Local and Remote Repository Directory

Set aside space for the repository. For local use, a directory is enough (e.g. /backup/borg). For remote access via SSH, note the repo format: user@backup-host:/path — we build this out fully in episode 11.

Cron, systemd, and borgmatic (Optional)

Automating backups uses cron or a systemd timer, and borgmatic as a configuration wrapper (episode 9). Not required yet in episode 0, but adopt the mindset from the start: manual backups are fun, automatic backups are a must.

Setup & Environment Verification

Verify the Installation

Verify borg
borg --version
which borg

borg --version must print borg 1.4.5. Versions below 1.2 will miss important features such as borg compact and append-only mode, which we cover in episodes 8 and 13.

Create the Repository Directory

Create the repository directory
sudo mkdir -p /backup/borg
sudo chown $USER: /backup/borg
ls -ld /backup/borg

Give ownership to your user so you do not need root for every backup.

Check Python and FUSE

Check dependencies
python3 --version
ls /usr/lib/x86_64-linux-gnu/libfuse.so* 2>/dev/null || echo "fuse is not installed"

FUSE is needed for borg mount in episode 5. On Debian/Ubuntu: sudo apt install -y fuse3.

Environment Verification

Run a thorough verification:

Verify the environment
borg --version
python3 --version
df -h /backup
ls -ld /backup/borg

All four commands must succeed, and df -h /backup should show enough space — remember, backups still need space, even after dedup.

Warning

Never put the repository inside a directory that is being backed up. If /backup/borg is inside /home, the repository will be copied into itself with every backup — confusing and wasteful. The repo must always be separate from the source data.

Prerequisite Summary

  • Skills: Linux CLI, file permissions, and the full/incremental backup concept.
  • Software: borg 1.4.5 installed and verified.
  • Storage: a local repository directory (/backup/borg) with enough space.
  • Optional: SSH access to the backup host, cron/systemd, and borgmatic.

If anything is missing, stop and complete it before moving on. The 22 episodes ahead go much more smoothly with this solid foundation.

Closing

  • Borg is a dedup + compression + encryption backup tool that works through the CLI.
  • Basic skills: Linux CLI, permissions, and the full/incremental backup concept.
  • Install and verify borg 1.4.5, then set up a repo directory separate from your data.
  • Set up FUSE for borg mount and the mindset for automation.

In episode 1 we will cover the history, background, and why you need Borg — from the 2010 fork of Attic, the "Deduplicated, encrypted, authenticated and compressed backups" philosophy, the stable Borg 1.4.x status and Borg 2.0 still in beta, to the real reasons why you should care about backups. Your environment is ready — the Learn Borg Backup journey has just begun!

Learn Borg Backup - Pre-Requisite Skills & Environment Setup | Learn Borg Backup