AW: Flash - Installtionsorgie - Jetzt geht nix mehr
Sauerland schrieb:
Vor dem
habe ich vergessen die repos zu aktualisieren:
Deswegen konnte das auch nicht klappen.
Mein Fehler.
Zur "Ehrenrettung" von Sauerland und fürs Protokoll -auch in Hinblick auf einen kleinen "Blick hinter die Kulissen" von zypper&co- ein "nicht unbedingt ein Fehler" von mir, natürlich mit einer etwas ausführlicheren Begründung.
Zypper versucht anhand verschiedener Konfigurationsparameter die Repolisten automatisch aktuell zu halten, in den meisten Fällen ist "zypper ref" eigentlich nicht notwendig, dazu später etwas mehr.
Da wäre zum einen in der Datei /etc/zypp/zypp.conf:
Code:
##
## Amount of time in minutes that must pass before another refresh.
##
## Valid values: Integer
## Default value: 10
##
## If you have autorefresh enabled for a repository, it is checked for
## up-to-date metadata not more often than every <repo.refresh.delay>
## minutes. If an automatic request for refresh comes before <repo.refresh.delay>
## minutes passed since the last check, the request is ignored.
##
## A value of 0 means the repository will always be checked. To get the oposite
## effect, disable autorefresh for your repositories.
##
## This option has no effect for repositories with autorefresh disabled, nor for
## user-requested refresh.
##
# repo.refresh.delay = 10
Dieser Wert (Standard = 10 Minuten) legt fest, wie viel Zeit vergehen muss, bevor zypper automatisch bei einem Befehl, der eine aktuelle Liste der Pakete/Repos benötigt (also z.B. "install", "update", "verify", "dist-upgrade" ....) versucht die Liste zu aktualisieren.
Führt man also ein "zypper up" oder "zypper dup" aus und diese Zeit ist abgelaufen, so versucht zypper automatisch die Listen zu aktualisieren ohne daß man explizit "zypper ref" ausführen muss.
Nun fragt man sich natürlich, wozu es dann überhaupt den Befehl "zypper refresh" gibt, denn schon der Standardwert von 10 Minuten ist klein genug, daß man eigentlich nie "zypper refresh" ausführen müsste.
Nun, es gibt da eine Ausnahme, welche wiederum in der jeweiligen Konfigurationsdatei /etc/zypp/repos.d/<Irgendein_Name>.repo eingestellt werden kann.
Es geht dabei um den Parameter "autorefresh", ist dieser auf 0 gesetzt, dann wird dieses Repository -wie der Name der Option ja auch andeutet- nicht automatisch aktualisiert sondern muss explizit mit einem "zypper refresh" auf den neusten Stand gebracht werden.
"It's not a bug, it's a feature", denn so kann man ein Repository gewissermassen von den "normalen" Updates ausklammern ohne es deaktivieren zu müssen.
Ein Anwendungsbeispiel aus meiner Erfahrung:
Auf einem USB-Stick befindet sich eine abgespeckte "11.2 zum Mitnehmen für alle Fälle", bei der neben einem schlanken GUI (Fluxbox), Browser, Clients für IRC, Jabber und noch ein paar weiteren "Essentials of teh Interwebs" auch ein Mediaplayer mit entsprechender Codec-Unterstützung installiert ist, ergo ist neben OSS, NON-OSS und Updates noch Packman als Repo eingebunden.
Da ich aber die Anzahl der Schreibvorgänge möglichst reduzieren und auch das Downloadvolumen bei Updates so gering wie möglich halten will (man hat ja nicht überall eine Flatrate und DSL >= 6000), ist Packman auf "autorefresh=0" gesetzt.
Das bedeutet, mit einem "zypper up" kann ich jederzeit die neusten Sicherheitsupdates aus dem Update-Repo einspielen, die in der Regel auch geringes Downloadvolumen haben (Stichwort "delta-rpms"), selbst wenn die Internetverbindung nicht gerade die schnellste ist, während ich nur dann neue Pakete aus dem Packman-Repo einspiele, wenn es gerade passt, dazu muss ich dann nur statt "zypper up" ein "zypper ref ; zypper up" ausführen.
Greetz,
RM