• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Lokaler SuSE 10.3 Update Spiegel

Hallo *,

ich habe das Problem das ich mich hinter einer FW mit Http-Proxy befinde.

Nun muss ich in einer DMZ einen OpenSuSE 10.3 installieren, dieser soll natürlich geupdatet werden.

Jetzt habe ich einen lokalen update server unter debian der über apt-mirror mir ubuntu/debian aktuell hält. (FTP)

Jetzt versuche ich nun schon seit 2 langen tagen einen SuSE mirror aufzusetzten. Die Beschreibungen die ich gefunden habe sind für rsync, was mir leider 0 weiterhilft.

Was habe ich nun schon probiert:

lftp (schönes tool) --> Geht aber nicht bekomme ich immer wieder einen 404 Error meine Vermutung er kann die Softlinks nicht sauber verarbeiten .

lftp -c "set mirror:exclude-regex 'ppc\/|ppc64\/|src\/' && \
> open ftp://ftp.tu-ilmenau.de/Mirrors/opensuse/update/10.3/ && \
> mirror --delete --verbose"


wget(Mein Standard wenn ich was mirror muss ) -->geht nicht legt mir keine softlinks an der Platzbedarf explodiert.
Ausserdem erhalte ich imemr wieder neue Verzeichnisse wenn ich zb download.opensuse...../download benutzte.

wget -m -k -K -E -np -nH http://download.opensuse.org/update/10.3/ .

Ich bin dem Fenstersrung sehr nahe...
Ich hoffe irgendwer kann mir helfen.

Danke.

mfg
marcel
 
OP
W

wernermarcel1

Newbie
Hallo,

danke für das script. Nur leider basiert es auf rsync und genau das kann ich über einen http-proxy leider nicht benutzten. (Soweit ich das weiss)


Mfg
Marcel
 

Appleonkel

Hacker
You may establish the connection via a web proxy by setting the environment variable RSYNC_PROXY to a hostname:port pair pointing to your web proxy. Note that your web proxy's configuration must support proxy connections to port 873.
Code:
man rsync
;)
Also wenn der proxy 873 durchlässt sollte es kein Problem sein.
 
OP
W

wernermarcel1

Newbie
hallo ,

ich möchte meine Aussage nochmals verfeinern.

Der Proxy ist ein HTTP-Proxy kein SOCKS das bedeutet ich kann über diesen Proxy leider nicht den port 873 erreichen.

Bzw. es geht nur http/https/ftp

Mfg
Marcel
 

rolle

Guru
Hm, ich habe die Programme nicht getestet, suche ich aber mit APT nach 'mirror', werden mir unter anderen folgende vielversprechende Pakete angebote: mirror pavuk.
Auch müßte wget im FTP-Modus in der Lage sein, Symlinks zu speichern.
 

Tooltime

Advanced Hacker
Moin moin,

Das Problem kann man einfach mit "mirror" und "mirror-master" lösen, beide befinden sich im Paket mirror. "mirror-master" kontrolliert die Anzahl der gleichzeitig laufenden mirror-Prozesse, die Zeitspanne zum erneuten abgleich einer Quelle und verhindert bei mehrfach aufrufen das zwei mirror-Prozesse die gleiche Quelle spiegeln. Bei mir sieht das so aus.

Lokaler Pfad zu den repos: /daten/SuSE-Linux/10.3

In dem Pfad erstellt man die Verzeichnisse "packages" und "logs" und hinterlegt eine Konfiguration für "mirror-master".

mirror-master.conf:
Code:
# Maximale Anzahl an mirror Prozessen
max=2
# Verzeichnis in das vor dem Starten von mirror gewechselt wird.
home=/daten/SuSE-Linux/10.3
# 
# Konfigurationen der Spiegel
#
# Name configfile/Eintrag package
suse.updates:update 1 0
suse.xgl:xgl 1 0
suse.packman:packman 1 0
Im Verzeichnis packages hinterlegt man die Konfiguration zum spiegeln der Quellen, hier das Beispiel für die Updates.

