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

openSuse Paketmanagement: Einige Unklarheiten

Horus107

Newbie
Hallo,

ich benutze gerade zum ersten Mal SuSe, davor habe ich auf dem Desktop Mac OS und Gentoo verwendet sowie Debian auf einigen Servern. Beim Paketmanagement mit Yast bzw. zypper sind mir einige Sachen noch unklar. Da es eher kleinere Sachen sind, fasse ich sie mal zu einem Posting zusammen:

- Irgendwie scheinen zypper und Yast verschiedene Auffassungen zu haben, was sie updaten wollen. Yast hat keine Aktualisierungen, zypper up will jedoch ein Paket hinzufügen und eins löschen

- zypper dup meldet eine größere Anzahl (151) Pakete zum aktualisieren. Yast scheint also nur Sicherheitsupdates zu installieren, keine neuen Versionen. Oder kann ich ein solches Updates wie zypper dup auch von Yast aus initieren? zypper dup scheint immer aus allen Repos die aktuellsten Pakete auszuwählen. Wie verhält es sich, wenn ein aktuelleres Paket in einem Repo mit niedrigerer Priorität liegt?

Also, ich glaube das war es fürs erste.... Vielen Dank!

Florian
 
Soweit ich weiß wird bei Yast (Update) und bei "zypper up" nur das Update-Repo genutzt. Bei "zypper dup" werden alle aktivierten Repos überprüft (und "upgedatet", wobei die Pakete aus den Repos mit dem niedrigsten Prioritätswert (also der höchsten Priorität) bevorzugt behandelt werden. Das kann allerdings auch dazu führen, daß Pakete "gedowngradet" werden, falls sie in einem Repo mit höherer Priorität in einer älteren Version vorliegen!

CU Freddie
 

Appleonkel

Hacker
In Yast2 Software installieren oder löschen -> Paket -> Alle Pakete kann man auch neue Versionen für alle Pakete installieren ;)
 

Kelloggs

Newbie
Ich schließe mich der Frage mal an: bin ebenfalls Umsteiger von einem deb-System und irgendwie habe ich nicht das Gefühl das Paketmanagement in openSUSE wirklich zu begreifen.

Der Update-Manager sagt mir, dass keine Updates vorhanden sind. Allerdings kann ich via "zypper up" bzw. in YaST durch "Pakete->Alle Pakete->Aktualisieren, falls aktuellere vorhanden" 48 Pakete aktualisieren.

Wenn ich "zypper dup" teste, will er eben besagte 48 Pakete updaten sowie ein paar Pakete downgraden und Anbieterwechsel durchführen.

Wo ist der Unterschied zwischen dem üblichen Update und dem aktualisieren von Paketen? Warum werden die Pakete nicht automatisch aktualisiert. Heißt das, dass Pakete in openSUSE immer auf dem aktuellen Stand gehalten und nur durch Patches gepflegt werden? Und durch die Aktualisierung von Paketen kann ich Versions-Sprünge machen?

Bitte gerne auch einfach einen Link auf einen Wiki-Eintrag der mir das mal wirklich erklärt - ich habe noch keinen gefunden. Für nen Debian-Umsteiger ist das irgendwie verwirrend.

Herzlichen Dank schon mal. Das 11.2 rockt ansonsten übrigens ziemlich!
 

lOtz1009

Moderator
Teammitglied
Per Standard werden - jedenfalls war das bis 11.0 so, danach hab ich das nicht mehr benutzt - durch das Updateapplet nur Sicherheits"Patches" (aus dem Update-Repo) installiert, keine neuen "Paket"versionen. Allerdings kann/konnte man das in den Einstellungen auch so regeln, dass "normale" Softwareupdates auch durchgeführt werden.

Wie gesagt, das war jedenfalls bis 11.0 so, aber ich handle meine Updates lieber manuell und in der Vergangenheit kamen über das Applet Patches, die z.T. nur verschlimmbessert haben ;)

Kelloggs schrieb:
Wo ist der Unterschied zwischen dem üblichen Update und dem aktualisieren von Paketen?
Update --> offizielle Sicherheitspatches
Aktualisieren der Pakete --> verfügbare Aktualisierung aller installierten Pakete
 

Tooltime

Advanced Hacker
Ist im Prinzip ganz einfach. Von Haus aus macht das Updateapplet nur ein zypper update --repo update-repo. Daher werden auch nur Updates für SuSE-Pakete eingespielt.
Stellt man das Updateapplet um,
  • rechte Maustaste auf das Applet --> Miniprogramm einrichten --> und aktiviert "Verfügbare Aktualisierungen anzeigen, wenn das Dienstprogramm sie anbietet (Expertenmodus)"
