Proxmox Offline Mirror released!

I use a directory "latest" with symbolic links to last snapshot, and it seems to be OK :

Code:
lrwxrwxrwx  1 root root   75 Nov 21 06:00 pve_bookworm -> /var/lib/proxmox-offline-mirror/mirrors//pve_bookworm/2024-11-21T05:00:02Z/

So, it's linked to the last snapshot, freshly updated.
 
maybe compare the local Packages file in /var/lib/apt/lists to those on the medium and mirror? there must be some place where a wrong turn is taken ;)
 
Thanks for this tool, just started to use it. For those who want to reduce the mirror size - this command helped me finding all sections (with package count):
Code:
# wget -qO- http://download.proxmox.com/debian/pve/dists/bookworm/pve-no-subscription/binary-amd64/Packages.gz | zcat | grep '^Section:' | sort | uniq -c | sort -nr
    718 Section: admin
    445 Section: debug
    242 Section: perl
    167 Section: devel
    135 Section: contrib/debug
     75 Section: contrib/libs
     62 Section: misc
     60 Section: contrib/admin
     38 Section: web
     33 Section: libs
     33 Section: libdevel
     30 Section: doc
     22 Section: net
     15 Section: contrib/python
     15 Section: contrib/metapackages
     15 Section: contrib/libdevel
     15 Section: contrib/kernel
     15 Section: contrib/doc
     11 Section: rust
     11 Section: oldlibs
     10 Section: utils
      4 Section: otherosfs
      2 Section: non-free/kernel
      1 Section: x11
      1 Section: python
      1 Section: introspection
      1 Section: fonts
 
Last edited:
Looking for some advice on a workflow to get the snapshots from a windows-based system hosting a WSL Debain instance to a network share using another windows system; air gapped between the connected and disconnected system.

Everything works from pulling the snapshot; mounting an external drive directly in the wsl instance and setting up the medium and transferring the data. The issue seems to be the colon in the snapshot names. I can't figure out a way to get past this as the system used to get this to a network share on the dest side is also windows; without WSL, which isn't possible on the dest side. It looks like when the copy is done from wsl to drive, the colons are replaced with a dot....or a square?
Screenshot 2025-05-12 090155.png

I've tried creating shares of different types; samba, cifs, nfs and they all don't seem to accept the folder. Though the data is copied, the snapshot folder seem to be endless hidden. Even ssh'ing into the nas (Debian based I believe) is unable to see the folder. Something really odd occurs with the folder name encoding, I guess.

Anyone have any advice?

Probably a dumb question; but what is the driving factor for using a colon in the time component? Is it just because that the standard time notation or something more specific? Would using an underscore cause issues?
 
the base Trixie ones, and a suitable one for PVE 9.0 based on Trixie (pvetest is now called pve-test, the rest is the same compared to PVE 8, just with trixie instead of bookworm)
 
Has anybody achieved to create a trixie-security repository with POM?

debian main, update, pbs and pve work fine, debian security however just skips all the packages:

Code:
root@auto:~# proxmox-offline-mirror mirror snapshot create debian-trixie-security
Fetching Release/Release.gpg files
-> GET 'http://security.debian.org/debian-security/dists/trixie-security/Release.gpg'..
-> GET 'http://security.debian.org/debian-security/dists/trixie-security/Release'..
Verifying 'Release(.gpg)' signature using provided repository key..
Success
Parsing Release..
'Release' file has 372 referenced files..
Fetching InRelease file
-> GET 'http://security.debian.org/debian-security/dists/trixie-security/InRelease'..
Verifying 'InRelease' signature using provided repository key..
41758 bytes verified
Success
Parsing InRelease..
'InRelease' file has 372 referenced files..
Skipping non-free-firmware/debian-installer/binary-armel/Packages
Skipping contrib/debian-installer/binary-i386/Packages
Skipping non-free-firmware/binary-armhf/Release
Skipping main/debian-installer/binary-arm64/Packages
Skipping non-free/binary-armhf/Release
Skipping non-free-firmware/source/Sources
Skipping contrib/debian-installer/binary-s390x/Release
Skipping non-free-firmware/binary-all/Packages
.
.
.
Skipping main/Contents-udeb-i386.gz
Skipping non-free-firmware/Contents-udeb-arm64
Skipping non-free-firmware/debian-installer/binary-s390x/Packages
Skipping contrib/debian-installer/binary-riscv64/Packages.xz
Skipping contrib/debian-installer/binary-riscv64/Packages
Skipping non-free-firmware/debian-installer/binary-ppc64el/Packages
Skipping main/binary-i386/Packages.xz
Skipping contrib/Contents-armhf

