debmirror - so geht's !

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Mythran
Beiträge: 100
Registriert: 24.01.2003 18:40:45
Wohnort: 127.0.0.1

debmirror - so geht's !

Beitrag von Mythran » 25.11.2004 19:41:30

Weil ich hier oft gesehen habe wie leute fragen wie man debmirror konfiguriert werde ich hier mal ein paar infos und tips abdrücken. Bei mir selbst läuft debmirror seid etlichen monaten und funzt wirklich top.

also als erstens sollte man per apt-get debmirror an den start bringen.

Code: Alles auswählen

apt-get install debmirror
dann wäre es am einfachsten wenn man ein script baut wo alles konfiguriert wird.

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
ok, ok .... ich weiß, es ist nicht das beste oder schönste script aber es funzt und das ist wichtig xD

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
und dort trägt man dies ein:

Code: Alles auswählen

# updating debmirror
0 5 * * * /bin/sh /etc/scr/debmirror.sh >> /var/log/debmirror.log
dadurch wird immer um 5:00 nachts oder morgens, wie man es halt sieht, das script gestartet und unter /var/log/ eine logdatei geschrieben. logrotate wäre hier sinnvoll

also viel spaß und ich übernehme keine haftung : )

Benutzeravatar
eagle
Beiträge: 2282
Registriert: 05.11.2002 11:20:53
Wohnort: Berlin

Beitrag von eagle » 25.11.2004 21:14:20

Deine Beschreibung ist im debianforum.de Wiki sicher besser aufgehoben ;).

eagle
"I love deadlines. I love the whooshing sound they make as they fly by." -- Douglas Adams

Benutzeravatar
meister6666
Beiträge: 114
Registriert: 27.11.2005 23:24:21

Beitrag von meister6666 » 31.03.2007 11:58:35

hi,

sehr gute beschreibung. Funt super.

Tschö meister

systemdefender
Beiträge: 76
Registriert: 26.08.2004 19:43:45
Wohnort: hessen

Script laeuft nicht

Beitrag von systemdefender » 13.10.2007 15:45:45

Code: Alles auswählen

...
gpg: Signature made Sa 13 Okt 2007 10:45:10 CEST using DSA key ID 6070D3A1
gpg: Can't check signature: public key not found
Release signature does not verify.
Errors:
 Release signature does not verify.
Failed to download some Release or Release.gpg files!
...
--- Sa 13. Okt 15:38:50 CEST 2007 --- updating debmirror complete
kein download erfolgt :|


-- edit --
loesung: den script anfang durch folgende zeilen ersetzen:

Code: Alles auswählen

#!/bin/sh

# update gpg keys
gpg --keyserver subkeys.pgp.net --recv-keys 6070D3A1
gpg --armor --export 6070D3A1 | apt-key add -

...
so, ein neues problem:

Code: Alles auswählen

...
22:53:40 updating debian-security ...
Mirroring to /mnt/fremdzeug/debian-security from rsync://anonymous@security.debian.org/:debian-security//
Arches: i386
Dists: stable/updates
Sections: main,contrib,non-free
Passive mode on.
Download at most 200 files per rsync call.
Pdiff mode: use.
Attempting to get lock, this might take 2 minutes before it fails.
Use of uninitialized value in chop at /usr/share/perl5/LockFile/Simple.pm line 537.
Use of uninitialized value in pattern match (m//) at /usr/share/perl5/LockFile/Simple.pm line 543.
Use of uninitialized value in string ne at /usr/share/perl5/LockFile/Simple.pm line 545.
Use of uninitialized value in chop at /usr/share/perl5/LockFile/Simple.pm line 537.
Use of uninitialized value in pattern match (m//) at /usr/share/perl5/LockFile/Simple.pm line 543.
Use of uninitialized value in string ne at /usr/share/perl5/LockFile/Simple.pm line 545.
WARNING: waiting for /mnt/fremdzeug/debian-security lock since 20 seconds
Use of uninitialized value in chop at /usr/share/perl5/LockFile/Simple.pm line 537.
Use of uninitialized value in pattern match (m//) at /usr/share/perl5/LockFile/Simple.pm line 543.
...
[/code]

achtung: benutzer leidet an endogener ironie im endstadium mit tendenz zu schweren humorsymptomen
Note: "Questions are the Beginning of Wisdom" Lt. Worf TNG-149 "Rightful Heir"

Benutzeravatar
pr0j3ctx
Beiträge: 106
Registriert: 20.07.2006 15:42:31

Re: debmirror - so geht's !

Beitrag von pr0j3ctx » 28.08.2008 12:35:24

Hallo,

ich nutze zwar nicht dieses Script sondern habe mir was eigenes gebastelt, aber ich bekomme seit neuestem auch diese Meldungen:

Code: Alles auswählen

Attempting to get lock, this might take 2 minutes before it fails.
Use of uninitialized value in chop at /usr/share/perl5/LockFile/Simple.pm line 537.
Use of uninitialized value in pattern match (m//) at /usr/share/perl5/LockFile/Simple.pm line 543.
Use of uninitialized value in string ne at /usr/share/perl5/LockFile/Simple.pm line 545.
Use of uninitialized value in chop at /usr/share/perl5/LockFile/Simple.pm line 537.
Use of uninitialized value in pattern match (m//) at /usr/share/perl5/LockFile/Simple.pm line 543.
Use of uninitialized value in string ne at /usr/share/perl5/LockFile/Simple.pm line 545.
WARNING: waiting for /ftp/debian lock since 20 seconds
Use of uninitialized value in chop at /usr/share/perl5/LockFile/Simple.pm line 537.
Use of uninitialized value in pattern match (m//) at /usr/share/perl5/LockFile/Simple.pm line 543.
Use of uninitialized value in string ne at /usr/share/perl5/LockFile/Simple.pm line 545.
Use of uninitialized value in chop at /usr/share/perl5/LockFile/Simple.pm line 537.
Use of uninitialized value in pattern match (m//) at /usr/share/perl5/LockFile/Simple.pm line 543.
Use of uninitialized value in string ne at /usr/share/perl5/LockFile/Simple.pm line 545.
Use of uninitialized value in chop at /usr/share/perl5/LockFile/Simple.pm line 537.
Use of uninitialized value in pattern match (m//) at /usr/share/perl5/LockFile/Simple.pm line 543.
Use of uninitialized value in string ne at /usr/share/perl5/LockFile/Simple.pm line 545.
WARNING: still waiting for /ftp/debian lock after 50 seconds
Gibt es dafür schon eine Lösung?

Grüße
pr0

Antworten