dieses Script erstellt einen Spiegel von Debian und beinhaltet bullseye und bookworm
das Script versteht sich mit etwas Grundwissen fast von selbst, es kann leicht auf andere Spiegelserver oder Repository und Distribution angepasst werden
erforderlich
apt install debmirror gnupg xz-utils rsync
je nach Repository und Distribution müssen noch die GPG key installiert werden
je nach Spiegelserver können im Bereich “zusätzliche optionen” Verbindungsmöglichkeiten ausgesucht werden
am ende der Zeile einfach die passende Option anpassen
debmirror $DEB_MIRROR --host=$DEB_HOST --arch=$DEB_ARCH --dist=$DEB_DIST --root=$DEB_ROOT --section=$DEB_SECT $DEB_OPT
debmirror-debian.sh
#!/bin/sh
logrotate --force /etc/logrotate.d/debmirror-debian
# anfang konfiguration debmirror
#
# gibt das log verzeichniss an
LOG0=/var/log/debmirror/_00_debmirror-single.log
LOG1=/var/log/debmirror/_01_debian.org.log
# gibt das lokale spiegelverzeichnis an
DEB_MIRROR=/var/www/debian/
# server von dem gespiegelt werden soll
DEB_HOST=ftp.de.debian.org
# verzeichnis des server von dem gespiegelt wird
DEB_ROOT=:debian/
# distribution (wheezy,sarge,sid ...)
DEB_DIST=bullseye,bullseye-updates,bullseye-backports,bookworm,bookworm-updates,bookworm-backports
# section die gespiegelt wird
DEB_SECT=main,contrib,non-free
# architektur
DEB_ARCH=i386,amd64,armhf
# zusätzliche optionen (man debmirror)
# --debug --progress --verbose --ignore-missing-release --ignore=debian-non-US --i18n --checksums
DEB_OPT="--method=rsync --passive --nosource --i18n --checksums --progress --diff=none"
DEB_OPT2="-v --method=ftp --passive --nosource --i18n --checksums --progress --diff=none"
DEB_OPT3="-v --method=http --passive --nosource --i18n --checksums --progress --diff=none"
DEB_OPT4="-v --method=http --passive --nosource --i18n --allow-dist-rename --checksums --progress --diff=none"
DEB_OPT5="-v --method=http --passive --nosource --i18n --ignore-small-errors --checksums --progress --diff=none"
# anzeigen der nachricht
MESG=on
(
if [ $MESG = on ]
then
echo ""
echo "--- `/bin/date` --- debmirror Aktualisierung..."
echo ""
fi
(
# Debian Spiegel
if [ $MESG = on ]
then
echo "`/bin/date` Debian Aktualisieren..."
fi
debmirror $DEB_MIRROR --host=$DEB_HOST --arch=$DEB_ARCH --dist=$DEB_DIST --root=$DEB_ROOT --section=$DEB_SECT $DEB_OPT
if [ $MESG = on ]
then
echo "`/bin/date` Debian Aktualisierung fertig."
echo ""
fi
) 2>&1 | tee $LOG1 >/dev/null
#
# ende konfiguration
if [ $MESG = on ]
then
echo "--- `/bin/date` --- debmirror Aktualisierung fertig."
echo ""
fi
) | tee $LOG0 >/dev/null 2>&1 &
exit
/etc/logrotate.d/debmirror-debian
/var/log/debmirror/_01_debian.org.log {
yearly
missingok
nocompress
notifempty
rotate 10
create 640 root adm
}