Total indices count: 0
Total indices size: 0
Skipped 372 references

Total deb size: 0

Stats: 2 new files (86769b), re-used 0 existing files (0.00% re-used)..

Rotating temp. snapshot in-place: "2025-08-12T11:25:01Z.tmp" -> "2025-08-12T11:25:01Z"
root@auto:~#


/etc/proxmox-offline-mirror.cfg:

Code:
mirror: debian-bookworm-security
        architectures amd64
        architectures all
        base-dir /var/lib/proxmox-offline-mirror/mirrors
        ignore-errors false
        key-path /usr/share/keyrings/debian-archive-bookworm-security-automatic.gpg
        repository deb http://deb.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
        skip-sections games
        skip-sections debug
        skip-sections graphics
        skip-sections GNOME
        skip-sections KDE
        sync true
        verify true

mirror: debian-trixie-security
        architectures amd64
        architectures all
        base-dir /var/lib/proxmox-offline-mirror/mirrors
        ignore-errors false
        key-path /usr/share/keyrings/debian-archive-trixie-security-automatic.gpg
        repository deb http://security.debian.org/debian-security trixie-security main contrib non-free non-free-firmware
        skip-sections games
        skip-sections debug
        skip-sections graphics
        skip-sections GNOME
        skip-sections KDE
        sync true
        verify true


No matter if I chose deb.debian.org or security.debian.org, no matter if I skip nothing or what's stated in the config - no files are being downloaded.
I'd be super grateful to get any hints - thank you!
 
the base Trixie ones, and a suitable one for PVE 9.0 based on Trixie (pvetest is now called pve-test, the rest is the same compared to PVE 8, just with trixie instead of bookworm)
root@proxmox-mirror:/home/rootuser# proxmox-offline-mirror mirror snapshot create pve_trixie_no_subscription
Fetching Release/Release.gpg files
-> GET 'http://download.proxmox.com/debian/pve/dists/trixie/Release.gpg'..
-> GET 'http://download.proxmox.com/debian/pve/dists/trixie/Release'..
Verifying 'Release(.gpg)' signature using provided repository key..

Missing key: 24B30F06ECC1836A4E5EFECBA7BCD1420BFE778E

What am I doing wrong?
 
you need to provide it with the proxmox-release-trixie.gpg key..
 
Has anybody achieved to create a trixie-security repository with POM?

debian main, update, pbs and pve work fine, debian security however just skips all the packages:

Code:
root@auto:~# proxmox-offline-mirror mirror snapshot create debian-trixie-security
Fetching Release/Release.gpg files
-> GET 'http://security.debian.org/debian-security/dists/trixie-security/Release.gpg'..
-> GET 'http://security.debian.org/debian-security/dists/trixie-security/Release'..
Verifying 'Release(.gpg)' signature using provided repository key..
Success
Parsing Release..
'Release' file has 372 referenced files..
Fetching InRelease file
-> GET 'http://security.debian.org/debian-security/dists/trixie-security/InRelease'..
Verifying 'InRelease' signature using provided repository key..
41758 bytes verified
Success
Parsing InRelease..
'InRelease' file has 372 referenced files..
Skipping non-free-firmware/debian-installer/binary-armel/Packages
Skipping contrib/debian-installer/binary-i386/Packages
Skipping non-free-firmware/binary-armhf/Release
Skipping main/debian-installer/binary-arm64/Packages
Skipping non-free/binary-armhf/Release
Skipping non-free-firmware/source/Sources
Skipping contrib/debian-installer/binary-s390x/Release
Skipping non-free-firmware/binary-all/Packages
.
.
.
Skipping main/Contents-udeb-i386.gz
Skipping non-free-firmware/Contents-udeb-arm64
Skipping non-free-firmware/debian-installer/binary-s390x/Packages
Skipping contrib/debian-installer/binary-riscv64/Packages.xz
Skipping contrib/debian-installer/binary-riscv64/Packages
Skipping non-free-firmware/debian-installer/binary-ppc64el/Packages
Skipping main/binary-i386/Packages.xz
Skipping contrib/Contents-armhf

