Und die Deinstallation von rstudio hatte ich ja gecancelt, daher steht wohl auch nichts im Log ...
zypper dup löscht externe Pakete: Bug or Feature ?
- rkbwde
- Unerledigt
Hinweis: In dem Thema zypper dup löscht externe Pakete: Bug or Feature ? gibt es 39 Antworten auf 4 Seiten. Der letzte Beitrag () befindet sich auf der letzten Seite.
-
-
Und die Deinstallation von rstudio hatte ich ja gecancelt, daher steht wohl auch nichts im Log ...
Da hast du genau geschaut????Oder mal den lock auf rstudio entfernen und noch einmal ein Update machen, abbrechen und die ganze Fehlermeldung hier posten????
-
Also wird nicht nachgefragt durch zypper-dup, ob das Programm gelöscht werden soll wenn es verwaist ist.
In dem Falle also den "Daumen hoch" unter #2 bitte entfernen, weil ich dann ja falsch lag - warum ich nach wie vor anderer Meinung bin, steht unter dem Zitat zu meiner Antwort darauf das zypper-dup "in diesem Fall" doch nachfragt. Ich wollte in diesem Forum nur nicht so sehr ins Eingemachte gehen - nun führe ich das weiter unten aus:Genau das passiert bei zypper dup nicht.
Codezypper se -si | grep -i systempak i | libdigikamcore9_1_0 | Paket | 9.1.0-lp160.274.1 | x86_64 | (Systempakete) i+ | libstdc++33-32bit | Paket | 3.3.3-42.1 | x86_64 | (Systempakete) i+ | r8168-kmp-default | Paket | 8.056.02_k6.12.0_160000.34-lp160.73.8 | x86_64 | (Systempakete) i+ | r8168-kmp-default | Paket | 8.056.02_k6.12.0_160000.33-lp160.73.7 | x86_64 | (Systempakete)Zypper dup fragt "normalerweise" bei verwaisten Programmen nicht nach. Das macht i.d.R. ja auch keinen Sinn bei einem Distributions-Upgrade. Das verwaiste Programm bleibt einfach auf der Platte.
Bei "RStudio" (das als lokales/verwaistes Paket gilt) fragt "Zypper-dup" nach meinem Verständnis aber nach,weil die OpenSuSE Paketverwaltung zwischen1. Harmlos verwaist
und
2. Blockierend verwaist
unterscheidet.
Wenn ein Programm in den den Repositories nicht mehr zu finden ist, dessen Abhängigkeiten (Bibliotheken) aber weiterhin unverändert im System vorhanden sind, verhält sich zypper dup standardmäßig passiv. Das Programm bleibt einfach installiert und Zypper ignoriert es beim Upgrade schlichtweg. Es gibt keine Nachfrage. Das ist wohl die Regel.
Bei Bei RStudio kommt aber eben doch die Nachfrage ins Spiel, weil das Paket eine Abhängigkeits-Kette blockiert, denn das Fedora RPM "RStudio" verlangt nach ganz bestimmten Systembibliotheken. "Rstudio" von Fedora stellt sich dann quer, wenn Opensuse bei einem Upgrade diese Bibliotheken verändern will oder entfernen, um das System sauber zu halten. Damit gerät nun der Paketmanager ins Dilemma: Zypper-dup stoppt den Prozess und fragt interaktiv nach, wie man das Problem lösen möchte, z.B. RStudio löschen, Abhängigkeiten ignorieren oder das Update der Bibliotheken abbrechen.
Nochmal ein Versuch, es einfacher zu erklären was ich meine:
Ein reines "Dasein" als verwaistes Paket reicht für eine Nachfrage bei zypper dup nicht aus – es muss erst zu einem handfesten Konflikt mit neueren Systemdateien kommen. Da RStudio sehr eng mit dem System verzahnt ist, triggert es diese Nachfrage - und es gibt eben eine ebensolche an den User.
Ein gesetzter Sperrauftrag (Lock) tarnt das Paket nun quasi vor dem Paketmanager, sodass Zypper weiß, dass es diese Abhängigkeit um jeden Preis unangetastet lassen soll.
Das ist mein Verständnis zu diesem Problem gewesen, weshalb ich Post #2 abschickte. Wenn es nicht so ist, wie ich es oben beschrieb, dann fehlt mir irgendwie jede Logik für die Beobachtung des Fragestellers zu "rstudio" und allen Programmen, die ebensolche Problematik für den Paketmanager darstellen - auch wenn das eher die Ausnahme ist.
Falsch? Oder richtig?
-
Bei Bei RStudio kommt aber eben doch die Nachfrage ins Spiel, weil das Paket eine Abhängigkeits-Kette blockiert, denn das Fedora RPM "RStudio" verlangt nach ganz bestimmten Systembibliotheken. "Rstudio" von Fedora stellt sich dann quer, wenn Opensuse bei einem Upgrade diese Bibliotheken verändern will oder entfernen, um das System sauber zu halten. Damit gerät nun der Paketmanager ins Dilemma: Zypper-dup stoppt den Prozess und fragt interaktiv nach, wie man das Problem lösen möchte, z.B. RStudio löschen, Abhängigkeiten ignorieren oder das Update der Bibliotheken abbrechen.
Nochmal ein Versuch, es einfacher zu erklären was ich meine:
Ein reines "Dasein" als verwaistes Paket reicht für eine Nachfrage bei zypper dup nicht aus – es muss erst zu einem handfesten Konflikt mit neueren Systemdateien kommen. Da RStudio sehr eng mit dem System verzahnt ist, triggert es diese Nachfrage - und es gibt eben eine ebensolche an den User.
Ein gesetzter Sperrauftrag (Lock) tarnt das Paket nun quasi vor dem Paketmanager, sodass Zypper weiß, dass es diese Abhängigkeit um jeden Preis unangetastet lassen soll.
Ganz genau.
Wenn kein Problem da ist, bleibt es so wie es ist, wenn es aber Abhängigkeitskonflikte gibt, fragt zypper (normalerweise) mit Lösungsmöglichkeiten nach.
Bei mir z.B. libstdc++33-32bit (wg. anderem Beitrag installiert), die keine Probleme bereitet und daher auch nicht angetastet ist.
-
Ganz genau.
Wenn kein Problem da ist, bleibt es so wie es ist, wenn es aber Abhängigkeitskonflikte gibt, fragt zypper (normalerweise) mit Lösungsmöglichkeiten nach.
Bei mir z.B. libstdc++33-32bit (wg. anderem Beitrag installiert), die keine Probleme bereitet und daher auch nicht angetastet ist.
Danke - nun bin ich zufrieden.

