5.12 Debian Spiegel (historische Beispiele)

[Anmerkung]Wichtiger Versionshinweis

Mehrere nachfolgende Mirror- und Repository-Beispiele enthalten historische Suites, Pfade und Optionen aus Debian Sarge/Woody. Sie dokumentieren damalige Verfahren und sind keine direkt ausführbare Konfiguration für Debian 13. Für neue Spiegel sind aktuelle Dokumentation und gepflegte Werkzeuge maßgeblich.

Aktuelle Alternative: Für einen öffentlichen Debian-Spiegel ist die offizielle Debian-Anleitung zur Einrichtung eines Archivspiegels maßgeblich. Sie beschreibt den aktuellen Ablauf mit ftpsync. Die nachfolgenden alten Beispiele sind nicht ungeprüft zu übernehmen.

Ein eigener Debian Spiegel (englisch „Mirror“), also eine lokale Kopie aller benötigten Dateien vom Debian-Archiv, kann für verschiedene Zwecke sinnvoll sein. Zunächst einmal hat man sofort Zugriff auf alle Dateien und kann diese installieren, ohne auf den Download der Dateien warten zu müssen. Natürlich ist auch die Aktualität der Software um einiges besser als bei der Installation von CD-ROMs. Für die Installation der Software auf mehreren Rechnern ist eine solche lokale Kopie ebenfalls die erste Wahl. Wenn, wie im nächsten Abschnitt beschrieben, eigene Debian CDs erstellt werden sollen, ist ein Spiegel unumgänglich.

Aufgrund des bereits großen Umfangs des Debian Archivs ist es nicht sinnvoll, eine komplette Kopie aller Dateien lokal vorzuhalten. Meist ist es ausreichend, lediglich die Binaries für die verwendete Architektur (beispielsweise i386) vorzuhalten. Die Sourcen der Pakete werden nur in seltenen Fällen benötigt und können bei Bedarf gezielt besorgt werden. Informationen zum Spiegeln eines Debian Servers finden Sie auch unter https://www.debian.org/mirror/ftpmirror.

5.12.1 debmirror (versionsabhängig)

[Anmerkung]Hinweis

Die hier gezeigten Optionen und Suite-Namen stammen aus einer älteren debmirror-Version und sind historische Referenz, keine unmittelbar ausführbare Anleitung. Aktuelle debmirror-Versionen unterstützen unter anderem HTTPS; prüfen Sie die lokale Manpage. Für öffentliche Debian-Spiegel empfiehlt das Debian-Projekt ftpsync mit rsync. Siehe offizielle Debian-Anleitung zur Spiegelsynchronisation.

Aktuelle Hinweise: debmirror kann für einen Teilspiegel geeignet sein. Prüfen Sie Optionen und unterstützte Archive anhand der Debian-13-Paketinformationen und der installierten Manpage. Für einen öffentlichen vollständigen Spiegel folgen Sie der offiziellen Debian-Spiegel-Anleitung.

Das Programm debmirror bietet eine sehr einfache Möglichkeit, ein Debian-Archiv - bei Bedarf auch nur in Teilen - lokal zu spiegeln. Das Programm steht als offizielles Debian Paket zur Verfügung.

debmirror benutzt keine Konfigurationsdatei; alle benötigten Parameter können auf der Kommandozeile angegeben werden. Sehr vorteilhaft ist bei diesem Skript, dass es speziell auf die Bedürfnisse von Debian angepasst wurde; so kann es beispielsweise mit Package-Pools problemlos umgehen. Das Package-Pool-Konzept wurde mit der Entwicklung von „woody“ eingeführt und erlaubt es, verschiedene Releases (testing, stable, unstable usw.) auf Basis der Daten innerhalb des Verzeichnisses pool/ zu verwalten. Weiterhin werden die benötigten Dateien auf Basis der Package-Dateien ermittelt; somit ist auch hier immer ein einheitlicher Stand sichergestellt.

