• 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
 
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
 
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.
 
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
 
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.
 
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