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

Lokaler Update-Server in Yast2 einrichten

AlGaN

Newbie
Hi,

ich möchte im lokalen Netz entsprechend dem Windows Update Server einen lokalen Update-Server für die Yast-Repositories einrichten, so dass ich die Pakete für alle Rechner nur 1x herunterladen muss.
Jetzt habe ich mir das HOWTO zu den alternativen Installations-Quellen im YaST für Suse 10 durchgelesen http://www.linux-club.de/viewtopic.php?t=27988,
Nur kenne ich das Verzeichnis nicht, wo Yast2 die Pakete nach dem Runterladen ablegt :(

Deshalb meine Frage: Ist so ein lokales Update-Repository möglich ? Wenn ja, was muss ich bei YaST einstellen dafür ?

Thx
AlGaN[/url]
 

rolle

Guru
Nachfrage: Willst Du eine Spiegel der Updates für YOU oder die ursprünglichen Installationsdateien?
 
OP
A

AlGaN

Newbie
Hi,

Nachfrage: Willst Du eine Spiegel der Updates für YOU oder die ursprünglichen Installationsdateien?

im Prinzip beides :)

Es soll so ein, dass das lokale Repository bei Paketen ausgewählt wird, die schonmal für einen anderen Rechner heruntergeladen wurden, und auch für Online-Updates, die eben auch schon auf einem anderen Rechner installiert wurden...

Ich verstehe ausserdem den Unterschied zwischen den YOU-Updates und dem Punkt "Software installieren" im YaST nicht, im Prinzip ist doch beides das Gleiche, nur dass bei YOU eben Patches von Paketen installiert werden, oder ? :?:

Thx,
AlGaN
 

rolle

Guru
Mir ist keine Möglichkeit bekannt, mehr als eine YOU-Quelle anzugeben, es sei denn, Du würdest ein Script bauen und YOU zwei mal hintereinander aufrufen.
Aber ich würde Dir zu folgendem raten: Spiegele Dir die SuSE-Installationsdateien per wget von einem FTP-Mirror. Baue Dir hierzu für einen 32-Bit-PC folgendes Script:
Code:
#!/bin/bash

wget -nH --cut-dirs=3 -p -m -E -t1 -k -v -np -A* -R"*.src.rpm" -R"*x86_64*" -R"*.ppc*" -R"root64*" -R"*-debuginfo-*" "ftp://ftp4.gwdg.de/pub/opensuse/distribution/SL-10.0-OSS/inst-source/"

wget -nH --cut-dirs=3 -p -m -E -t1 -k -v -np -A* -R"*.src.rpm" -R"*x86_64*" -R"*.ppc*" -R"root64*" -R"*-debuginfo-*" "ftp://ftp4.gwdg.de/pub/opensuse/distribution/SL-10.0-OSS/inst-source-java/"

wget -nH --cut-dirs=2 -p -m -E -t1 -k -v -np -A* -R"*.src.rpm" -R"*x86_64*" -R"*.ppc*" -R"root64*" -R"*-debuginfo-*" "ftp://ftp4.gwdg.de/pub/suse/i386/10.0/inst-source-extra/"
Dieses Script lädt Dir die Installationsdateien in die Unterverzeichnisse SL-10.0-OSS und i386 des aktuellen Verzeichnisses. Diese Daten gibst Du dann per FTP, HTTP, SMB oder NFS in Deinem Netz frei und trägst sie auf den anderen Rechnern als Installationsquelle ein. Auf dem Rechner auf dem sie liegen trägst Du die lokalen Verzeichnisse als Quelle ein. Ausführen des als SCRIPT.sh gespeicherten Scriptes per 'sh SCRIPT.sh'.

Die Updates für YOU lassen sich eigentlich genauso spiegeln. Nur leider habe ich noch keine Möglichkeit gefunden, wget beizubringen, nicht mehr auf dem Server vorhandene Daten zu löschen. Trotzdem hier ein Beispiel:
Code:
 #!/bin/bash
wget -nH --cut-dirs=2 -p -m -E -t1 -k -v -np -A* -R"*.src.rpm" -R"*x86_64*" -R"*.ppc*" -R"root64*" -R"*-debuginfo-*" "ftp://ftp4.gwdg.de/pub/suse/i386/update/10.0/"
Diese Quelle gibst Du dann analog in YOU an.
 
OP
A

AlGaN

Newbie
Hm, ich hatte gehofft, dass es ohne Herunterladen/Spiegeln des gesamten FTP-Servers gehen würde, aber immerhin ist das eine Option :roll:

Meine Frage ist: Wie entscheidet eigentlich YaST, wenn ich Repositories eintrage, die beide das gleiche Paket bereithalten, welche Quelle wird dann verwendet, gibt es irgendeine Option, mit der man die Priorität eines Repositories einstellen kann ? :?:

Naja, trotzdem danke für den Vorschlag, das Ganze mit wget zu machen, trotzdem bin ich nicht begeistert davon, komplette GB an Daten zu spiegeln, es wäre eben gut, wenn nur die Pakete lokal gespiegelt würden, die eben eh schon auf der Platte liegen von früheren Installationen / Updates

Thx,
AlGaN
 

rolle

Guru
Wenn Du YOU so eingestellt hast, daß die Quellpakete nach dem Update nicht gelöscht werden, dann liegen diese irgendwo unter /var. Ich kann bei mir nicht nachsehen, da ich sie immer löschen lasse.
Alternativ könntest Du auch APT einsetzen und dessen lokalen cache (auch unter /var) als APT-Installationsquelle für alle anderen angeben.
Aber bei allen diesen Lösungen liegen eben immer nur diejenigen Updates lokal vor, die auf dem einen Rechner gemacht wurden.

edit: Für die Spiegelung der Updates bietet sich auch rsync an. Einige wenige SuSE-Spiegel bieten diese Option.
 
Oben