fragen stichworte

yum - Installationspaket zum Ersetzen von Dateien

Ich möchte ein Paket mit yum installieren und nicht mit rpm, aber mit demselben Verhalten wie --replacefiles in rpm. Ich habe ein Paket, das Dateikonflikte mit anderen hat, und ich muss zwangsweise mit yum installieren. Dieses Paket gehört mir, daher kann ich die Spezifikationsdatei ändern.

antworten

Wenn Sie die Spezifikationsdatei ändern können, können Sie möglicherweise die Dateien entfernen, die im Abschnitt "Dateien" Konflikte verursachen. Spezifizieren Sie einen Ordner in diesem Bereich? oder Datei für Datei?

Sie können dazu Trigger-Scriptlets verwenden.

Nehmen wir zur Veranschaulichung an, dass die Datei /etc/contested einer RPM mit dem Namen generally gehört, und Sie haben ein anderes Paket (specifically), das dieselbe Datei erzwingen möchte.

In specifically.spec installieren Sie die neue Version der Datei in %{_datadir}/%{name}/etc.contested und verwenden dieses Trigger-Scriptlet, um sie unter /etc zu installieren:

%triggerin -- generally install -m 0644 %{_datadir}/%{name}/etc.contested %{_sysconfdir}/contested

Das Scriptlet wird jedes Mal ausgeführt, wenn generally installiert oder aktualisiert wird, sowie jedes Mal, wenn specifically installiert oder aktualisiert wird.

RPM stellt immer noch fest, dass die Datei nicht so ist, wie sie erwartet wurde, aber Sie werden nicht von der Installation oder Deinstallation abgehalten.