suse.updates:
Code:
package=update
        comment=Updates`s für openSUSE 10.3
	#
	# Quelle die gespiegelt werden soll
        site=server.mit.updates
        remote_dir=/Verzeichnis/mit/updates/10.3
	#
	# Ziel für download
        local_dir=update
	#
	# Bei NAT oder Firewall nur passiv ftp
	passive_ftp=true
	# 
	# Viele ftp-Server unterstützen kein rekursives auflisten der Dateistruktur,
	# oder beschneiden diese Ausgabe auf eine bestimmte Zeilenanzahl.
	# Wechselt in jedes Unterverzeichnis und holt eine nicht rekursive Dateiliste.
	recurse_hard=true
	#
	# Wie sollen Dateien behandelt werden , die gelöscht werden sollen.
	save_dir=old_files
	# save_deletes=true
	do_deletes=true
	# 
	# max_delete_files=100%
	#
	#
	# Ausschliessen bestimmter Verzeichnisse oder Dateien zur reduktion des Download 
	#
	# unnötige Architekturen und Quellpakete
	exclude_patt+|^rpm/ppc$|^rpm/ppc64$|^rpm/src$
	#
	# Ausschliessen unnötiger Sprachpakete
	exclude_patt+|^rpm/noarch/bundle-lang-gnome-[a-c].+$
	exclude_patt+|^rpm/noarch/bundle-lang-gnome-da.+$
	exclude_patt+|^rpm/noarch/bundle-lang-gnome-es.+$
	exclude_patt+|^rpm/noarch/bundle-lang-gnome-[f-z].+$
	#
	exclude_patt+|^rpm/noarch/yast2-trans-[a-c].+$
	exclude_patt+|^rpm/noarch/yast2-trans-da.+$
	exclude_patt+|^rpm/noarch/yast2-trans-el.+$
	exclude_patt+|^rpm/noarch/yast2-trans-es.+$
	exclude_patt+|^rpm/noarch/yast2-trans-et.+$
	exclude_patt+|^rpm/noarch/yast2-trans-[f-z].+$
	#
	# Ausschließen unnötiger Kernelpakete
	exclude_patt+|.+kernel-bigsmp.+$
	exclude_patt+|.+kernel-debug.+$
	exclude_patt+|.+kernel-rt.+$
	exclude_patt+|.+kernel-xenpae.+$
	# exclude_patt+|.+-kmp-bigsmp.+$
	exclude_patt+|.+-kmp-debug.+$
	exclude_patt+|.+-kmp-rt.+$
	exclude_patt+|.+-kmp-xenpae.+$
	#
	#
	# Ausschliessen von delta.rpm Pakete
	exclude_patt+|^rpm/i586/.+\.delta\.rpm$|^rpm/i686/.+\.delta\.rpm$|^rpm/noarch/.+\.delta\.rpm$|^rpm/x86_64/.+\.delta\.rpm$
	#
	# Ausschliessen von patch.rpm Pakete
	exclude_patt+|^rpm/i586/.+\.patch\.rpm$|^rpm/i686/.+\.patch\.rpm$|^rpm/noarch/.+\.patch\.rpm$|^rpm/x86_64/.+\.patch\.rpm$
	#
Fehlt ja nur noch der cron Eintrag, der alle 15 Minuten mirror-master startet:

*/15 * * * * /usr/bin/mirror-master /daten/SuSE-Linux/10.3/mirror_master.conf >/dev/null 2>&1

Ach ja, da ich keine delta- und patch-Pakete herunter lade, sollte man in /etc/zypp/zypp.conf die Parameter
download.use_patchrpm = false
download.use_deltarpm = false
setzen. Wenn eine Ausschlußregel stört, braucht man sie nur aus zu kommentieren.
Schon ist der Spiegel fertig.
 
Oben