Erstellen eines lokalen Debian-Mirrors

Hauptarchiv, Gnome2.2, KDE3, java, bunk und mplayer für Woody


1. Erstellen eines Debian-Mirrors

Für das hier beschriebene Vorgehen ist "debmirror" aus unstable notwendig. Es kann hier heruntergeladen werden:

http://packages.debian.org/unstable/net/debmirror.html

Als nächstes folgendes Skript auf den Rechner kopieren und anpassen:
- Die DEB_MIRROR geben die Verzeichnisse für die Mirrors an und sollten entsprechend geändert werden
- DEB_HOST gibt den Hostname des offiziellen Debian-Mirror an, der gespiegelt werden soll
- Mit DEB_DIST werden die gewünschten Distributionen von Debian ausgewählt

wegt http://www.pimpzkru.de/debian/update-mirrors.sh


Hier nochmals das ganze Skript:

#!/bin/sh

# Konfiguration
DEB_MIRROR=/mirrors/debian
DEB_MIRROR_NONUS=/mirrors/debian-non-US
DEB_MIRROR_PROPOSED=/mirrors/debian-proposed
DEB_MIRROR_SEC=/mirrors/debian-security
DEB_MIRROR_EXTRA=/mirrors/debian-extra
DEB_HOST=ftp.de.debian.org

DEB_ROOT=:debian
DEB_ROOT_NONUS=:debian-non-US
DEB_ROOT_SEC=:debian-security
DEB_ARCH=i386
DEB_DIST=woody
DEB_OPT="--debug --progress --nosource --method=rsync"
WGET_OPT="-c -np -A *.deb,Packages*,Release -R *_sparc.deb,*_powerpc.deb, robots.txt,index*,*.gif,*.orig.tar.gz,*.changes, *.dsc,*.diff.gz,Sources.gz -m -nH"

# Routine zum Spiegeln der Bootdisketten
rsync_disks() {
rsync --delete -av $DEB_HOST::debian/dists/$1/main/disks-$DEB_ARCH
$DEB_MIRROR/dists/$1/main/ --progress
}

# Proposed
debmirror $DEB_MIRROR_PROPOSED --host=$DEB_HOST --arch=$DEB_ARCH
--dist=woody-proposed-updates $DEB_OPT --ignore="disks-$DEB_ARCH/"
--root=$DEB_ROOT

# Non-US
debmirror $DEB_MIRROR_PROPOSED-non-US --host=$DEB_HOST --arch=$DEB_ARCH
--dist=woody-proposed-updates $DEB_OPT --root=$DEB_ROOT_NONUS
--section="non-US/main,non-US/contrib,non-US/non-free"

# Hauptmirror
debmirror $DEB_MIRROR --host=$DEB_HOST --arch=$DEB_ARCH
--dist=$DEB_DIST $DEB_OPT --ignore="disks-$DEB_ARCH/"
--root=$DEB_ROOT

# Non-US
debmirror $DEB_MIRROR_NONUS --host=$DEB_HOST --arch=$DEB_ARCH
--dist=$DEB_DIST $DEB_OPT --root=$DEB_ROOT_NONUS
--section="non-US/main,non-US/contrib,non-US/non-free"

# Secrity
debmirror $DEB_MIRROR_SEC --host=security.debian.org --arch=$DEB_ARCH
--dist=woody $DEB_OPT --root=$DEB_ROOT_SEC
--section="updates/main,updates/contrib,updates/non-free"

# Disks
rsync_disks woody
# rsync_disks sid

rsync --delete -av $DEB_HOST::debian/tools
rsync --delete -av $DEB_HOST::debian/doc
rsync --delete -av $DEB_HOST::debian/project



2. Weitere Server

Leider bieten nicht alle Debian-Paketarchive einen Abgleich über rsync oder ftp an. Daher werden bei den wget-Skripten alte Dateien nicht automatisch gelöscht.

Es ist aber dennoch möglich die Archive herunterzuladen, um sie dann eventuell auf eine CD zu kopieren. Hierfür müssen jeweils die folgenden Zeilen an das obige Mirror-Skript angehängt werden:

a. Die Backports für Woody von Adrian Bunk

Dies ist eine sehr empfehlenswerte Sammlung von hochwertigen Paketen aus Unstable, welche für Woody angepasst worden sind. http://www.fs.tum.de/~bunk/packages/

cd $DEB_MIRROR_EXTRA/bunk
wget $WGET_OPT --cut-dirs 2 http://www.fs.tum.de/~bunk/debian/dists/woody/bunk-1


b. Der Gnome2.2 Backport für Woody

cd $DEB_MIRROR_EXTRA/
wget $WGET_OPT http://mirror.raw.no/gnome2.2/
apt-ftparchive ./ | gzip > Packages.gz


c. MPlayer und weitere Multimedia-Pakete für Woody von Marillat

http://marillat.free.fr/

cd $DEB_MIRROR_EXTRA/marillat
wget $WGET_OPT --cut-dirs 4 http://marillat.free.fr/dists/stable/main/binary-i386/


d. Blackdown Java für Woody

cd $DEB_MIRROR_EXTRA/java
wget $WGET_OPT --cut-dirs 4 ftp://ftp.mirror.ac.uk/sites/ftp.blackdown.org/java-linux/debian


e. Offizielles KDE3 für Woody

debmirror $DEB_MIRROR_EXTRA/kde --host=ftp.kde.org --arch=$DEB_ARCH
--dist=$DEB_DIST --debug --progress --nosource --method=ftp --ignore="disks-$DEB_ARCH/"
--root=/pub/kde/stable/3.1/Debian



3. Verwenden der lokalen Spiegel mit apt-get

Folgendes ist ein Ausschnitt aus einer "sources.list", welche die lokalen Spiegel beinhaltet. Es muss DEB_MIRROR durch das Basis-Verzeichnis des Spiegels ersetzt werden [In dem obigen Beipiel wäre dies "/mirrors"].

#Hauptarchive
deb file:/DEB_MIRROR/debian/ woody main non-free contrib
deb file:/DEB_MIRROR/debian-proposed/ woody-proposed-updates main
deb file:/DEB_MIRROR/debian-proposed/ woody-proposed-updates non-free
deb file:/DEB_MIRROR/debian-proposed/ woody-proposed-updates contrib
deb file:/DEB_MIRROR/mirrors/debian-non-US woody/non-US main contrib non-free

# Sicherheitupdates sollten jedoch immer aktuell sein
deb http://security.debian.org/ woody/updates main contrib non-free

# Weitere lokale Mirrors - vorhandene Spiegel einkommentieren
#deb file:/DEB_MIRROR/debian-extra/java woody main non-free
#deb file:/DEB_MIRROR/debian-extra/gnome2.2 ./
#deb file:/DEB_MIRROR/debian-extra/marillat ./
#deb file:/DEB_MIRROR/debian-extra/bunk woody/bunk-1 main contrib
#deb file:/DEB_MIRROR/debian-extra/kde woody main




Fragen und Anregungen gerne an renate at pimpzkru.de


Artikel im Forum  -  zurück