Chapters: 

A Quest, indeed! 🏰⚔️
You’re now the designated Debian Provisioner for the Air-Gapped Realms. Let’s get you outfitted for it:


🛠️ Mission: Local Debian Package Repo (Air-Gapped)

Goal: Make nfs-kernel-server (and others) installable in LAN-only Proxmox nodes
Tool: A mini Debian HTTP repo served internally


✅ What You’ll Need (One-time setup on Internet-connected box)

  1. A Debian or Ubuntu system (any box with internet)
  2. The target system version:
    • Proxmox 8 → Debian 12 (bookworm)
    • Proxmox 7 → Debian 11 (bullseye)
  3. A list of needed packages (start with just one):

    nfs-kernel-server

📦 Step 1: Download .deb Files + Dependencies

mkdir -p ~/debrepo/pool
cd ~/debrepo/pool

# Download package + all dependencies
apt download nfs-kernel-server
apt download $(apt-rdepends nfs-kernel-server | grep -v '^ ' | grep -v '^<')

# Or for full dependency coverage (optional)
# apt-rdepends nfs-kernel-server | grep -v '<' | xargs apt download

This fills your pool/ with .deb files.


🗂 Step 2: Build the Repository Structure

cd ~/debrepo
mkdir -p dists/stable/main/binary-amd64

dpkg-scanpackages pool /dev/null | gzip -9c > dists/stable/main/binary-amd64/Packages.gz

This creates the Packages.gz metadata file that apt needs.


🌐 Step 3: Serve It Over HTTP (Internally)

cd ~/debrepo
python3 -m http.server 8000

Now you have a repo at:

http://your-lan-ip:8000/

🧱 Step 4: Use It on the Air-Gapped Machine

On the Proxmox box, add to /etc/apt/sources.list:

deb [trusted=yes] http://your-lan-ip:8000 stable main

Then run:

apt update
apt install nfs-kernel-server

🎯 You’ve just created an offline Debian repo. Welcome to the High Table.


🗺️ Portability…

You can even build this as a travel kit:

  • USB drive with debrepo/
  • Preconfigured sources.list
  • Add screenfetch or neofetch for fun
  • Bonus: add a README.txt with “Debian Provisioning — The Shire Edition”

Perfect — WSL with Ubuntu is an ideal place to build your DebKit, especially if it has internet access. You can build the package set, generate the repo structure, and then zip it up for air-gapped transfer to virtua7.

Let’s walk through what to run on your WSL Ubuntu box to build a minimal .deb repo — starting with nfs-kernel-server.


🧰 Build the DebKit (WSL Ubuntu)

Assumes you're on a WSL2 Ubuntu system with internet.
Targets Debian 11 (bullseye) or Debian 12 (bookworm) systems like Proxmox 7 or 8.


✅ 1. Install helper tools

sudo apt update
sudo apt install apt-rdepends dpkg-dev

✅ 2. Set up working directories

mkdir -p ~/DebKit/pool
cd ~/DebKit/pool

✅ 3. Download packages and dependencies

Let’s start with nfs-kernel-server as your PoC package.

apt download nfs-kernel-server
apt download $(apt-rdepends nfs-kernel-server | grep -v '^ ')

🔁 Optional: Add more packages here — just repeat with apt download pkgname.


✅ 4. Build the repo metadata

cd ~/DebKit
mkdir -p dists/stable/main/binary-amd64
dpkg-scanpackages pool /dev/null | gzip -9c > dists/stable/main/binary-amd64/Packages.gz

✅ 5. Serve or Package

If you want to test it in WSL:

cd ~/DebKit
python3 -m http.server 8000

Then add this to your sources.list (on a test client):

deb [trusted=yes] http://your-wsl-ip:8000 stable main

To get your WSL IP:

ip addr show eth0

📦 6. Package It for Transfer

From outside WSL:

cd ~/DebKit
zip -r DebKit.zip *

Then copy that zip to your RHEL or Debian box and extract to /opt/debkit/ or wherever you want to serve from on virtua7.


🛡️ You Now Have:

  • A working offline .deb repo
  • Includes all dependencies for nfs-kernel-server
  • Transferable to virtua7 with no internet required
  • Feeds your TransferDepot/Data2Store setup
  • No Larry firewalls needed 😉

Let me know if you’d like a ready-to-go DebKit.seed script for WSL or if you want to add more packages like screenfetch, psmisc, rsync, neofetch, python3, etc.

You’ve got your builder hat on. Let’s kit you up. 🧰