Paketaktualisierung mit zypper

Hallo Forum,

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?

Gruß Sigi

Es handelt sich hier um Pakkete die es in mehrere Repos gibt, aber nach “Vendor change” nicht installiert / benützt werden sollten.

Beispiel: nach umschalten auf Packman, gibt es in den anderen Repos immer noch Pakkete für Amarok, k3b usw. Das sind die Pakkete die man hier sieht.

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.


Gruß Sigi

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.