Die Verwendung von debmirror ist ziemlich simpel. Wenn das Programm ohne weitere Parameter aufgerufen wird, bekommen Sie eine Übersicht der möglichen Parameter:

sushi:~# ./debmirror 
mirrordir not specified
Usage: ./debmirror mirrordir [--debug] [--progress] [--source|--nosource]
          [--md5sums|--nomd5sums] [--passive] [--host=remotehost]
          [--user=remoteusername]
          [--root=directory] [--dist=foo[,bar,..] ...]
          [--section=foo[,bar,..] ...] [--arch=foo[,bar,..] ...]
          [--cleanup|--nocleanup] [--skippackages] [--adddir=directory]
	  [--ignore=regex] [--getcontents] [--exclude=regex] [--help]

Als einziger Parameter ist „mirrordir“ zwingend erforderlich. Dieser beschreibt das lokale Verzeichnis, in dem der Debian Spiegel erzeugt werden soll. Wenn dieses Verzeichnis nicht vorhanden ist, so wird es erzeugt.

Folgendes Kommando erzeugt einen Debian Spiegel für die Architektur„i386“ im Verzeichnis /home/ftp/debian/; es werden die Versionen „potato“, „woody“ und „sid“ mit den Bereichen „main“, „contrib“ und „non-free“ kopiert. Als Server dient „ftp.debian.org“ (hier sollte auf alle Fälle ein gut erreichbarer Server benutzt werden). Es werden keine Sourcen übertragen, und das Verzeichnis „debian-non-US“ auf der lokalen Festplatte wird nicht angetastet (dazu gleich mehr). Weiterhin wird der Fortschritt laufend angezeigt.

debmirror -a i386 -s main -s contrib -s non-free \
 -h ftp.debian.org \
 -d woody -d potato -d sid \
 /home/ftp/debian \
 --nosource \
 --ignore=debian-non-US/ --progress

[Tipp]debmirror auf Sarge-Systemen

Mit dem Release von „Sarge“ können die Optionen für„non-US“ entfallen, die Pakete sind in den „main“-Zweig integriert worden.

Der frühere Non-US-Bereich wurde mit Debian 3.1 (Sarge) eingestellt. Der folgende Aufruf wird ausschließlich als historisches Beispiel aus der Zeit von Woody/Potato gezeigt und darf nicht für aktuelle Debian-Versionen übernommen werden:

debmirror -a i386 -h ftp.de.debian.org \
 -r /debian-non-US -s non-US/main,non-US/contrib,non-US/non-free \
 -d woody -d potato -d sid \
 /home/ftp/debian/debian-non-US --progress

Je nach Bandbreite Ihrer Internetverbindung steht Ihnen nach einiger Zeit ein lokaler Debian Spiegel zur Verfügung.

5.12.2 Partieller Spiegel (historisch)

[Anmerkung]Hinweis

Die folgenden Beispiele beziehen sich auf ein älteres Werkzeug und die damalige Archivstruktur. Verwenden Sie sie nicht unverändert für produktive Debian-13-Spiegel.

Aktuelle Alternative: Für einen Teilspiegel kann debmirror geeignet sein, wenn die gewünschten Suites, Komponenten und Architekturen unterstützt werden. Nutzen Sie die Paketinformationen für Debian 13 und die lokale Manpage. Ein Cache wie apt-cacher-ng ist kein Ersatz für einen selektiven Spiegel, sondern speichert angeforderte Pakete.

Im Folgenden wird das Erstellen eines partiellen Spiegels beschrieben. Bei einem partiellen Spiegel wird nur ein ausgewählter Teil von Paketen im lokalen Spiegel abgelegt. Wolfgang Borgert stellt auf seinen Webseiten einige Skripte vor, mit denen ein solcher Spiegel erzeugt werden kann. Dabei wird auf die Programme apt, apt-move und debootstrap (siehe apt-move Abschnitt 4.23, „Lokale Debian-Repositories: moderne Werkzeuge statt apt-move“ und debootstrapAbschnitt 4.59, „debootstrap“) zurückgegriffen. Die Abhängigkeiten aller in der Liste angegebenen Pakete werden dabei aufgelöst, so dass ein vollständig funktionsfähiger Spiegel entsteht. Durch die Verwendung von debootstrap wird das zugrunde liegende Basissystem nicht verändert, alle Dateien werden in einer chroot-Umgebung abgelegt.

