also als erstens sollte man per apt-get debmirror an den start bringen.
Code: Alles auswählen
apt-get install debmirror
Code: Alles auswählen
#!/bin/sh
## anfang konfiguration
#
# gibt das lokale spiegelverzeichnis an
DEB_MIRROR=/debmirror/debian
DEB_MIRROR_NONUS=/debmirror/debian-non-US
DEB_MIRROR_SEC=/debmirror/debian-security
# server von dem gespiegelt werden soll
DEB_HOST=ftp.de.debian.org
DEB_HOST_NONUS=ftp.de.debian.org
DEB_HOST_SEC=security.debian.org
#root verzeichnis des server von dem gespiegelt wird
DEB_ROOT=:debian/
DEB_ROOT_NONUS=:debian-non-US/
DEB_ROOT_SEC=:debian-security/
# distribution (woody, sarge, sid ...)
DEB_DIST=testing
DEB_DIST_NONUS=testing/non-US
DEB_DIST_SEC=stable/updates
# section von debian die gespiegelt wird
DEB_SECT=main,contrib,non-free
DEB_SECT_NONUS=main,contrib,non-free
DEB_SECT_SEC=main,contrib,non-free
# architektur
DEB_ARCH=i386
# zusätzliche optionen (man debmirror)
# --debug --progress --verbose
DEB_OPT="-v --method=rsync --passive --nosource --cleanup --getcontents"
# anzeigen der messages
MESG=on
#
## ende konfiguration
if [ $MESG == on ]
then
echo ""
echo "--- `/bin/date` --- updating debmirror ..."
echo ""
fi
# Hauptmirror
if [ $MESG == on ]
then
echo "`/bin/date |awk {print'$4'}` updating debian ..."
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 |awk {print'$4'}` finished updating debian"
echo ""
fi
# non-US
if [ $MESG == on ]
then
echo "`/bin/date |awk {print'$4'}` updating debian-non-US ..."
fi
debmirror $DEB_MIRROR_NONUS --host=$DEB_HOST --arch=$DEB_ARCH --dist=$DEB_DIST_NONUS --root=$DEB_ROOT_NONUS --section=$DEB_SECT_NONUS $DEB_OPT
if [ $MESG == on ]
then
echo "`/bin/date |awk {print'$4'}` finished updating debian-non-US"
echo ""
fi
# secruity
if [ $MESG == on ]
then
echo "`/bin/date |awk {print'$4'}` updating debian-security ..."
fi
debmirror $DEB_MIRROR_SEC --host=$DEB_HOST_SEC --arch=$DEB_ARCH --dist=$DEB_DIST_SEC --root=$DEB_ROOT_SEC --section=$DEB_SECT_SEC $DEB_OPT
if [ $MESG == on ]
then
echo "`/bin/date |awk {print'$4'}` finished updating debian-security"
echo ""
fi
# proposed
#debmirror $DEB_MIRROR_PROPOSED --host=$DEB_HOST --arch=$DEB_ARCH --dist=testing-proposed-updates --root=$DEB_ROOT $DEB_OPT
if [ $MESG == on ]
then
echo "--- `/bin/date` --- updating debmirror complete"
echo ""
fi
Zur info: Das script läd alles für testing runter, nicht mehr und weniger. Die ganzen MESG sachen sind für die logs gedacht. Wenn man kein rsync benutzen möchte sonder ftp, muss man bei DEB_ROOT die doppelpunkte entfernen und bei DEB_OPT aus --method=rsync, ---method=ftp machen.
So ... damit das auch alles schön nachts runtergeladen wird und man es nicht selbst machen muss, bringt man noch einen crontab an den mann:
Code: Alles auswählen
crontab -e
Code: Alles auswählen
# updating debmirror
0 5 * * * /bin/sh /etc/scr/debmirror.sh >> /var/log/debmirror.log
also viel spaß und ich übernehme keine haftung : )