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

[gelöst]Wie Yast oder zypper RPMs speichern lassen - SuSE 11

amulack

Newbie
Hallo,

ich habe das Problem, dass ich eine extrem schlechte Internetanbindung (Thüringer Dorf :-( )aber einige Rechner habe. Wenn es mir schon gelingt, mal Updates erfolgreich zu saugen, muss ich sie unbedingt auch auf den anderen Rechnern installieren können. Leider speichert openSuSE 11 die geladenen RPM nicht mehr automatisch, sondern löscht sie schneller wieder, als man denken kann.

Kennt ihr eine Möglichkeit, Yast oder zypper dazu zu bringen, die RPMs nach der Installation nicht wieder zu löschen? Ich denke nämlich nicht, dass ich mit smart oder apt4rpm zurecht komme. Scheint mir echt zu kompliziert zu sein und halt nicht zur SUSE passend. Hatte vorige Woche mal ein komplettes Update mit smart versucht und bin da jämmerlich baden gegangen.

Vielleicht gibt es ja einen Schalter in Yast oder zypper, der der cache wieder anschaltet? Früher hat Yast jedenfalls gecacht.

Vielen Dank
 

Tooltime

Advanced Hacker
Das File kann bei dir zwar anders heißen, müsste sich aber im selben Pfad befinden.
/etc/zypp/repos.d/update.repo:
Code:
[update]
name=update
baseurl=dir:///daten/SuSE-Linux/11.0/update/
path=/
type=rpm-md
enabled=1
priority=60
autorefresh=1
gpgcheck=1
keeppackages=0
Ich habe es nicht selbst ausprobiert, dürfte aber mit keeppackages=1 wie gewünscht funktionieren.

Was bedeutet schlechte Internetverbindung:

  • Flatrate ja/nein
    Langsam ja/nein
    Fällt öfter aus ja/nein
Vielleicht fällt jemanden eine bessere Methoden ein, dazu müsste man aber mehr Informationen haben. Das Abfangen der Patches funktioniert nur solange, wie alle Rechner die gleiche Softwareausstattung haben.
 
OP
A

amulack

Newbie
Tooltime schrieb:
Ich habe es nicht selbst ausprobiert, dürfte aber mit keeppackages=1 wie gewünscht funktionieren.

Erst mal vielen Dank :)

Ich habe jetzt in allen Online-Repositories die Option keeppacjages=x von 0 auf 1 geändert und schaue mal, was passiert. Also wenn das klappen könnte, wäre es genial. Ich hatte wegen der yast-nix-caching Einstellung schon erwogen zu kubuntu zu wechseln. Wollte ich aber eigentlich nicht, weil ich schon seit 4.3 bei SuSE bin. Ich probiers mal und melde mich zurück.

Was bedeutet schlechte Internetverbindung:

Habe hier SkyDSL mit ISDN-Rückkanal. Ist extrem teuer und der Anbieter bremst jeden Download gnadenlos ab. Habe in der Regel unter 4 kb/s und dann bricht Yast oft einfach ab. Ein Kernel-Update braucht da schon mal ein paar Nächte der Versuche (Tagsüber gehts gar nicht)

Bis dann
Andreas
 

Tooltime

Advanced Hacker
Besteht vielleicht die Möglichkeit den Download irgendwo anders zu machen. Ich denke in die Richtung, spiegeln des update-Repo auf einen USB-Stick, USB-Disk oder eigenes Notebook. Vielleicht gibt es ja im Bekanntenkreis jemanden mit einen besseren Internetzugang, am besten mit einem Linux-Rechner. Ideal sind meistens Leute die an einer Uni arbeiten, fast jede Uni hat einen lokalen Spiegel im Haus.

Ansonsten müsste man mal sehen ob man über zypper direkt an die Paketnamen kommen kann. Dann könnte man einen Downloadmanager verwenden der abgebrochene Downloads wieder aufnehmen kann, ich habe keine Ahnung ob der Updater das kann.
 
OP
A

amulack

Newbie
Habt vielen Dank für die Tipps,

also, es hat alles super geklappt und deshalb fasse ich mal kurz zusammen:

1. Spiegeln des Update-Repos auf DVD oder USB-Stick ist sicher eine gute Idee. Leider habe ich im Moment niemanden zur Verfügung :-( und auch unsere Internet-Kaffes sind nur schlecht angebunden. Ist halt Provinz.

2. Den Vorschlag es mit keeppackages=1 zu lösen war genau richtig. Wenn man das macht, spiechern sowohl als Yast als auch zypper die RPM-Archive auf der Festplatte und mann kann später weiter damit arbeiten.

Ich bin dazu wie folgt vorgegangen:

- alle Repo-Files von Online-Repositorys in /etc/zypp/repos.d mit den Namen [Namen des Repository].repo als Benutzer root geöffnet und die letzte Zeile von

keeppackages=0
zu
keeppackages=1

geändert und das ganze abgespeichert. (Z.B. in der Konsole mit sudo kwrite /etc/zypp/repos.d/openSUSE-11.0-Updates.repo)

Ab sofort speichern Yast und zypper automatisch alle RPM-Archive aus den so "behandelten" Repositorys unterhalb von /var/cache/zypp/packages in unterschiedlichen Verzeichnissen und lassen sie auch dort liegen. Man findet sie ganz leicht z.B. mit find /var/cache/zypp/packages -name *.rpm oder auch mit dem Suchtool in KDE oder Gnome.

Nun kann man sie auf CD, DVD oder USB-Stick kopieren und dann einfach z.B. mit

rpm -Uvh /Pfad zu den RPM-Archiven/*.rpm erneut auf dem gleichen oder auch auf einem anderen System installieren. Hab ich aber noch nicht probiert.

Das zurückspielen geht natürlich auch über z.B. Yast, dass dann wenigstens vielleicht fehlende Abhängigkeiten automatisch auflöst. Dazu einfach das Verzeichnis mit den RPMs in Yast => Software => Software-Repositorys => Hinzufügen => Lokales Verzeichnis bei Yast bekannt machen und dann in Yast => Software => Software installieren oder löschen => Filter = Installationsquellen die RPMs auswählen und installieren. FERTIG

Das Zurückspielen habe ich noch nicht probiert, sollte aber funktionieren.

Vielen Dank für die schnelle nette Hilfe

Andreas
 
Oben