In den folgenden Beispielen wird die chroot-Umgebung unter /var/local/chroot/ erzeugt, innerhalb dieses Verzeichnisses wird der Spiegel mit den Debian Paketen im Verzeichnis/var/local/mirrors/ angelegt. Der Spiegel wird über einen symbolischen Link aus der chroot-Umgebung heraus leichter zugänglich gemacht:

ln -s /var/local/chroot/var/local/mirrors/ /var/local/mirrors/

5.12.2.1 Erzeugen des Spiegels

Das folgende Skript dient zum Erzeugen des Spiegels. Es sollte als Datei create-mirror abgelegt werden.

#!/bin/sh
# generate a partial Debian mirror with debootstrap and apt-move
# 2004-02, W. Borgert <debacle@debian.org>
# Released under the terms of the GNU General Public License

# the root directory of the mirror system
CHROOT=/var/local/chroot
# the mirror directory inside of the chroot
MIRRORDIR=/var/local/mirrors/debian
# the Debian archive next to you
DEBIAN=https://deb.debian.org/debian

####

OUT=adduser,aptitude,apt-utils,at,base-config,bsdmainutils,\
console-common,console-data,console-tools,cpio,cron,debconf-i18n,\
dhcp-client,ed,exim4,exim4-base,exim4-config,exim4-daemon-light,\
fdutils,gettext-base,groff-base,ifupdown,info,ipchains,iptables,\
iputils-ping,klogd,libconsole,libgcrypt1,libgcrypt7,libgdbm3,\
libgnutls7,libgpg-error0,libident,liblocale-gettext-perl,\
liblockfile1,liblzo1,libnewt0.51,libopencdk8,libpcap0.7,libpcre3,\
libpopt0,libsigc++-1.2-5c102,libssl0.9.7,libtasn1-0,\
libtext-charwidth-perl,libtext-iconv-perl,libtext-wrapi18n-perl,\
libwrap0,lilo,logrotate,mailx,makedev,man-db,manpages,mbr,modconf,\
modutils,nano,netbase,netkit-inetd,net-tools,nvi,pciutils,ppp,\
pppconfig,pppoe,pppoeconf,procps,psmisc,setserial,slang1,sysklogd,\
syslinux,sysvinit,tasksel,tcpd,telnet,wget,whiptail

IN=apt-move,bc,bzip2,dash,debconf-english,libbz2-1.0,libpam0g,\
libreadline4

####

apt-get install debootstrap
mkdir $CHROOT
debootstrap --exclude="$OUT" --include="$IN" sarge $CHROOT $DEBIAN

Im Wesentlichen wird hier debootstrap eingesetzt, um ein minimales Debian System zu erzeugen. Dabei werden einige wenige Pakete hinzugefügt (über die Variable IN) und eine ganze Reihe Pakete nicht installiert, die normalerweise von debootstrap verwendet werden (Variable OUT). Dies führt zu einem Basissystem von lediglich circa 80 MByte Größe (bei Verwendung des Debian Release „Sarge“).

Dieses Skript wird nur einmalig - bei der ersten Initialisierung des Spiegels - benötigt.

Zunächst ist die Datei /var/local/chroot/etc/apt/sources.list anzupassen. Als erster Eintrag muss das lokale Verzeichnis erscheinen, weitere Einträge verweisen auf externe Debian Spiegel.

deb file:/var/local/mirrors/debian testing main
deb https://deb.debian.org/debian/ testing main

Nun sind noch einige Variablen in der Konfigurationsdatei von apt-move (/etc/apt-move.conf) anzupassen, insbesondere APTSITES, LOCALDIR, DIST, PKGCOMP und CONTENTS. Hier sehen Sie ein Beispiel:

APTSITES="deb.debian.org"
LOCALDIR=/var/local/mirrors/debian
DIST=testing
PKGCOMP="none gzip"
CONTENTS=yes

Nun können zunächst die Paketinformationen für den Spiegel aktualisiert werden; danach werden die (in der chroot-Umgebung) installierten Pakete geholt.

chroot /var/local/chroot apt-get update
chroot /var/local/chroot apt-move get

5.12.2.2 Verwaltung des Spiegels

Leider reicht eine Verzeichnisstruktur mit Debian Paketen nicht aus. Wir benötigen noch Packages- und Release-Dateien. Um Letztere zu erzeugen, dient folgendes Skript, das als make-release im Verzeichnis /var/local/chroot/root/ gespeichert wird.

#!/bin/sh
# generate Release files for a Debian mirror
# 2003-10, W. Borgert <debacle@debian.org>
# Released under the terms of the GNU General Public License

ORIGIN="Debian"
LABEL="Debian"
SUITE="testing"
CODENAME="sarge"
DESC="Debian Testing distribution - Not Released"
UNPACK=0
ARCHIVE=.

# long options not yet implemented
args=`getopt 'a:c:d:l:o:s:u' $*`
for o
    do case "$o" in
        -a | --arch*) ARCHIVE="$2"; shift; shift;;
        -c | --code*) CODENAME="$2"; shift; shift;;
        -d | --desc*) DESC="$2"; shift; shift;;
        -l | --label) LABEL="$2"; shift; shift;;
        -o | --orig*) ORIGIN="$2"; shift; shift;;
        -s | --suite) SUITE="$2"; shift; shift;;
        -u | --unpa*) UNPACK=1; shift;;
        --) shift; break;;
    esac
done

####

cd $ARCHIVE
DATE=`date -u`
if [ $UNPACK -eq 1 ]; then
    PACKAGGZ=`find . -name Packages.gz -o -name Sources.gz`
    for p in $PACKAGGZ; do
        gunzip -c $p > `dirname $p`/`basename $p .gz`
    done
fi

PACKAGES=`find . -name Packages -o -name Packages.gz -o \
    -name Sources -o -name Sources.gz`
DIRS=`for p in $PACKAGES; do dirname $p; done|sort -u`
COMPS=`for d in $DIRS; do echo $d | \
    sed 's,[^A-Za-z0-9-]*\([A-Za-z0-9-]*\)/.*,\1,'; done|sort -u`
ARCHS=`for d in $DIRS; do echo $d | \
    sed 's,.*binary-\([A-Za-z0-9-]*\),\1,'; done|sort -u`

for d in $DIRS; do
    cd $d
        ARCH=`echo $d | sed 's,.*binary-\([A-Za-z0-9-]*\),\1,'`
        COMP=`echo $d | \
            sed 's,[^A-Za-z0-9-]*\([A-Za-z0-9-]*\)/.*,\1,'`
        echo "Archive: $SUITE
Component: $COMP
Origin: $ORIGIN
Label: $LABEL
Architecture: $ARCH" > Release
    cd -
done

rm -f Release
MD5FILES=`find . -name Packages -o -name Packages.gz -o \
    -name Sources -o -name Sources.gz -o -name Release \
    | sed 's,^[^/]*/,,'`

echo "Origin: $ORIGIN
Label: $LABEL
Suite: $SUITE
Codename: $CODENAME
Date: $DATE
Architectures:" `echo $ARCHS`"
Components:" `echo $COMPS`"
Description: $DESC
MD5Sum:" > Release

for m in $MD5FILES; do
    echo -n " " >> Release
    SIZE=`wc -c $m | sed 's/ *\([0-9]*\).*/\1/'`
    SUM=`md5sum $m | sed 's/^ *\([A-Fa-f0-9]*\) .*/\1/'`
    printf "%s %16d %s\n" $SUM $SIZE $m >> Release
