Geschütztes Systempaket blockiert Updates

Nachdem ich neulich hier so tolle Hilfe bekommen habe, hoffe ich, dass das nochmal so hervorragend klappt.

In Kürze:
Das veraltete Paket autoyast2-installation-2.23.5-1.1.1.noarch lässt sich nicht entfernen und blockiert alle weiteren Updates und Patches.

Etwas ausführlicher:
YaST Auto-Update möchte den Patch “openSUSE-2013-362” installieren.
Im Laufe der Prozedur soll das Paket “autoyast2-installation” entfernt werden.

Es folgt ein Abbruch mit der Fehlermeldung:
http://imageshack.us/scaled/modthumb/521/autoyasterrormsg.png](http://img521.imageshack.us/img521/113/autoyasterrormsg.png)
Uploaded with ImageShack.us

  • Ein geschütztes Systempaket kann nicht entfernt werden.
  • Das Entfernen eines geschützten Systempakets ist nicht erlaubt.
  • Details:Subprocess failed. Error: RPM failed: error: autoyast2-installation-2.23.5-1.1.1.noarch is not installed

Dann steckt YaST in einer “Schleife”, die mit jedem weiteren Klick nur wieder genau hierhin führt.

autoyast2-installation-2.23.5-1.1.1 ist sehr wohl installiert,
aber gleichzeitig auch 2.23.6-1.4.1 (siehe weiter unten).

Ich habe in der Softwareverwaltung eher sparsam mit den verschiedenen Optionen rumgespielt, um nicht zuviel zu verschlimmbessern.
Ich habe mich als root angemeldet, und hab’s teilweise nochmal durchgespielt.
Ich bin auch mit zypper im Dunkeln herumgetappt. Folgt weiter unten.

Nun sind ein paar Fragen aufgelaufen:

  • Wie kann ich das Entfernen eines Paketes erzwingen?
  • Wie kann ich ein Systempaket “ent-schützen”?
  • Sollte ich autoyast komplett de- und dann neu installieren?
  • Welche Risiken bergen diese Ansätze?
  • Verwende ich zypper sinnvoll?
  • Bringt mich eventuell der Konsolenbefehl rpm voran?
  • Welche Zeilen aus /var/log/zypper.log könnten relevant sein?
  • Was musst du noch wissen, um mir helfen zu können?
  • Welche weiteren Ideen hast du?

Mein System:
Board: Gigabyte K8NF4G-SATA2
CPU: AMD Sempron 3000+
Grafik: nVidia GT200 [GeForce 210]

Linux 3.7.10-1.1-desktop
openSUSE 12.3 (i586)
KDE 4.10.00 release 1

Da sich Konsolen-Output hier besser reinkopieren lässt, habe ich im folgenden zypper benutzt.


# zypper verify
The following package is going to be REMOVED:
  autoyast2-installation 

1 package to remove.
Some of the dependencies of installed packages are broken. In order to fix these dependencies, the following actions need to be taken:
Continue? [y/n/?] (y): y               
(1/1) Removing autoyast2-installation-2.23.5-1.1.1 ......................[error]
Removal of (45313)autoyast2-installation-2.23.5-1.1.1.noarch(@System) failed:
Error: Subprocess failed. Error: RPM failed: error: package autoyast2-installation-2.23.5-1.1.1.noarch is not installed
[Abbruch durch Benutzer]

Vorhandene Repositories
#7 ist die Installations-DVD. Ersetzt durch deren Image (#8).
Deaktivieren von #8 brachte keinen Erfolg.
Alle Repositories haben die Priorität 99.


$ zypper repos
#  | Alias                       | Name                               | Aktiviert | Aktualisieren
---+-----------------------------+------------------------------------+-----------+--------------
 1 | KDE:Extra                   | KDE:Extra                          | Ja        | Ja           
 2 | LibreOffice:Stable          | LibreOffice:Stable                 | Ja        | Ja           
 3 | NVidia_Grafik               | NVidia Grafik                      | Ja        | Ja           
 4 | Packman_Bremen              | Packman Bremen                     | Ja        | Ja           
 5 | Updated_Apps                | Updated Apps                       | Ja        | Ja           
 6 | libdvdcss repository        | libdvdcss repository               | Ja        | Ja           
 7 | openSUSE-12.3-1.7           | openSUSE-12.3-1.7                  | Nein      | Nein         
 8 | openSUSE_12.3_DVD_ISO_Image | openSUSE 12.3 DVD ISO Image        | Ja        | Nein         
 9 | repo-debug                  | openSUSE-12.3-Debug                | Nein      | Ja           
10 | repo-debug-update           | openSUSE-12.3-Update-Debug         | Nein      | Ja           
11 | repo-debug-update-non-oss   | openSUSE-12.3-Update-Debug-Non-Oss | Nein      | Ja           
12 | repo-non-oss                | openSUSE-12.3-Non-Oss              | Ja        | Ja           
13 | repo-oss                    | openSUSE-12.3-Oss                  | Ja        | Ja           
14 | repo-source                 | openSUSE-12.3-Source               | Nein      | Ja           
15 | repo-update                 | openSUSE-12.3-Update               | Ja        | Ja           
16 | repo-update-non-oss         | openSUSE-12.3-Update-Non-Oss       | Ja        | Ja

Ausstehende Patches, Updates und was passiert, wenn ich sie installieren will:


$ zypper list-patches
Repository           | Name              | Version | Kategorie   | Status       | Zusammenfassung  
---------------------+-------------------+---------+-------------+--------------+------------------
openSUSE-12.3-Update | openSUSE-2013-362 | 1       | recommended | erforderlich | autoyast2: Seve->

# zypper patch
Paketabhängigkeiten auflösen ...

Der folgende NEUE Patch wird installiert:
  openSUSE-2013-362 

Das folgende Paket wird GELÖSCHT:
  autoyast2-installation 

Das folgende Paket wird aktualisiert:
  autoyast2 

1 Paket wird aktualisiert, 1 zu entfernen.
Gesamtgröße des Downloads: 523,9 KiB. Nach dem Vorgang werden 1,5 MiB freigegeben.
Fortfahren? [j/n/?] (j): j
Paket autoyast2-2.23.6-1.4.1.noarch wird abgerufen            (1/1), 523,9 KiB (  1,6 MiB entpackt)
Delta wird abgerufen: ./noarch/autoyast2-2.23.5_2.23.6-1.1.1_1.4.1.noarch.drpm, 51,8 KiB
Abruf: autoyast2-2.23.5_2.23.6-1.1.1_1.4.1.noarch.drpm .......................[fertig (31,5 KiB/s)]
Delta wird angewendet: ./autoyast2-2.23.5_2.23.6-1.1.1_1.4.1.noarch.drpm ..................[fertig]
(1/3) Installation von: autoyast2-2.23.6-1.4.1 ............................................[fertig]
Zusätzliche rpm-Ausgabe:
Updating /etc/sysconfig/autoinstall...
(2/3) autoyast2-installation-2.23.5-1.1.1 wird entfernt ...................................[fertig]
(3/3) autoyast2-installation-2.23.5-1.1.1 wird entfernt ...................................[Fehler]
Entfernung von (40408)autoyast2-installation-2.23.5-1.1.1.noarch(@System) fehlgeschlagen:
Fehler: Subprocess failed. Error: RPM fehlgeschlagen: error: package autoyast2-installation-2.23.5-1.1.1.noarch is not installed
[Abbruch durch Benutzer]


$ zypper list-updates --all
S | Repository        | Name                | Aktuelle Version | Verfügbare Version | Arch  
--+-------------------+---------------------+------------------+--------------------+-------
v | Updated Apps      | kde-gtk-config      | 2.1.1-4.1.1      | 2.2.1-15.1         | i586  
v | Updated Apps      | kde-gtk-config-lang | 2.1.1-4.1.1      | 2.2.1-15.1         | noarch
v | Updated Apps      | kdevelop4           | 4.4.1-2.1.2      | 4.5.0-77.1         | i586  
v | Updated Apps      | kdevelop4-lang      | 4.4.1-2.1.2      | 4.5.0-77.1         | noarch
v | Updated Apps      | kdevplatform        | 1.4.1-2.1.1      | 1.5.0-90.1         | i586  
v | Updated Apps      | kdevplatform-lang   | 1.4.1-2.1.1      | 1.5.0-90.1         | noarch
v | openSUSE-12.3-Oss | tomahawk-kde        | 0.4.2-2.1.2      | 0.6.0-2.2.2        | i586

# zypper up
Die folgenden Paketaktualisierungen werden NICHT installiert:
  kde-gtk-config kde-gtk-config-lang kdevelop4 kdevelop4-lang kdevplatform kdevplatform-lang 
  tomahawk-kde 
Keine auszuführenden Aktionen.

Installierte Versionen von autoyast2*:


$ zypper search -si autoyast2*
S | Name                   | Typ   | Version      | Arch   | Repository                 
--+------------------------+-------+--------------+--------+----------------------------
i | autoyast2              | Paket | 2.23.6-1.4.1 | noarch | openSUSE-12.3-Update       
i | autoyast2-installation | Paket | 2.23.6-1.4.1 | noarch | openSUSE-12.3-Update       
i | autoyast2-installation | Paket | 2.23.5-1.1.1 | noarch | openSUSE 12.3 DVD ISO Image

$ zypper info autoyast2-installation
Informationen für Paket autoyast2-installation:

Repository: openSUSE-12.3-Update
Name: autoyast2-installation
Version: 2.23.6-1.1
Arch: noarch
Anbieter: openSUSE
Installiert: Ja
Status: aktuell
Installierte Größe: 1,5 MiB
Zusammenfassung: YaST2 Auto-Installationsmodule
Beschreibung: 
This package performs auto-installation relying on a control file
generated with the autoyast2 package.

$ zypper info autoyast2
Informationen für Paket autoyast2:

Repository: openSUSE-12.3-Update
Name: autoyast2
Version: 2.23.6-1.4.1
Arch: noarch
Anbieter: openSUSE
Installiert: Ja
Status: aktuell
Installierte Größe: 1,6 MiB
Zusammenfassung: YaST2 - automatische Installation
Beschreibung: 
This package is intended for management of the control files and the
AutoYaST2 configurations. This system should only be used by
experienced system administrators. Warning: AutoYaST2 performs the
installation without any user intervention, warnings, or confirmations
(unless specified otherwise in the control file).

This file contains YaST2-independent files needed to create
installation sources.

Keine gesperrten Pakete


$ zypper locks
Es sind keine Paketsperren definiert.

$ zypper cleanlocks
0 Sperren entfernt

Erster Ansatz:

  • DVD-Image Repo (#8) deaktivieren
  • Rückaktualisierung von autoyast2-installation-2.23.6 > 2.23.5

# zypper mr -d 8
Repository 'openSUSE_12.3_DVD_ISO_Image' wurde erfolgreich deaktiviert.

# zypper install --force autoyast2-installation-2.23.5-1.1.1.noarch
Installation von 'autoyast2-installation-2.23.5-1.1.1.noarch' aus Repository 'openSUSE-12.3-Oss' wird erzwungen.
Paketabhängigkeiten auflösen ...

Problem: autoyast2-2.23.6-1.4.1.noarch benötigt autoyast2-installation = 2.23.6, was aber nicht angeboten werden kann
Lösung 1: Rückaktualisierung von autoyast2-2.23.6-1.4.1.noarch zu autoyast2-2.23.5-1.1.1.noarch
Lösung 2: autoyast2-installation-2.23.5-1.1.1.noarch nicht installieren
Lösung 3: autoyast2-2.23.6-1.4.1.noarch beschädigen durch Ignorieren einiger Abhängigkeiten

Wählen Sie aus den obigen Lösungen mittels Nummer oder brechen Sie a(b). [1/2/3/b] (b): 1

Das folgende Paket wird GELÖSCHT:
  autoyast2-installation 

Das folgende Paket wird durch eine ältere Version ausgetauscht:
  autoyast2 

Das folgende Paket wird erneut installiert:
  autoyast2-installation 

1 Paket wird zurückgestuft, 1 erneut zu installieren, 1 zu entfernen.
Gesamtgröße des Downloads: 730,4 KiB. Nach dem Vorgang werden 1,5 MiB freigegeben.
Fortfahren? [j/n/?] (j): j
Paket autoyast2-installation-2.23.5-1.1.1.noarch wird abgerufen
                                                              (1/2), 207,1 KiB (  1,5 MiB entpackt)
Abruf: autoyast2-installation-2.23.5-1.1.1.noarch.rpm ........................[fertig (92,8 KiB/s)]
Paket autoyast2-2.23.5-1.1.1.noarch wird abgerufen            (2/2), 523,4 KiB (  1,6 MiB entpackt)
Abruf: autoyast2-2.23.5-1.1.1.noarch.rpm ....................................[fertig (112,5 KiB/s)]
(1/2) Installation von: autoyast2-installation-2.23.5-1.1.1 ...............................[fertig]
(2/2) Installation von: autoyast2-2.23.5-1.1.1 ............................................[fertig]
Zusätzliche rpm-Ausgabe:
Updating /etc/sysconfig/autoinstall...

Kein Erfolg: Erneutes Update liefert die bekannte Fehlermeldung.
(Danach Repo #8 re-aktiviert.)

Zweiter Ansatz:
Entfernen von autoyast2-installation-2.23.5-1.1.1


# zypper rm --force-resolution --clean-deps --name autoyast2-installation-2.23.5-1.1.1.noarch
Paketabhängigkeiten auflösen ...

Das folgende Paket wird GELÖSCHT:
  autoyast2-installation 

1 zu entfernendes Paket.
Nach dem Vorgang werden 1,5 MiB freigegeben.
Fortfahren? [j/n/?] (j): j
(1/1) autoyast2-installation-2.23.5-1.1.1 wird entfernt ...................................[Fehler]
Entfernung von (40408)autoyast2-installation-2.23.5-1.1.1.noarch(@System) fehlgeschlagen:
Fehler: Subprocess failed. Error: RPM fehlgeschlagen: error: package autoyast2-installation-2.23.5-1.1.1.noarch is not installed
[Abbruch durch Benutzer]

Dry-Run war ohne Fehlermeldung, im Ernstfall dann aber doch.

Dritter Ansatz:
Entfernen von autoyast2-installation-2.23.6-1.4.1


# zypper rm --force-resolution --clean-deps --name autoyast2-installation-2.23.6-1.4.1.noarch
Paketabhängigkeiten auflösen ...

Das folgende Paket wird GELÖSCHT:
  autoyast2-installation 

Das folgende Paket wird durch eine ältere Version ausgetauscht:
  autoyast2 

1 Paket wird zurückgestuft, 1 zu entfernen.
Gesamtgröße des Downloads: 523,4 KiB. Nach dem Vorgang werden 1,5 MiB freigegeben.
Fortfahren? [j/n/p/?] (j): j
Paket autoyast2-2.23.5-1.1.1.noarch wird abgerufen            (1/1), 523,4 KiB (  1,6 MiB entpackt)
Abruf: autoyast2-2.23.5-1.1.1.noarch.rpm .....................................[fertig (70,4 KiB/s)]
(1/2) Installation von: autoyast2-2.23.5-1.1.1 ............................................[fertig]
Zusätzliche rpm-Ausgabe:
Updating /etc/sysconfig/autoinstall...
(2/2) autoyast2-installation-2.23.6-1.4.1 wird entfernt ...................................[fertig]

Keine Fehlermeldung
Neustart.
Alles beim Alten: Erneutes Update liefert die bekannte Fehlermeldung.

Zur Erinnerung nochmal meine Fragen von vorhin:

  • Wie kann ich das Entfernen eines Paketes erzwingen?
  • Wie kann ich ein Systempaket “ent-schützen”?
  • Sollte ich autoyast komplett de- und dann neu installieren?
  • Welche Risiken bergen diese Ansätze?
  • Verwende ich zypper sinnvoll?
  • Bringt mich eventuell der Konsolenbefehl rpm voran?
  • Welche Zeilen aus /var/log/zypper.log könnten relevant sein?
  • Was musst du noch wissen, um mir helfen zu können?
  • Welche weiteren Ideen hast du?

Vielen Dank für dein Interesse.
Alle Anregungen und Kommentare sind willkommen.

Tja, also zypper meint autoyast-installation-2.23.5 ist installiert, rpm sagt aber es ist nicht installiert.
Einer von beiden muss unrecht haben…

Versuch mal zyppers caches zu löschen:

zypper clean -a

Falls das nicht hilft, probier mal die rpm-Datenbank neu aufzubauen:

rpm --rebuilddb

Hi Wolfi,
vielen Dank für die schnelle Antwort.
Hab’s noch nicht so raus, wie zypper am effektivsten benutzt wird.

Mal schauen was passiert…


# zypper clean -a
Alle Repositories wurden bereinigt.

# zypper verify
Metadaten von Repository 'KDE:Extra' werden abgerufen ......................................................[fertig]
Zwischenspeicher für Repository 'KDE:Extra' wird erzeugt ...................................................[fertig]
[Dito für die anderen Repos]

Das folgende Paket wird GELÖSCHT:
  autoyast2-installation 

1 zu entfernendes Paket.
Nach dem Vorgang werden 1,5 MiB freigegeben.
Einige der Abhängigkeiten der installierten Pakete sind beschädigt. Um diese Abhängigkeiten zu reparieren, müssen die folgenden Aktionen ausgeführt werden:
Fortfahren? [j/n/?] (j): j
(1/1) autoyast2-installation-2.23.6-1.4.1 wird entfernt ....................................................[fertig]
Ein Problem trat während oder nach der Installation/Entfernung von Paketen auf:
Failed to cache rpm database (1).
Sehen Sie sich bitte die obige Fehlermeldung an, um einen Hinweis zu bekommen.

$ zypper search -si autoyast*
S | Name                   | Typ   | Version      | Arch   | Repository          
--+------------------------+-------+--------------+--------+---------------------
i | autoyast2              | Paket | 2.23.6-1.4.1 | noarch | openSUSE-12.3-Update
i | autoyast2-installation | Paket | 2.23.6-1.4.1 | noarch | openSUSE-12.3-Update

Da ist die elende alte Version schonmal nicht mehr dabei.

Die rpm-Fehlermeldung könnte zu deinem 2ten Tipp passen:


# rpm --rebuilddb
[Ohne Meckern ausgeführt]

# zypper verify
Abhängigkeiten aller installierten Pakete sind erfüllt.

# zypper patch
Paketabhängigkeiten auflösen ...
Keine auszuführenden Aktionen.

Ist ja super! Vielen Dank :slight_smile:

Mindestens eine Baustelle scheine ich aber noch zu haben:


# zypper up
Die folgenden Paketaktualisierungen werden NICHT installiert:
  kde-gtk-config kde-gtk-config-lang kdevelop4 kdevelop4-lang kdevplatform kdevplatform-lang tomahawk-kde 

Keine auszuführenden Aktionen.

Ist genau die Meldung von früher.
Vielleicht gehört das gar nicht zu diesem Thema…

Auf jeden Fall bin ich einen Großen Schritt weiter.
Vielen Dank nochmal.

Bitte, gern geschehen! :wink:

Mindestens eine Baustelle scheine ich aber noch zu haben:

zypper up

Die folgenden Paketaktualisierungen werden NICHT installiert:
kde-gtk-config kde-gtk-config-lang kdevelop4 kdevelop4-lang kdevplatform kdevplatform-lang tomahawk-kde

Keine auszuführenden Aktionen.

 Ist genau die Meldung von früher.
Vielleicht gehört das gar nicht zu diesem Thema...

Auf jeden Fall bin ich einen Großen Schritt weiter.
Vielen Dank nochmal.

Tja, das ist kein Fehler, sondern ein Hinweis.
Es bedeutet, dass von diesen Paketen Versionen in anderen aktivierten repos vorhanden sind, die aber nicht installiert werden, weil “zypper up” für Pakete nicht von sich aus das repo wechselt (sicherheitshalber).
Jetzt wärs halt interessant zu wissen, was für andere Versionen es da noch gibt. Das kannst du z.B. mit

zypper se -s  kdevelop4

rausfinden. Installieren kannst du ein Paket aus einem anderen repo z.B. indem du die genaue Version mit angibst:

zypper in kdevelop4-4.5.0-68.5

Du kannst das aber auch in YaST->Software installieren oder löschen machen, indem du das Paket auswählst und rechts unten auf den “Versionen” Tab klickst. Dann kannst du auch wählen, welche Version installiert werden soll.

Letztlich werde ich doch noch zum Kommandozeilen-Fan…
Zumal das YaST Online Update einen bösartigen Sinn für Humor zu haben scheint.
[Weiteres ironisches Geläster unterdrückt ;)]

Bin nun also mit meinen Updates im Reinen, auch wenn ich nicht alles verstehe, was da so abgelaufen ist.

Vielen Dank für die Hilfe

Gruß,
Henning