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)
- A Debian or Ubuntu system (any box with internet)
-
The target system version:
- Proxmox 8 → Debian 12 (bookworm)
- Proxmox 7 → Debian 11 (bullseye)
-
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 8000Now 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 mainThen 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
screenfetchorneofetchfor 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
.debrepo -
Includes all dependencies for
nfs-kernel-server -
Transferable to
virtua7with 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. 🧰