dann entspricht das zypper update. Also alle Repo's aktualisieren, dabei darf ein Paket aber nicht das Repo wechseln.

Und zum Schluss zypper dup, was ich persönlich nie machen würde, ist praktisch ein zypper mach was du willst. Dabei dürfen Pakete beliebig das Repo wechseln. Gedacht ist das für ein komplettes Upgrade auf eine andere openSUSE-Version, wenn sich alle Paketquellen ändern.
 
Gedacht ist das für ein komplettes Upgrade auf eine andere openSUSE-Version, wenn sich alle Paketquellen ändern.

Oder wenn man auf bleeding edge steht. :) Deshalb ist 'zypper dup' ist meine übliche Vorgehensweise der Aktualisierung - berücksichtigt werden aber immer noch Quellenpriorisierungen und das locking einzelner Pakete, sodass sich individuelle Vorstellungen bezüglich des update-Vorgangs sehr fein umsetzen lassen.

Je nach Zusammenstellung der Quellen und, wie gesagt, ihrer Konfiguration ist ein 'zypper dup' aber wirklich mit Bedacht anzuwenden.
 

tlu

Member
@Tooltime: Danke - das war sehr hilfreich. Auch ich bin jüngst von Ubuntu auf openSUSE gewechselt und hatte ähnliche Verständnisprobleme wie meine Vorredner. Dein Beitrag hat das geklärt :up:
 

tlu

Member
Es ist für mich doch noch nicht alles geklärt.

2 ergänzende Fragen:

1. Wenn ich in Yast "Software installieren und löschen" wähle und dann Anzeigen -> Informationsquellen, sehe ich über allen Repos die Zeile "Switch system packages to the versions in this repository". Klicke ich z.B. bei "Aktualisierungen für openSUSE 11.2-0" darauf, öffnet sich ein Fenster "Warnung", in dem für etliche Pakete (z.B. gstreamer-0.10-fluendo-mp3, kdepimlibs4, python-kde4, etc) Konflktlösungen angeboten werden. Das kenne ich so von Ubuntu, das ich jahrelang benutzt habe, überhaupt nicht.
2. Ich hatte im Updateapplet "Verfügbare Aktualisierungen anzeigen, wenn das Dienstprogramm sie anbietet (Expertenmodus)" aktiviert, dennoch wurden mir über "Paket -> Alle Pakete -> Aktualisieren, falls neuere Version verfügbar" noch etliche weitere Pakete angezeigt. Wieso das? Entspricht das dem zypper dup? Aber worauf wird denn dieses dist-upgrade angewandt? Es waren nicht nur einige KDE-Pakete darunter (ich hatte auf 4.3.4 über zypper dup schon 1 Tag vorher upgegradet), sondern auch etliche normale Anwendungen. Wann ist ein Upgrade ein dist-upgrade?

Das alles ist für mich noch ziemlich verwirrend. Dass es in verschiedenen Repos unterschiedliche Versionen derselben Pakete gibt und nicht automatisch die neuesten installiert werden, sondern dies anscheinend nur über bestimmte Zwischenschritte möglich ist (mit dem Risiko, dass es dabei Abhängigkeitsprobleme gibt), und dass vom Wechsel der Repos die Rede ist, ist etwas, was ich noch nicht kapiert habe. Kann mir da jemand grundsätzlich auf die Sprünge helfen?
 

tlu

Member
... noch ein weiteres Beispiel: Firefox 3.5.7 ist ja schon seit einigen Tagen von Mozilla verfügbar, das Update wurde aber in openSUSE nicht eingespielt. Ich habe zwar http://download.opensuse.org/repositories/mozilla/openSUSE_11.2/ in meinen Repos, aber auch hier wurde als neueste Version nur die 3.5.6 angezeigt. Heute habe ich nun auf "Switch system packages ..." geklickt - und siehe da: Auf einmal wird die 3.5.7 als verfügbar angezeigt! Warum nicht vorher, warum jetzt erst nach diesem Klick?

Fragen über Fragen. Das Paketmanagement von Ubuntu/Debian und openSUSE ist offenbar doch sehr unterschiedlich ...
 

tlu

Member
Jägerschlürfer schrieb:
liegt wohl mit den Prioritäten deiner Repos zusammen.

Was zeigt denn
Code:
zypper lr -P

Das folgende. An den Prioritäten dürfte das eigentlich nicht liegen - alle haben 99 (bis auf Virtualbox).

