virtualisierung:proxmox:pom_repo
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| virtualisierung:proxmox:pom_repo [2025/07/10 14:05] – [Debian 12 Repo - Main] stone | virtualisierung:proxmox:pom_repo [2025/09/01 14:22] (current) – [Sync Script] stone | ||
|---|---|---|---|
| Line 13: | Line 13: | ||
| < | < | ||
| proxmox-offline-mirror config mirror add \ | proxmox-offline-mirror config mirror add \ | ||
| - | | + | --id pve-8-non-sub \ |
| - | --architectures amd64 \ | + | |
| - | --architectures all \ | + | |
| - | --repository 'deb http:// | + | |
| - | --key-path / | + | |
| - | --sync true \ | + | |
| - | --verify true \ | + | |
| - | --base-dir /opt/pom | + | |
| </ | </ | ||
| \\ | \\ | ||
| Line 28: | Line 28: | ||
| < | < | ||
| proxmox-offline-mirror config mirror add \ | proxmox-offline-mirror config mirror add \ | ||
| - | | + | --id debian-12-main \ |
| - | --architectures amd64 \ | + | |
| - | --architectures all \ | + | |
| - | --repository 'deb http:// | + | |
| - | --key-path / | + | |
| - | --sync true \ | + | |
| - | --verify true \ | + | |
| - | --base-dir /opt/pom \ | + | |
| - | --skip-sections games \ | + | |
| - | --skip-sections x11 \ | + | |
| - | | + | |
| - | --skip-sections doc \ | + | |
| - | | + | |
| - | --skip-sections video \ | + | |
| - | --skip-sections sound \ | + | |
| - | --skip-sections hamradio \ | + | |
| - | --skip-sections tex \ | + | |
| - | --skip-packages .*desktop \ | + | |
| - | --skip-packages gnome.* \ | + | |
| - | --skip-packages .*gnome.* \ | + | |
| - | --skip-packages gnome \ | + | |
| - | --skip-packages gnome3 \ | + | |
| - | --skip-packages gnome-shell.* \ | + | |
| - | --skip-packages gnome-themes.* \ | + | |
| - | --skip-packages gnome-session.* \ | + | |
| - | --skip-packages gnome-control.* \ | + | |
| - | --skip-packages gnome-panel.* \ | + | |
| - | --skip-packages gnome-terminal.* \ | + | |
| - | --skip-packages gnome-settings.* \ | + | |
| - | --skip-packages gnome-online.* \ | + | |
| - | --skip-packages gnome-keyring.* \ | + | |
| - | --skip-packages libgnome.* \ | + | |
| - | --skip-packages kde.* \ | + | |
| - | --skip-packages .*kde.* \ | + | |
| - | --skip-packages plasma.* \ | + | |
| - | --skip-packages lxde.* \ | + | |
| - | --skip-packages xfce.* \ | + | |
| - | --skip-packages mate.* \ | + | |
| - | --skip-packages cinnamon.* \ | + | |
| - | --skip-packages xserver.* \ | + | |
| - | --skip-packages xorg.* \ | + | |
| - | --skip-packages wayland.* \ | + | |
| - | --skip-packages fonts-.* \ | + | |
| - | --skip-packages xfonts.* \ | + | |
| - | --skip-packages themes.* \ | + | |
| - | --skip-packages qt.* \ | + | |
| - | --skip-packages libqt.* \ | + | |
| - | --skip-packages libgtk.* \ | + | |
| - | --skip-packages gtk.* \ | + | |
| - | --skip-packages sddm.* \ | + | |
| - | --skip-packages gdm.* \ | + | |
| - | --skip-packages lightdm.* \ | + | |
| - | --skip-packages dconf.* \ | + | |
| - | --skip-packages ffmpeg.* \ | + | |
| - | --skip-packages vlc.* \ | + | |
| - | --skip-packages libreoffice.* \ | + | |
| - | --skip-packages gimp.* \ | + | |
| - | --skip-packages gedit.* \ | + | |
| - | --skip-packages xterm.* \ | + | |
| - | --skip-packages evince.* \ | + | |
| - | --skip-packages nautilus.* \ | + | |
| - | --skip-packages pulseaudio.* \ | + | |
| - | --skip-packages pipewire.* \ | + | |
| - | --skip-packages alsa.* \ | + | |
| - | --skip-packages jack.* \ | + | |
| - | --skip-packages sound.* \ | + | |
| - | --skip-packages media.* \ | + | |
| - | --skip-packages cups.* \ | + | |
| - | --skip-packages printer.* \ | + | |
| - | --skip-packages poppler.* \ | + | |
| - | --skip-packages abiword.* \ | + | |
| - | --skip-packages gnumeric.* \ | + | |
| - | --skip-packages hunspell.* \ | + | |
| - | --skip-packages aspell.* \ | + | |
| - | --skip-packages ibus.* \ | + | |
| - | --skip-packages uim.* \ | + | |
| - | --skip-packages caribou.* \ | + | |
| - | --skip-packages onboard.* \ | + | |
| - | --skip-packages at-spi.* \ | + | |
| - | --skip-packages speech-dispatcher.* \ | + | |
| - | --skip-packages modemmanager.* \ | + | |
| - | | + | |
| - | | + | |
| - | --skip-packages wpa.* \ | + | |
| - | --skip-packages ppp \ | + | |
| - | --skip-packages nodejs.* \ | + | |
| - | --skip-packages npm.* \ | + | |
| - | --skip-packages ruby.* | + | |
| - | --skip-packages python2.* \ | + | |
| - | --skip-packages avahi.* \ | + | |
| - | --skip-packages rpcbind \ | + | |
| - | --skip-packages nfs-kernel-server | + | |
| </ | </ | ||
| \\ | \\ | ||
| Line 128: | Line 121: | ||
| < | < | ||
| proxmox-offline-mirror config mirror add \ | proxmox-offline-mirror config mirror add \ | ||
| - | | + | --id debian-12-updates \ |
| - | --architectures amd64 --architectures all \ | + | |
| - | --repository 'deb http://deb.debian.org/debian bookworm-updates main contrib non-free' | + | |
| - | --key-path / | + | |
| - | --sync true --verify true \ | + | |
| - | --skip-sections games,x11,debug,doc,graphics,video,sound,hamradio,tex \ | + | --base-dir /opt/pom \ |
| - | --skip-packages | + | --skip-sections games \ |
| - | --base-dir /opt/pom | + | |
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | --skip-packages .*gnome.* | ||
| + | | ||
| + | | ||
| + | | ||
| + | --skip-packages gnome-themes.* \ | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | --skip-packages plasma.* \ | ||
| + | --skip-packages lxde.* \ | ||
| + | | ||
| + | --skip-packages mate.* \ | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | --skip-packages gimp.* \ | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | --skip-packages aspell.* \ | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | --skip-packages npm.* \ | ||
| + | --skip-packages ruby.* | ||
| </ | </ | ||
| Line 144: | Line 212: | ||
| < | < | ||
| proxmox-offline-mirror config mirror add \ | proxmox-offline-mirror config mirror add \ | ||
| - | | + | --id debian-12-security \ |
| - | --architectures amd64 --architectures all \ | + | |
| - | --repository 'deb http:// | + | |
| - | --key-path / | + | |
| - | --sync true --verify true \ | + | |
| - | --skip-sections games,x11,debug,doc,graphics,video,sound,hamradio,tex \ | + | --base-dir /opt/pom \ |
| - | --skip-packages | + | --skip-sections games \ |
| - | --base-dir /opt/pom | + | |
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | --skip-packages .*gnome.* | ||
| + | | ||
| + | | ||
| + | | ||
| + | --skip-packages gnome-themes.* \ | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | --skip-packages plasma.* \ | ||
| + | --skip-packages lxde.* \ | ||
| + | | ||
| + | --skip-packages mate.* \ | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | --skip-packages gimp.* \ | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | --skip-packages aspell.* \ | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | --skip-packages npm.* \ | ||
| + | --skip-packages ruby.* | ||
| </ | </ | ||
| Line 196: | Line 339: | ||
| - | ===== Medium für Clients konfigurieren | + | ===== NGINX vorbereiten |
| - | Damit die Clients dann auch auf die Daten zugreifen | + | Damit die Repos abgeholt werden |
| - | ==== Anlegen eines Mediums ==== | ||
| < | < | ||
| - | proxmox-offline-mirror config media add \ | + | apt install nginx |
| - | --id repo_debian-12 \ | + | |
| - | --mirrors debian-12 \ | + | |
| - | --mirrors debian-12-update \ | + | |
| - | --mirrors debian-12-security \ | + | |
| - | --sync true --verify true \ | + | |
| - | --mountpoint / | + | |
| </ | </ | ||
| + | \\ | ||
| + | |||
| + | ==== NGINX Config ==== | ||
| + | / | ||
| + | |||
| + | < | ||
| + | root / | ||
| + | |||
| + | location / { | ||
| + | try_files $uri $uri/ =404; | ||
| + | autoindex on; | ||
| + | autoindex_exact_size off; | ||
| + | autoindex_localtime on; | ||
| + | gzip off; | ||
| + | add_header Cache-Control no-cache; | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | \\ | ||
| + | |||
| + | ===== Sync Script ===== | ||
| + | Dieses Script synct die Repos und verlinkt den aktuellen Snapshot zum NGINX. | ||
| + | |||
| + | < | ||
| + | #!/bin/bash | ||
| + | |||
| + | ##################### | ||
| + | ### Configuration ### | ||
| + | ##################### | ||
| + | BASE_DIR="/ | ||
| + | WEB_DIR="/ | ||
| + | REPOS=(" | ||
| + | SYMLINK_NAMES=(" | ||
| + | KEEP_SNAPSHOTS=3 | ||
| + | |||
| + | |||
| + | |||
| + | ############## | ||
| + | ### Colors ### | ||
| + | ############## | ||
| + | RED=' | ||
| + | GREEN=' | ||
| + | NC=' | ||
| + | |||
| + | echo_info() { | ||
| + | echo -e " | ||
| + | } | ||
| + | |||
| + | echo_error() { | ||
| + | echo -e " | ||
| + | } | ||
| + | |||
| + | |||
| + | |||
| + | ######################## | ||
| + | ### Sync all mirrors ### | ||
| + | ######################## | ||
| + | echo_info " | ||
| + | if ! proxmox-offline-mirror mirror snapshot create-all; then | ||
| + | echo_error " | ||
| + | exit 1 | ||
| + | fi | ||
| + | |||
| + | |||
| + | |||
| + | ########################################### | ||
| + | ### Remove existing symlinks in WEB_DIR ### | ||
| + | ########################################### | ||
| + | echo_info " | ||
| + | for link in " | ||
| + | if [[ -L " | ||
| + | rm -rf " | ||
| + | echo_error " | ||
| + | exit 1 | ||
| + | } | ||
| + | fi | ||
| + | done | ||
| + | |||
| + | |||
| + | |||
| + | ################################################## | ||
| + | ### Create new symlinks to the latest snapshot ### | ||
| + | ################################################## | ||
| + | echo_info " | ||
| + | for i in " | ||
| + | REPO=" | ||
| + | LINK_NAME=" | ||
| + | SNAPSHOT_DIR=" | ||
| + | |||
| + | if [[ ! -d " | ||
| + | echo_error " | ||
| + | continue | ||
| + | fi | ||
| + | |||
| + | # Find latest snapshot (sorted lexically, newest last) | ||
| + | LATEST_SNAPSHOT=$(ls -1 " | ||
| + | |||
| + | if [[ -z " | ||
| + | echo_error "No snapshots found for $REPO." | ||
| + | continue | ||
| + | fi | ||
| + | |||
| + | SNAPSHOT_PATH=" | ||
| + | |||
| + | if [[ ! -d " | ||
| + | echo_error " | ||
| + | continue | ||
| + | fi | ||
| + | |||
| + | ln -s " | ||
| + | echo_error " | ||
| + | exit 1 | ||
| + | } | ||
| + | echo_info " | ||
| + | done | ||
| + | |||
| + | |||
| + | |||
| + | ############################ | ||
| + | ### Delete old snapshots ### | ||
| + | ############################ | ||
| + | echo_info " | ||
| + | for REPO in " | ||
| + | SNAPSHOT_LIST=$(proxmox-offline-mirror mirror snapshot list " | ||
| + | |||
| + | TOTAL=$(echo " | ||
| + | |||
| + | if (( TOTAL > KEEP_SNAPSHOTS )); then | ||
| + | TO_DELETE=$(echo " | ||
| + | while read -r SNAP_ID; do | ||
| + | if [[ -n " | ||
| + | echo_info " | ||
| + | proxmox-offline-mirror mirror snapshot remove " | ||
| + | echo_error " | ||
| + | } | ||
| + | fi | ||
| + | done <<< | ||
| + | else | ||
| + | echo_info "No old snapshots to delete for $REPO." | ||
| + | fi | ||
| + | done | ||
| + | |||
| + | |||
| + | |||
| + | ########################## | ||
| + | ### Garbage collection ### | ||
| + | ########################## | ||
| + | echo_info " | ||
| + | if ! proxmox-offline-mirror mirror gc; then | ||
| + | echo_error " | ||
| + | exit 1 | ||
| + | fi | ||
| + | |||
| + | echo_info " | ||
| + | exit 0 | ||
| + | </ | ||
| + | \\ | ||
| + | |||
| + | |||
| + | |||
| + | |||
virtualisierung/proxmox/pom_repo.1752156335.txt.gz · Last modified: by stone