done

echo "SHA1:" >> Release
for m in $MD5FILES; do
    echo -n " " >> Release
    SIZE=`wc -c $m | sed 's/ *\([0-9]*\).*/\1/'`
    SUM=`sha1sum $m | sed 's/^ *\([A-Fa-f0-9]*\) .*/\1/'`
    printf "%s %16d %s\n" $SUM $SIZE $m >> Release
done

Die Information, welche Pakete in dem Spiegel vorgehalten werden sollen, findet sich in der Datei /var/local/chroot/root/packages. Ergänzungen können hier jederzeit vorgenommen werden. Die eigentliche Verwaltung des Spiegels übernimmt folgendes Skript:

#!/bin/sh
# update a partial Debian mirror with apt-move
# 2004-02, W. Borgert <debacle@debian.org>
# Released under the terms of the GNU General Public License

# the root directory of the mirror system
CHROOT=/var/local/chroot
# the mirror directory inside of the chroot
MIRRORDIR=/var/local/mirrors/debian
# master packages file inside of the chroot
MASTER=/root/packages

####

MODE=$1; shift

case "$MODE" in
    clean)
	chroot $CHROOT apt-move --force delete
	exit 0
	;;
    install)
	PACKAGES="$*"
	if [ -f $CHROOT/$MASTER ]; then
	    OLDPACKAGES=`cat $CHROOT/$MASTER`
	else
	    OLDPACKAGES=
	fi
	for p in $OLDPACKAGES $PACKAGES; do echo $p; done | \
	    sort -u > $CHROOT/$MASTER
	;;
    upgrade)
	if [ -f $CHROOT/$MASTER ]; then
	    PACKAGES=`cat $CHROOT/$MASTER`
	else
	    exit 0
	fi
	;;
    *)
	echo "Usage:"
	echo "$0 clean"
	echo "$0 install <packages>"
	echo "$0 upgrade"
	exit -1
	;;
esac

chroot $CHROOT apt-get update
chroot $CHROOT apt-get install \
    --option 'DPkg::Options::=--dry-run' --yes $PACKAGES
chroot $CHROOT apt-move get
chroot $CHROOT apt-move move
chroot $CHROOT apt-move packages
chroot $CHROOT /root/make-release -a $MIRRORDIR
chroot $CHROOT apt-get autoclean

5.12.2.2.1 Hinzufügen von Paketen

Das Hinzufügen weiterer Pakete ist recht einfach:

./update-mirror install dia ethereal glade-2

Dabei werden die Abhängigkeiten aller Pakete aufgelöst, und alle benötigten Pakete werden dem Spiegel hinzugefügt.

5.12.2.2.2 Aktualisieren des Spiegels

Wenn der Spiegel aktualisiert werden soll, so geschieht dies mit dem Kommando:

./update-mirror upgrade

5.12.2.3 Spiegel für verschiedene Architekturen

Um einen Spiegel auch für andere Hardware-Architekturen bereitzustellen, ist in der Datei /var/local/chroot/etc/apt/apt.conf die Architektur hinzuzufügen:

APT::Architecture "arm";

Weiterhin ist dies auch in /var/local/chroot/etc/apt-move.conf bekannt zu machen:

ARCHS="arm i386"

5.12.3 debian-multimirror (historisch)

[Anmerkung]Hinweis

Dieses Werkzeug und die gezeigten Aufrufbeispiele sind historische Referenz. Prüfen Sie den aktuellen Pflegezustand, bevor Sie es für neue Spiegel einplanen.

Aktuelle Alternative: Für einen öffentlichen vollständigen Debian-Spiegel folgen Sie der offiziellen Anleitung zu Debian-Archivspiegeln und dem dort beschriebenen ftpsync-Verfahren. Für einen gezielt ausgewählten Teil des Archivs kann debmirror passen. Für einen Cache im lokalen Netz ist dagegen apt-cacher-ng vorgesehen; Cache und Spiegel sind unterschiedliche Lösungen.

debian-multimirror ist ein in Perl geschriebenes Programm, das in der Lage ist, auch einen partiellen Spiegel eines oder mehrerer Debian Server anzulegen. Die Basis für die Paketauswahl bilden dabei eine oder mehrere Listen von Paketen. Auch ist es möglich, ganze Bereiche von Paketen (beispielsweise games oder kde) auszublenden. debian-multimirror ist noch nicht als Paket in der Debian Distribution enthalten, die Software ist unter http://pedro.larroy.com/debian/debian-multimirror/ zu finden.

5.12.4 mirror (historisch, FTP-basiert)

[Anmerkung]Historischer Hinweis

Das hier beschriebene Programm mirror und die folgende Konfiguration stammen aus der FTP-Zeit. Verwenden Sie diese Beispiele nicht für einen aktuellen Debian-Spiegel. Für öffentliche Debian-Spiegel empfiehlt das Debian-Projekt ftpsync in Verbindung mit rsync; für private Teilspiegel kann eine aktuelle Version von debmirror mit der HTTPS-Methode geeignet sein. Beachten Sie die offizielle Anleitung zum Einrichten eines Debian-Spiegels und die Manpage der installierten Werkzeugversion.

Aktuelle Alternative: Dieses FTP-basierte Werkzeug sollte nicht für neue Debian-Spiegel empfohlen werden. Verwenden Sie für öffentliche Spiegel die offizielle Anleitung mit ftpsync; für ausgewählte Teilarchive prüfen Sie debmirror.

mirror steht als Debian Paket zur Verfügung und wird seit vielen Jahren auch auf großen FTP-Servern (beispielsweise an Universitäten) benutzt, um Inhalte anderer FTP-Server lokal zu speichern. Für eine lokale Kopie der Daten eines Debian-Archivs wird neben dem eigentlichen Programm mirror vor allem viel Festplattenplatz benötigt. Da mirror als universelles Programm zum Spiegeln von FTP-Servern entwickelt wurde, kennt es natürlich keine Debian Besonderheiten wie Package-Pools. Um nicht unnötig Pakete zu kopieren, ist leider eine etwas aufwändige Konfiguration nötig.

Die Konfigurationsdateien für das Programm mirror finden sich nach der Installation im Verzeichnis /etc/mirror/packages/. Hier kann für jeden gewünschten Spiegel eine Datei angelegt werden. Das Programm selbst wird dann mit der Konfigurationsdatei als Parameter aufgerufen. Zusätzlich kann die Option -d (auch mehrfach) angegeben werden, um mehr Informationen über den Vorgang zu bekommen.

Hier sehen Sie eine Konfigurationsdatei, die die Architekturen i386 und powerpc vom Debian-Archiv kopiert.

package=Debian
   #
   comment=Mirror of parts of ftp.debian.org/pub/debian
   #	
   # specify remote host, directory and ls-lR file
   site=ftp.de.debian.org
   remote_dir=/debian
   store_remote_listing=/tmp/DEBIANREMOTE
   ls_lR_file=ls-lR.gz
   #
   # specify the local directory 
   local_dir=/home/ftp/debian
   #
   # inform this user about results
   mail_to=fr
   #
   # Compress these files.
   #compress_patt=\.*(C|c)ontents(-i386)?
   #compress_patt+|Packages(-Master)?|ls-lR|md5sums
   #compress_patt+|Maintainers|msdos-names
   #
   # Exclude these files or directories 
   exclude_patt=private/|project/|ls-lR|ls-lR.gz|ls-lR.patch.gz|dsync.list
   exclude_patt+|debian-(bugs|lists)/
   exclude_patt+|\.*(hurd-i386|hppa|mipsel|mips|ia64|s390|arm|m68k|alpha|hurd|mips|sparc).deb?
   exclude_patt+|\.*(hurd-i386|hppa|mipsel|mips|ia64|s390|arm|m68k|alpha|hurd|mips|sparc).udeb?
   exclude_patt+|\.*(hurd-i386|hppa|mipsel|mips|ia64|s390|arm|m68k|alpha|hurd|mips|sparc).gz?
   exclude_patt+|\.*(hurd-i386|hppa|mipsel|mips|ia64|s390|arm|m68k|alpha|hurd|mips|sparc).diff.gz?
   exclude_patt+|\.*(hurd-i386|hppa|mipsel|mips|ia64|s390|arm|m68k|alpha|hurd|mips|sparc).dsc?
   exclude_patt+|\.*(hurd-i386|hppa|mipsel|mips|ia64|s390|arm|m68k|alpha|hurd|mips|sparc).tar.gz?
   exclude_patt+|\.tar.gz?
   exclude_patt+|\.dsc?
   exclude_patt+|\.changes?
   exclude_patt+|\.diff.gz?
   exclude_patt+|bo/
   exclude_patt+|rex/
   exclude_patt+|slink/
   exclude_patt+|binary-arm/
   exclude_patt+|binary-m68k/
   exclude_patt+|binary-ia64/
   exclude_patt+|binary-hppa/
   exclude_patt+|binary-sparc/
   exclude_patt+|binary-mipsel/
   exclude_patt+|binary-mips/
   exclude_patt+|binary-alpha/
   exclude_patt+|disks-alpha/
   exclude_patt+|disks-m68k/
   exclude_patt+|disks-sparc/
   exclude_patt+|upgrade-alpha/
   exclude_patt+|upgrade-m68k/
   exclude_patt+|upgrade-sparc/
   exclude_patt+|binary-s390/
   exclude_patt+|binary-hurd-i386/
   exclude_patt+|md5sums
   exclude_patt+|md5sums.gz
   exclude_patt+|/potato/main/disks-arm/
   exclude_patt+|/potato/main/binary-arm/
   exclude_patt+|/potato/contrib/binary-arm/
   exclude_patt+|/potato/non-free/binary-arm/
   exclude_patt+|/potato/main/binary-sparc/
   exclude_patt+|/potato/contrib/binary-sparc/
   exclude_patt+|/potato/non-free/binary-sparc/
   exclude_patt+|woody/non-free/binary-sparc/
   exclude_patt+|woody/non-free/binary-alpha/
   exclude_patt+|woody/main/binary-sparc/
   exclude_patt+|woody/main/binary-alpha/
   exclude_patt+|woody/contrib/binary-sparc/
   exclude_patt+|woody/contrib/binary-alpha/
   exclude_patt+|woody/main/binary-hurd/
   exclude_patt+|woody/main/binary-hurd-i386/
   exclude_patt+|woody/main/binary-arm/
   exclude_patt+|woody/main/binary-mips/
   exclude_patt+|woody/main/binary-mipsel/
   exclude_patt+|binary-hppa/
   exclude_patt+|binary-sh/
   exclude_patt+|woody/main/binary-sparc/
   exclude_patt+|woody/main/disks-sparc/
   exclude_patt+|woody/main/binary-alpha/
   exclude_patt+|woody/Contents-arm.gz
   exclude_patt+|woody/Contents-hurd-i386.gz
   exclude_patt+|woody/Contents-alpha.gz
   exclude_patt+|woody/Contents-sparc.gz
   exclude_patt+|woody/Contents-hppa.gz
   exclude_patt+|woody/Contents-sh.gz
   exclude_patt+|woody/Contents-mips.gz
   exclude_patt+|woody/Contents-mipsel.gz
   #
   exclude_patt+|\.notar
   #
   # Don't delete what is mirrored by the other mirror package below
   #
   # delete_excl=(local|debian-non-US|non-US|project)(/|$)
   # Do not delete if more than 20% of all files would vanish
   max_delete_files=20%

Stand: 21.10.2026 22:27

 Impressum  Datenschutzerklärung