Total indices count: 0
Total indices size: 0
Skipped 372 references

Total deb size: 0

Stats: 2 new files (86769b), re-used 0 existing files (0.00% re-used)..

Rotating temp. snapshot in-place: "2025-08-12T11:25:01Z.tmp" -> "2025-08-12T11:25:01Z"
root@auto:~#


/etc/proxmox-offline-mirror.cfg:

Code:
mirror: debian-bookworm-security
        architectures amd64
        architectures all
        base-dir /var/lib/proxmox-offline-mirror/mirrors
        ignore-errors false
        key-path /usr/share/keyrings/debian-archive-bookworm-security-automatic.gpg
        repository deb http://deb.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
        skip-sections games
        skip-sections debug
        skip-sections graphics
        skip-sections GNOME
        skip-sections KDE
        sync true
        verify true

mirror: debian-trixie-security
        architectures amd64
        architectures all
        base-dir /var/lib/proxmox-offline-mirror/mirrors
        ignore-errors false
        key-path /usr/share/keyrings/debian-archive-trixie-security-automatic.gpg
        repository deb http://security.debian.org/debian-security trixie-security main contrib non-free non-free-firmware
        skip-sections games
        skip-sections debug
        skip-sections graphics
        skip-sections GNOME
        skip-sections KDE
        sync true
        verify true


No matter if I chose deb.debian.org or security.debian.org, no matter if I skip nothing or what's stated in the config - no files are being downloaded.
I'd be super grateful to get any hints - thank you!
it's a bug in our APT repo file parser! thanks for noticing
 
  • Like
Reactions: fl0moto
you also need to reference it in the config entry..
 
  • Like
Reactions: Kosh
Hi Fabian,

can you estimate when this will be fixed? And do I need to re-create the configuration once it was released?

Code:
mirror: trixie
        architectures all
        architectures amd64
        base-dir /srv/www/debian/.mirror
        ignore-errors false
        key-path /etc/apt/trusted.gpg.d/debian-archive-trixie-stable.asc
        repository deb http://ftp.de.debian.org/debian trixie main contrib non-free non-free-firmware
        sync true
        verify true

mirror: trixie-backports
        architectures all
        architectures amd64
        base-dir /srv/www/debian/.mirror
        ignore-errors false
        key-path /etc/apt/trusted.gpg.d/debian-archive-trixie-automatic.asc
        repository deb http://ftp.de.debian.org/debian trixie-backports main contrib non-free non-free-firmware
        sync true
        verify true

mirror: trixie-security
        architectures all
        architectures amd64
        base-dir /srv/www/debian/.mirror
        ignore-errors false
        key-path /etc/apt/trusted.gpg.d/debian-archive-trixie-security-automatic.asc
        repository deb http://security.debian.org trixie-security main contrib non-free non-free-firmware
        sync true
        verify true

mirror: trixie-updates
        architectures all
        architectures amd64
        base-dir /srv/www/debian/.mirror
        ignore-errors false
        key-path /etc/apt/trusted.gpg.d/debian-archive-trixie-automatic.asc
        repository deb http://ftp.de.debian.org/debian trixie-updates main contrib non-free non-free-firmware
        sync true
        verify true

Thanks!
 
Unfortunately, after adding TST repo, installing 0.7.1, the offered releases stick to Bookworm, Bullseye, Buster for all products.

Am i doing something wrong? Installed a fresh PBS, updated it with the test-repo, installed 0.7.1 but no trixie in the menu
 
Last edited: