Elemente aus rpm-Paket fehlen

Ich würde gern verstehen warum rpm es OK findet dass ein Verzeichnis zu einem Paket gehört und nicht existiert. (unter Slowroll)

slowy:~ #  ll /etc/init.d
ls: Zugriff auf '/etc/init.d' nicht möglich: Datei oder Verzeichnis nicht gefunden
slowy:~ #  rpm -qa|grep sysv
sysvinit-tools-3.14-1.3.x86_64
systemd-sysvcompat-258.5-1.1.x86_64
slowy:~ #  rpm -ql aaa_base|grep init
/etc/init.d
/etc/init.d/after.local
/etc/init.d/boot.local
/etc/inittab
slowy:~ #  rpm --verify aaa_base
slowy:~ #

Keine Idee wo dein sysvinit-tools-3.14-1.3.x86_64 her kommt, aber sysvinit wird schon seit Jahre nicht mehr benutzt. Und daher existieert /etc/init.d auch nicht mehr.

Vmware benutzt die Sys-V-Sachen noch und mit Hilfe von systemd-sysvcompat kann man solche “Altlasten” in systemd integrieren. Aber das Verzeichnis /etc/init.d und zwei Dateien darin gehören zum installierten Paket aaa_base. Nichts davon ist vorhanden und beim Verify des Pakets aaa_base wird trotzdem nichts angemeckert. Sehr sonderbar.

# rpm -q --whatprovides /etc/init.d
filesystem-15.0-11.8.1.x86_64

# rpm -ql filesystem |grep -i init.d
/etc/init.d

Regelmässig die Installation der Softwarepakete kontrollieren:

# rpm -Va
# chkstat --system --warn

Du hast augenscheinlich ein anderes System. Ich habe:

:~ #  rpm -q --whatprovides /etc/init.d
aaa_base-84.87+git20260210.ecce285-1.2.x86_64
:~ #  rpm -ql filesystem |grep -i init.d
:~ #  rpm -q filesystem
filesystem-84.87-20.2.x86_64
:~ # grep '^NAME' /etc/os-release 
NAME="openSUSE Tumbleweed-Slowroll"

Des Rätsels Lösung sind augenscheinlich “rpm ghost directories”.

In aaa_base ist /etc/init.d als ghost-directory angegeben. Sie soll also nicht angelegt, aber modifiziert und beim Deinstallieren gelöscht werden.

In /etc/init.d sind laut rpm die Dateien after.local und boot.local. Sie sollten angelegt jedoch nicht überschrieben und beim Deinstallieren nicht mit gelöscht werden.

Bei Konflikten zwischen diesen beiden Regeln gelten augenscheinlich besondere Regeln.

Aber immerhin wird die Schweigsamkeit von rpm-verify damit einigermaßen verständlich.