Verständnisfrage zu zypper update,patch
Hallo zusammen, um meinen kleinen HP-Server automatisch zu aktualisieren, habe ich ein kleines Script gemacht, dass dies erledigen soll. Nur mit den Änderungsausgaben von zypper die möglich wären und die gemacht werden habe ich ein Verständnisproblem. OS: 15.4 Beispiel: zypper list-patches --with-optional listet 4 Softwareverwaltungs-Aktualisierungen und 291 Patches benötigt (145 Sicherheits-Patches) zypper list-updates listet 10 Pakete wenn ich dann mit zypper -vvv update -y --auto-agree-with-licenses --details --with-interactive --download-in-advance die Aktualisierung mache, werden nur 10 Pakete aktualisiert. Ich dachte bisher "zypper update" macht Updates UND Patches, was wohl nicht der Fall ist. Wahrscheinlich muss ich noch zusätzlich zypper --non-interactive patch machen (?) Ist das überhaupt eine sinnvolle Vorgehensweise ? Danke für ein bisschen Licht. viele Grüße Werner Franke
Versuch mal mit zypper patch --with-optional --dry-run ob das dann auch alle 245 optionalen Patches installieren würde. Eventuell muss auch erstmal die Paketverwaltung gepatcht werden (mit jenen 10 Paketen? Aber dann natürlich ohne --dry-run...), und dann musst du den Befehl für den Rest nochmal aufrufen. -- Viele Grüße - Kind Regards ____________________________________________________________ Michael Behrens ____________________________________________________________ PROSTEP AG, Dolivostraße 11, D-64293 Darmstadt HR: Amtsgericht Darmstadt, HRB 8383 Vorstand: Dr. Bernd Pätzold (Vorsitz), Dr. Karsten Theis Aufsichtsrat: Dr. Heinz-Gerd Lehnhoff (Vorsitz) ____________________________________________________________
Am 03.11.22 um 13:35 schrieb Michael Behrens:
Versuch mal mit
zypper patch --with-optional --dry-run
ob das dann auch alle 245 optionalen Patches installieren würde. Eventuell muss auch erstmal die Paketverwaltung gepatcht werden (mit jenen 10 Paketen? Aber dann natürlich ohne --dry-run...), und dann musst du den Befehl für den Rest nochmal aufrufen.
Danke. Das mit dem nochmaligen Aufruf von zypper (wenn die Paketverwaltung gepatcht wurde) habe ich in dem Script schon drin. Nach meiner Mail an die Liste habe ich die Option "--with-update" gefunden. Nur ist die recht sparsam dokumentiert. zypper help patch --with-update Versuchen Sie außerdem, alle Pakete zu aktualisieren, die nicht von Patches betroffen sind. Wenn mit dem Patch-Befehl zuerst der Aktualisierungsstapel aktualisiert werden muss, wird diese Option ignoriert. Kann nicht mit „Nur Aktualisierungsstapel“ kombiniert werden. Default: false Aktualisierungsstapel sind wahrscheinlich die yast/zypper programme Statt zypper update -y --auto-agree-with-licenses --with-interactive --download-in-advance werde ich nun zypper patch -y --with-update --auto-agree-with-licenses --with-interactive --download-in-advance benutzen. Mal sehen, ob dann nach den Patches auch noch die Updates installiert werden. Gruss Werner
Am 03.11.22 um 17:59 schrieb Werner Franke:
Am 03.11.22 um 13:35 schrieb Michael Behrens:
Versuch mal mit
zypper patch --with-optional --dry-run
ob das dann auch alle 245 optionalen Patches installieren würde. Eventuell muss auch erstmal die Paketverwaltung gepatcht werden (mit jenen 10 Paketen? Aber dann natürlich ohne --dry-run...), und dann musst du den Befehl für den Rest nochmal aufrufen.
Danke. Das mit dem nochmaligen Aufruf von zypper (wenn die Paketverwaltung gepatcht wurde) habe ich in dem Script schon drin.
Nach meiner Mail an die Liste habe ich die Option "--with-update" gefunden. Nur ist die recht sparsam dokumentiert. zypper help patch --with-update Versuchen Sie außerdem, alle Pakete zu aktualisieren, die nicht von Patches betroffen sind. Wenn mit dem Patch-Befehl zuerst der Aktualisierungsstapel aktualisiert werden muss, wird diese Option ignoriert. Kann nicht mit „Nur Aktualisierungsstapel“ kombiniert werden. Default: false
Aktualisierungsstapel sind wahrscheinlich die yast/zypper programme
Statt
zypper update -y --auto-agree-with-licenses --with-interactive --download-in-advance
werde ich nun
zypper patch -y --with-update --auto-agree-with-licenses --with-interactive --download-in-advance
benutzen. Mal sehen, ob dann nach den Patches auch noch die Updates installiert werden.
Funktioniert nicht so recht: zypper patch -y --with-update --auto-agree-with-licenses --skip-interactive --download-in-advance Repository-Daten werden geladen... Installierte Pakete werden gelesen... Warnung: Patch 'openSUSE-SLE-15.4-2022-3806-1' ist interaktiv, übersprungen. Warnung: Patch 'openSUSE-SLE-15.4-2022-3844-1' ist interaktiv, übersprungen. Warnung: Patch 'openSUSE-SLE-15.4-2022-3293-1' ist interaktiv, übersprungen. Warnung: Patch 'openSUSE-SLE-15.4-2022-2960-1' ist interaktiv, übersprungen. Warnung: Patch 'openSUSE-SLE-15.4-2022-2992-1' ist interaktiv, übersprungen. Warnung: Patch 'openSUSE-SLE-15.4-2022-2597-1' ist interaktiv, übersprungen. Warnung: Patch 'openSUSE-SLE-15.4-2022-2469-1' ist interaktiv, übersprungen. Warnung: Patch 'openSUSE-SLE-15.4-2022-2520-1' ist interaktiv, übersprungen. Warnung: Patch 'openSUSE-SLE-15.4-2022-2296-1' ist interaktiv, übersprungen. Warnung: Patch 'openSUSE-SLE-15.4-2022-1923-1' ist interaktiv, übersprungen. Warnung: Patch 'openSUSE-SLE-15.4-2022-2920-1' ist interaktiv, übersprungen. Warnung: Patch 'openSUSE-SLE-15.4-2022-2803-1' ist interaktiv, übersprungen. Paketabhängigkeiten werden aufgelöst... Problem: das zu installierende patch:openSUSE-SLE-15.4-2022-2969-1.noarch steht im Konflikt mit 'libswscale5_9.x86_64 < 4.4-150400.3.2.1', das vom installierten libswscale5_9-4.4-pm154.2.7.x86_64 bereitgestellt wird Lösung 1: Folgende Aktionen werden ausgeführt: libswscale5_9-4.4-150400.3.2.1.x86_64 von Hersteller SUSE LLC <https://www.suse.com/> installieren und libswscale5_9-4.4-pm154.2.7.x86_64 von Hersteller http://packman.links2linux.de ersetzen libswresample3_9-4.4-150400.3.2.1.x86_64 von Hersteller SUSE LLC <https://www.suse.com/> installieren und libswresample3_9-4.4-pm154.2.7.x86_64 von Hersteller http://packman.links2linux.de ersetzen libpostproc55_9-4.4-150400.3.2.1.x86_64 von Hersteller SUSE LLC <https://www.suse.com/> installieren und libpostproc55_9-4.4-pm154.2.7.x86_64 von Hersteller http://packman.links2linux.de ersetzen libavutil56_70-4.4-150400.3.2.1.x86_64 von Hersteller SUSE LLC <https://www.suse.com/> installieren und libavutil56_70-4.4-pm154.2.7.x86_64 von Hersteller http://packman.links2linux.de ersetzen libavresample4_0-4.4-150400.3.2.1.x86_64 von Hersteller SUSE LLC <https://www.suse.com/> installieren und libavresample4_0-4.4-pm154.2.7.x86_64 von Hersteller http://packman.links2linux.de ersetzen libavformat58_76-4.4-150400.3.2.1.x86_64 von Hersteller SUSE LLC <https://www.suse.com/> installieren und libavformat58_76-4.4-pm154.2.7.x86_64 von Hersteller http://packman.links2linux.de ersetzen libavfilter7_110-4.4-150400.3.2.1.x86_64 von Hersteller SUSE LLC <https://www.suse.com/> installieren und libavfilter7_110-4.4-pm154.2.7.x86_64 von Hersteller http://packman.links2linux.de ersetzen libavdevice58_13-4.4-150400.3.2.1.x86_64 von Hersteller SUSE LLC <https://www.suse.com/> installieren und libavdevice58_13-4.4-pm154.2.7.x86_64 von Hersteller http://packman.links2linux.de ersetzen libavcodec58_134-4.4-150400.3.2.1.x86_64 von Hersteller SUSE LLC <https://www.suse.com/> installieren und libavcodec58_134-4.4-pm154.2.7.x86_64 von Hersteller http://packman.links2linux.de ersetzen ffmpeg-4-4.4-150400.3.2.1.x86_64 von Hersteller SUSE LLC <https://www.suse.com/> installieren und ffmpeg-4-4.4-pm154.2.7.x86_64 von Hersteller http://packman.links2linux.de ersetzen Lösung 2: patch:openSUSE-SLE-15.4-2022-2969-1.noarch nicht installieren Wählen Sie aus den obigen Lösungen mittels Nummer oder brechen Sie (a)b [1/2/a/d/?] (a): a Gibt es eine Option, womit ich zypper sagen kann, dass er Pakete, die einen Konflikt haben, nicht berücksichtigen soll ? Aber zumindest Melden wäre schön, damit man das mitbekommt und darauf reagieren kann. Oder ist der komplette Befehl oben so nicht möglich ? Mit zypper -vvv update -y --auto-agree-with-licenses --details --with-interactive --download-in-advance hatte ich einen solchen Fall bisher noch nie und das Script läuft schon seit mindestens einem Jahr. Danke für einen Tipp. viele Grüße Werner
Sieht für mich aus, als müsstest du erst mal von Hand "Systempakete auf die Versionen in diesem Repository umstellen", wenn du in "yast sw_single" im Tab "Repositories" das packman-Repo auswählst. -- Viele Grüße Michael Behrens
Hallo Michael, Am 04.11.22 um 09:29 schrieb Michael Behrens:
Sieht für mich aus, als müsstest du erst mal von Hand "Systempakete auf die Versionen in diesem Repository umstellen", wenn du in "yast sw_single" im Tab "Repositories" das packman-Repo auswählst.
Verstehe ich nicht so recht. Meinst du, dass ich unten was ändern sollte ? Wie ? # | Name |Prio| URI ---+-----------------------------------------------------------+----+-------------------------------------------------------------------- 9 | Packman Repository | 60 | https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_15.4/ 1 | Haupt-Repository (NON-OSS) | 98 | http://download.opensuse.org/distribution/leap/15.4/repo/non-oss/ 2 | Update-NON-OSS-Repository | 98 | http://download.opensuse.org/update/leap/15.4/non-oss/ 3 | Haupt-Repository (OSS) | 98 | http://download.opensuse.org/distribution/leap/15.4/repo/oss/ 4 | Update-Haupt-Repository | 98 | http://download.opensuse.org/update/leap/15.4/oss 6 | openSuse - devel:languages:perl | 98 | http://download.opensuse.org/repositories/devel:/languages:/perl/15.4/ 7 | openSUSE BuildService - Editors | 98 | http://download.opensuse.org/repositories/editors/openSUSE_Leap_15.4/ 8 | openSUSE - server:/php | 98 | https://download.opensuse.org/repositories/server:/php:/applications/15.4 11 | Update repository of openSUSE Backports | 99 | http://download.opensuse.org/update/leap/15.4/backports/ 17 | Update rep with updates from SUSE Linux Enterprise 15 | 99 | http://download.opensuse.org/update/leap/15.4/sle/ Ich habe in der Zwischenzeit weiter getestet und einige Erfolge erzielen können. Es lag an meinem Missverstehen von zypper Argumenten. --skip-interactive Ich dachte bisher, dass sich interactive auf die Fragen bezieht, wenn für einen Patch/Update Abhängigkeiten nicht auflösen lassen und man interaktiv eingreifen muss. Ist nicht so, weil alle Kernel-Patches bei --skip-interactive nicht installiert wurden. Bei --with-interactive wurden sie installiert, aber da war nichts Interactives dran. Meine große Anzahl an nicht erledigten Patches lag auch daran, dass Abhängigkeiten nicht gepasst haben, die mit dem von mir verwendeten Befehl auch nicht aufgelöst wurden. Nachdem die Abhängigkeiten nicht gravieren waren, habe ich es mit --force-resolution geschafft, dass alle Patches und Updates installiert wurden. Dieses Argument werde ich jedoch lieber nicht in mein Script einbauen. Das mache ich dann doch gelegentlich lieber Interaktiv mit YAST2 Ich habe men Update-Script nun so geändert, dass ich zuerst Paketmanagements patche und danach den Rest: zypper patch -y --updatestack-only --download-in-advance zypper patch -y --with-update --auto-agree-with-licenses --with-interactive --download-in-advance Damit läuft es nun besser. Noch jemand Tipps dazu ? viele Grüße Werner
Am 09.11.22 um 11:42 schrieb Werner Franke:
Hallo Michael,
Am 04.11.22 um 09:29 schrieb Michael Behrens:
Sieht für mich aus, als müsstest du erst mal von Hand "Systempakete auf die Versionen in diesem Repository umstellen", wenn du in "yast sw_single" im Tab "Repositories" das packman-Repo auswählst.
Verstehe ich nicht so recht. Meinst du, dass ich unten was ändern sollte ? Wie ? ...
Ich verwende auch das packman-Repository, und hatte schon mal den Fall, das Binaries aus Packman-Paketen mit den von ihnen benötigten Binaries aus openSUSE-Paketen nicht so richtig wollten und Fehler zeigten. In dem Fall sollte man tun, was ich oben schon geschrieben habe:
... von Hand "Systempakete auf die Versionen in diesem Repository umstellen", wenn du in "yast sw_single" im Tab "Repositories" das packman-Repo auswählst.
Wenn dein System mit den von dir beschrieben Änderungen jetzt richtig funktioniert, kannst du das aber auch lassen. -- Viele Grüße - Kind Regards ____________________________________________________________ Michael Behrens ____________________________________________________________ PROSTEP AG, Dolivostraße 11, D-64293 Darmstadt HR: Amtsgericht Darmstadt, HRB 8383 Vorstand: Dr. Bernd Pätzold (Vorsitz), Dr. Karsten Theis Aufsichtsrat: Dr. Heinz-Gerd Lehnhoff (Vorsitz) ____________________________________________________________
participants (3)
-
Michael Behrens
-
Michael Behrens
-
Werner Franke