-
Ich habe rstudio manuell mit rpm gelöscht, zypper dup alles auf den neuesten Stand bringen lassen und dann rstudio wieder mit rpm installiert.
Ein anschließendes zypper dup will dann rstudio wieder löschen, obwohl rpm beim installieren keine Probleme gemeldet hat:
Code
Alles anzeigenrkl2:~ # zypper dup Refreshing service 'openSUSE'. Loading repository data... Reading installed packages... Warning: You are about to do a distribution upgrade with all enabled repositories. Make sure these repositories are compatible before you continue. See 'man zypper' for more information about this command. Computing distribution upgrade... The following package is going to be REMOVED: rstudio 1 package to remove. Package install size change: | 0 B required by packages that will be installed -1.05 GiB | - 1.05 GiB released by packages that will be removed Backend: classic_rpmtrans Continue? [y/n/v/...? shows all options] (y):Lässt sich vielleicht herausfinden, was bei bei "Computing distribution upgrade" herauskommt ?

-
Hier noch die (lange) Liste von Requirements des Packages:
Code
Alles anzeigen# rpm -qRp rstudio-2026.05.0+218-7.3.x86_64.rpm /bin/sh /bin/sh /bin/sh /usr/bin/env ld-linux-x86-64.so.2()(64bit) ld-linux-x86-64.so.2(GLIBC_2.2.5)(64bit) ld-linux-x86-64.so.2(GLIBC_2.3)(64bit) libR.so()(64bit) libX11.so.6()(64bit) libXcomposite.so.1()(64bit) libXdamage.so.1()(64bit) libXext.so.6()(64bit) libXfixes.so.3()(64bit) libXrandr.so.2()(64bit) libXtst.so.6()(64bit) libasound.so.2()(64bit) libasound.so.2(ALSA_0.9)(64bit) libasound.so.2(ALSA_0.9.0rc4)(64bit) libatk-1.0.so.0()(64bit) libatk-bridge-2.0.so.0()(64bit) libatspi.so.0()(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.10)(64bit) libc.so.6(GLIBC_2.11)(64bit) libc.so.6(GLIBC_2.12)(64bit) libc.so.6(GLIBC_2.14)(64bit) libc.so.6(GLIBC_2.15)(64bit) libc.so.6(GLIBC_2.16)(64bit) libc.so.6(GLIBC_2.17)(64bit) libc.so.6(GLIBC_2.18)(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.25)(64bit) libc.so.6(GLIBC_2.27)(64bit) libc.so.6(GLIBC_2.28)(64bit) libc.so.6(GLIBC_2.3)(64bit) libc.so.6(GLIBC_2.3.2)(64bit) libc.so.6(GLIBC_2.3.3)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.30)(64bit) libc.so.6(GLIBC_2.32)(64bit) libc.so.6(GLIBC_2.33)(64bit) libc.so.6(GLIBC_2.34)(64bit) libc.so.6(GLIBC_2.4)(64bit) libc.so.6(GLIBC_2.5)(64bit) libc.so.6(GLIBC_2.6)(64bit) libc.so.6(GLIBC_2.7)(64bit) libc.so.6(GLIBC_2.8)(64bit) libc.so.6(GLIBC_2.9)(64bit) libcairo.so.2()(64bit) libcrypto.so.3()(64bit) libcrypto.so.3(OPENSSL_3.0.0)(64bit) libcups.so.2()(64bit) libdbus-1.so.3()(64bit) libdbus-1.so.3(LIBDBUS_1_3)(64bit) libdl.so.2()(64bit) libdl.so.2(GLIBC_2.2.5)(64bit) libei.so.1()(64bit) libexpat.so.1()(64bit) libffmpeg.so()(64bit) libgbm.so.1()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.3)(64bit) libgcc_s.so.1(GCC_3.4)(64bit) libgcc_s.so.1(GCC_4.0.0)(64bit) libgcc_s.so.1(GCC_4.2.0)(64bit) libgio-2.0.so.0()(64bit) libglib-2.0.so.0()(64bit) libgobject-2.0.so.0()(64bit) libgtk-3.so.0()(64bit) libjpeg.so.8()(64bit) libjpeg.so.8(LIBJPEG_8.0)(64bit) libm.so.6()(64bit) libm.so.6(GLIBC_2.2.5)(64bit) libm.so.6(GLIBC_2.27)(64bit) libnspr4.so()(64bit) libnss3.so()(64bit) libnss3.so(NSS_3.11)(64bit) libnss3.so(NSS_3.12)(64bit) libnss3.so(NSS_3.12.1)(64bit) libnss3.so(NSS_3.2)(64bit) libnss3.so(NSS_3.22)(64bit) libnss3.so(NSS_3.3)(64bit) libnss3.so(NSS_3.30)(64bit) libnss3.so(NSS_3.4)(64bit) libnss3.so(NSS_3.5)(64bit) libnss3.so(NSS_3.6)(64bit) libnss3.so(NSS_3.9.2)(64bit) libnssutil3.so()(64bit) libnssutil3.so(NSSUTIL_3.12.3)(64bit) libpango-1.0.so.0()(64bit) libpipewire-0.3.so.0()(64bit) libpng16.so.16()(64bit) libpng16.so.16(PNG16_0)(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.12)(64bit) libpthread.so.0(GLIBC_2.2.5)(64bit) libpthread.so.0(GLIBC_2.3.2)(64bit) libpthread.so.0(GLIBC_2.3.3)(64bit) libpthread.so.0(GLIBC_2.3.4)(64bit) librt.so.1()(64bit) librt.so.1(libsmime3.so(NSS_3.2)(64bit) libsqlite3.so.0()(64bit) libssl.so.3()(64bit) libssl.so.3(OPENSSL_3.0.0)(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.11)(64bit) libstdc++.so.6(CXXABI_1.3.13)(64bit) libstdc++.so.6(CXXABI_1.3.3)(64bit) libstdc++.so.6(CXXABI_1.3.5)(64bit) libstdc++.so.6(CXXABI_1.3.7)(64bit) libstdc++.so.6(CXXABI_1.3.8)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) libstdc++.so.6(GLIBCXX_3.4)(64bit) libstdc++.so.6(GLIBCXX_3.4.11)(64bit) libstdc++.so.6(GLIBCXX_3.4.14)(64bit) libstdc++.so.6(GLIBCXX_3.4.15)(64bit) libstdc++.so.6(GLIBCXX_3.4.17)(64bit) libstdc++.so.6(GLIBCXX_3.4.18)(64bit) libstdc++.so.6(GLIBCXX_3.4.19)(64bit) libstdc++.so.6(GLIBCXX_3.4.20)(64bit) libstdc++.so.6(GLIBCXX_3.4.21)(64bit) libstdc++.so.6(GLIBCXX_3.4.22)(64bit) libstdc++.so.6(GLIBCXX_3.4.26)(64bit) libstdc++.so.6(GLIBCXX_3.4.29)(64bit) libstdc++.so.6(GLIBCXX_3.4.31)(64bit) libstdc++.so.6(GLIBCXX_3.4.5)(64bit) libstdc++.so.6(GLIBCXX_3.4.9)(64bit) libudev.so.1()(64bit) libudev.so.1(LIBUDEV_183)(64bit)GLIBC_2.2.5)(64bit) libsecret-1.so.0()(64bit) libsmime3.so()(64bit) libsmlibutil.so.1()(64bit) libutil.so.1(GLIBC_2.2.5)(64bit) libuuid.so.1()(64bit) libuuid.so.1(UUID_1.0)(64bit) libxcb.so.1()(64bit) libxkbcommon.so.0()(64bit) libxkbcommon.so.0(V_0.5.0)(64bit) libz.so.1()(64bit) rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(PayloadIsZstd) <= 5.4.18-1 rtld(GNU_HASH) sqlite3 -
Wenn zypper rstudio gelöscht hat, wird beim nächsten zypper dup aber auch nichts neu installiert, also blockiert rstudio wohl keine Updates. Ich bin gerade etwas verwirrt ...
Code# zypper dup Refreshing service 'openSUSE'. Loading repository data... Reading installed packages... Warning: You are about to do a distribution upgrade with all enabled repositories. Make sure these repositories are compatible before you continue. See 'man zypper' for more information about this command. Computing distribution upgrade... -
-
Wenn
zypperunter openSUSE Leap ein selbst gebautes RPM-Paket (das für Fedora gedacht war oder Fedora-Spezifikationen nutzt) „löscht“, meint das in der Regel, dass das Paket bei einem Systemupdate (zypper upoderzypper dup) deinstalliert oder durch ein anderes Paket ersetzt wird.Dafür gibt es technische Gründe im RPM-Ökosystem:
Beispiel1
Ungelöste Abhängigkeitskonflikte (Dependency Hell)
Fedora und openSUSE benennen ihre Systembibliotheken oft unterschiedlich (z. B. heißt eine Bibliothek unter Fedora vielleicht openssl-libs, unter openSUSE aber libopenssl1_1).
Wenn ein reguläres Leap-Update neue Basis-Pakete einspielen muss, dein Fedora-RPM aber auf ganz bestimmten Versionen oder Namen beharrt, entsteht ein Konflikt. zypper entscheidet sich im Zweifel immer für die Stabilität des Basis-Systems und entfernt das störende Fremdpaket (das Fedora-RPM), um das Update der Systempakete durchführen zu können.
Beispiel2
Vendor-Richtlinien (Anbieterwechsel)
openSUSE nutzt ein striktes "Vendor"-Konzept. Ein Paket aus den offiziellen Quellen hat als Vendor openSUSE. Dein selbst gebautes Paket hat vermutlich einen anderen oder gar keinen Vendor-Eintrag.
Besonders wenn zypper dup (Distribution Upgrade) verwendet wird, versucht zypper, alle Pakete auf den offiziellen System-Vendor glattzuziehen. Fremdpakete werden dabei oft gnadenlos durch die offiziellen Versionen ersetzt oder bei Inkompatibilitäten entfernt.
Beispiel3
Obsoletes (Ersetzungen)
Es kann vorkommen, dass ein offizielles openSUSE-Paket in seinen Metadaten definiert, dass es das von dir gebaute Paket ("obsoletes") obsolet macht. Sobald zypper dieses openSUSE-Paket installiert, löscht es automatisch das Paket, das als veraltet deklariert wurde.
Was da bei dir schief läuft weißt nur du, da du das aus einem Fedora.rpm gebaut hast, wie du sagst. Warum du nicht das Programm aus dem Software-Download nutzt ...
https://software.opensuse.org/package/rstudio
Sollte man als Profi aber auch finden können