← ProjectsPortable multi-distro repository mirror

OFFLINEREPO

A config-driven repository mirroring system for carrying APT, RPM, and APK ecosystems across disconnected boundaries and serving them locally with preserved package-management workflows.

APT + RPM + APKAir-gap portable stateSigned local publishing

Problem

Air-gapped and disconnected Linux environments still need ordinary package management, but copying arbitrary package files does not preserve dependency resolution, repository metadata, signing, or repeatable synchronization across distributions.

Constraints

  • Support Debian, Ubuntu, Kali, Proxmox, Fedora, Rocky, RHEL-family repositories, Alpine, and optional NVIDIA CUDA content.
  • Keep repository state portable enough for removable media and incremental resynchronization.
  • Preserve native APT, RPM, and APK consumption patterns instead of replacing them with ad hoc installation scripts.
  • Make signing keys, snapshots, architectures, and enabled repositories explicit configuration rather than hidden operator state.

Architecture

  1. 01

    Config-driven sync paths separate APT, RPM, and APK repository families while sharing a portable repository root and retained state.

  2. 02

    Containerized tooling provides repeatable mirror environments without forcing every distribution-specific package utility onto the host.

  3. 03

    Published repository trees can be copied or synchronized into the disconnected environment and served by a simple local web server.

  4. 04

    Repository signing and snapshot retention preserve trust and rollback semantics after transport across the air gap.

Failures / lessons

  • Offline package delivery should preserve the package manager as the control plane instead of bypassing it.
  • Repository signing proves publication identity and metadata integrity; it is not redundant with upstream package signatures.
  • Multi-distribution support is cleaner when ecosystem-specific tooling shares one transport and state model rather than one giant abstraction.
maydit://command↑↓ history · TAB complete · ESC close

MAY'D IT command interface v0.2.1

Type help for commands. Try play fragment.