Code:
#  | Alias                               | Name                                                 | Aktiviert | Aktualisieren | Priorität
---+-------------------------------------+------------------------------------------------------+-----------+---------------+----------
1  | Google                              | Google                                               | Nein      | Nein          |   99
2  | KDE_4.3.x_Packages_(openSUSE_11.2)  | KDE 4.3.x Packages (openSUSE_11.2)                   | Ja        | Ja            |   99
3  | Libdvdcss repository                | Libdvdcss repository                                 | Ja        | Ja            |   99
4  | Packman_Repository                  | Packman Repository                                   | Ja        | Ja            |   99
5  | download.nvidia.com-opensuse        | NVIDIA Repository                                    | Ja        | Ja            |   99
6  | download.opensuse.org-VirtualBox    | openSUSE BuildService - Virtualisierung (VirtualBox) | Ja        | Ja            |   99
7  | download.opensuse.org-mozilla       | openSUSE BuildService - Mozilla                      | Ja        | Ja            |   99
8  | download.opensuse.org-standard      | Main Repository (Contrib)                            | Nein      | Nein          |   99
9  | download.videolan.org-SuSE          | VideoLan Repository                                  | Nein      | Nein          |   99
10 | http-download.opensuse.org-cbb07fb9 | Aktualisierungen für openSUSE 11.2-0                 | Ja        | Ja            |   99
11 | openSUSE 11.2-0                     | openSUSE 11.2-0                                      | Nein      | Nein          |   99
12 | repo-debug                          | openSUSE-11.2-Debug                                  | Nein      | Ja            |   99
13 | repo-non-oss                        | openSUSE-11.2-Non-Oss                                | Ja        | Ja            |   99
14 | repo-oss                            | openSUSE-11.2-Oss                                    | Ja        | Ja            |   99
15 | repo-source                         | openSUSE-11.2-Source                                 | Ja        | Ja            |   99
16 | virtualbox                          | VirtualBox for openSUSE 11.1 / 11.2                  | Ja        | Ja            |  120
 

lOtz1009

Moderator
Teammitglied
Wie wolltest du Firefox updaten? Per Updateapplet (also zypper up -t patch bzw. package) oder per zypper dup?
Da gab es letztens ein Abhängigkeitsproblem mit mozilla-nspr, welches im Mozillarepo neu verfügbar war, aber die aktuellere Version vorher aus dem OSS-/Update-repo kam.
Daher konnte der FF nicht ohne Anbieterwechsel aktualisiert werden.
 

tlu

Member
lOtz1009 schrieb:
Wie wolltest du Firefox updaten? Per Updateapplet (also zypper up -t patch bzw. package) oder per zypper dup?

Weder noch (das Updateapplet hat keine Updates angezeigt). Ich war in Yast "Software installieren oder löschen" und hatte in "Suchen" firefox eingegeben. Als neuste Version wurde die 3.5.6 angezeigt - auch im Mozillarepo. Erst als ich dort auf "Switch system packages to the versions in this repository" geklickt habe, wirde mir auf einmal die 3.5.7 angezeigt. Verstehe ich nicht.
Da gab es letztens ein Abhängigkeitsproblem mit mozilla-nspr, welches im Mozillarepo neu verfügbar war, aber die aktuellere Version vorher aus dem OSS-/Update-repo kam.
Daher konnte der FF nicht ohne Anbieterwechsel aktualisiert werden.

Trotzdem verstehe ich nicht, warum mir die 3.5.7 zunächst nicht als aktuelle verfügbare Version angezeigt wurde, sondern erst nach dem Klick auf "Switch ..." im Mozillarepo. Und was den Anbieterwechsel angeht - die Hintergründe und Wenns und Danns habe ich auch noch nicht verstanden. Wenn in Ubuntu in verschiedenen Repos unterschiedliche Versionen desselben Pakets vorhanden sind, wird standardmäßig automatisch die neueste angeboten. Wenn das schon in openSUSE anders läuft, warum werde ich nicht wenigstens auf einen möglichen Anbieterwechsel aufmerksam gemacht, ohne dass ich zunächst auf "Switch ..." klicken muss? Hätte ich das nicht gemacht, hätte ich überhaupt nicht mitgekriegt, dass die 3.5.7 zur Verfügung steht, oder?
 

tlu

Member
Wen's interessiert: Dieser Thread klärt einige der hier angesprochnen Probleme. Die darin gewonnenen Erkenntnisse habe ich in diesem Posting zusammen zu fassen versucht. Wenn das so nicht korrekt bzw. ergänzungsbedürftig ist, bitte melden!
 
Oben