Update-Probleme beheben

Durch einen Fehler im selinux-policy-3.12.1-116.fc20 Paket kommt es bei der Installation oder dem Update von Paketen, die so genannte Scriptlets nutzen, zu einer Fehlermeldung und dem Abbruch der Installation/des Updates.

Die Fehlermeldung lautet

warning: %post(libkcompactdisc-4.12.1-1.fc20.x86_64) scriptlet failed, exit status 127
Non-fatal POSTIN scriptlet failure in rpm package libkcompactdisc-4.12.1-1.fc20.x86_64

wobei der Name des betroffenen Paketes natürlich variiert.

Um das Problem zu beheben, sind zuerst folgende Schritte nötig, um die korrigierte SELinux Policy zu installieren:

su -
setenforce 0
yum clean expire-cache
yum update selinux-policy
setenforce 1
Zur Erklärung: zuerst wird SELinux temporär deaktiviert, damit das Update fehlerfrei installiert werden kann. Anschließend wird zuerst der Cache von yum geleert und als nächstes das Update für die SELinux Policy installiert. Zum Schluss wird SELinux wieder reaktiviert.

Anschließend sollte man sicherheitshalber mittels

package-cleanup --dupes

nach doppelt installierten Paketen suchen und falls welche gefunden werden, sollten diese Dopplungen anschließend unbedingt mittels

package-cleanup --cleandupes

bereinigt werden, um möglichen Problemen bei zukünftigen Updates von vornherein aus dem Weg zu gehen. Andernfalls kann es passieren, das zukünftige Updates aufgrund der doppelten Pakete ebenfalls fehlschlagen.

Von Heiko

Gründer, Admin und Hauptautor von Fedora-Blog.de. Benutzt Fedora seit Core 4, hat nach Core 6 aber bis zum Release von Fedora 12 einen Abstecher zu CentOS gemacht, ist inzwischen aber wieder zu Fedora zurückgekehrt und plant auch nicht, daran in naher Zukunft etwas zu ändern.

4 Kommentare

  1. Kann es sein, dass es statt:
    yum clean expire cache
    heißen muss:
    yum clean expire-cache
    und statt:
    yum update selinux-policy
    heißen muss:
    yum update selinux-policy-targeted?

    Beste Grüße
    Robert S.

    1. Ja und Nein. Es heißt in der Tat yum clean expire-cache. Das yum update selinux-policy passt schon so, da so alle selinux-policy Pakete aktualisiert werden. Alternativ kann man natürlich auch yum update selinux-policy\* verwenden.

      1. Hallo,

        auch bei mir war das Paket „selinux-policy-targeted“ das jenige welches den Fehler behoben hat. Aber mit „update“ war es nicht getan, da es teilweise schon installiert war. Hier half mir ein:

        yum reinstall selinux-policy*

        Danke aber für den Tipp, nach dem ich sonst wieder Stundenlang google hätte befragen müssen. 🙂

        Ciao Nico

  2. Durch diesen Artikel und Robert S. Kommentar bzw. der darin erwähnten Befehle klappt die Aktualisierung wieder. Danke an Euch beide.

Kommentare sind geschlossen.