ich aktualisiere mein System nicht mehr mit “apper” sondern mit “zypper”.
Klappt auch soweit ganz gut.
Was mich allerdings etwas irritiert ist der Hinweis am Ende der
Aktualisierung:
“Die folgenden Paketaktualisierungen werden NICHT installiert”
Dann erscheint eine Vielzahl von Einträgen.
Meine Frage ist, warum werden diese Paketaktualisierungen nicht
installiert? Haben sie keine Relevanz oder ist hier irgendwo noch eine
Einstellung zu tätigen?
Zypper versucht erstmal immer die höchste Paketversion zu installieren. Wenn es ein Paket in mehreren Repos gibt kommen noch die Prioritäten hinzu. So kommt es dass höhere Paketversionen in Repos verfügbar sind, das aktuelle Paket aber aus einem Repo stammt welches eine niedrigere Paketversion hat.
Ein gutes Beispiel ist k3b. Bei mir stammt das Paket aus Packman mit Version 2.0.2-15.65. In den offiziellen openSUSE Repos hat es die höhere Version 2.0.2-22.1.2. So erscheint bei zypper up immer die Meldung
Die folgenden Paketaktualisierungen werden NICHT installiert.
k3b 2.0.2-22.1.2
k3b-lang 2.0.2-22.1.2
Auch beim nachträglichen hinzufügen von Repos werden höhere Versionen aus den neuen Repos nicht installiert weil dieses einen Herstellerwechsel bedeutet. Diese “Vendor Changes” sind mit zypper up nicht erlaubt, erst zypper dup erlaubt den Wechsel von Herstellern (oder zypper in <package-version>). Siehe dazu auch man zypper:
update (up) [options] [packagename] ...
Update installed packages with newer versions, where possible.
This command will not update packages which would require change
of package vendor unless the vendor is specified in
/etc/zypp/vendors.d, or which would require manual resolution of
problems with dependencies. Such non-installable updates will
then be listed in separate section of the summary as "The fol-
lowing package updates will NOT be installed:".
To update individual packages, specify one or more package
names. You can use the '*' and '?' wildcard characters in the
package names to specify multiple packages matching the pattern.
Am 21.11.2012 10:16, schrieb zerum:
>
> Zypper versucht erstmal immer die höchste Paketversion zu installieren.
> Wenn es ein Paket in mehreren Repos gibt kommen noch die Prioritäten
> hinzu. So kommt es dass höhere Paketversionen in Repos verfügbar sind,
> das aktuelle Paket aber aus einem Repo stammt welches eine niedrigere
> Paketversion hat.
>
> Ein gutes Beispiel ist k3b. Bei mir stammt das Paket aus Packman mit
> Version 2.0.2-15.65. In den offiziellen openSUSE Repos hat es die
> höhere Version 2.0.2-22.1.2. So erscheint bei -zypper up- immer die
> Meldung
>
> Code:
> --------------------
> Die folgenden Paketaktualisierungen werden NICHT installiert.
> k3b 2.0.2-22.1.2
> k3b-lang 2.0.2-22.1.2
>
> --------------------
> …]
Besten Dank für Deine ausführliche Erläuterung.
Wenn ich es richtig verstehe, dann sollte man warten bis das Paket des
ursprünglichen Ventors ein Update bekommt, dann wird dieses automatisch
zur Aktualisierung herangezogen.
Vielleicht ist es auch ein zu mühevolles Unterfangen, herauszubekommen,
was die höheren Versionen für Verbesserungen beinhalten.
Warten brauchst Du nicht, bei zypper up wird nur ein Update gemacht, wenn in dem Repo eine neuere Version des daraus installierten Programms vorliegt (bei Packman werden aber ab und an neuere Pakete mit niedriger Versionsnummer eingestellt)
Ausnahme zu zypper up: Das Update repo macht immer ein Update zum OSS-Repo.