yum - Paket installieren und das Ersetzen von Dateien erzwingen

yum - Paket installieren und das Ersetzen von Dateien erzwingen

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

Antwort1

Sie könnenTrigger-Skriptletsdafür.

Zur Veranschaulichung nehmen wir an, dass die Datei /etc/contestedeinem RPM mit dem Namen gehört generallyund Sie ein anderes Paket ( specifically) haben, das die gleiche Datei zwangsweise überschreiben möchte.

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

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

Das Skriptlet wird bei jeder generallyInstallation oder Aktualisierung sowie bei jeder specificallyInstallation oder Aktualisierung ausgeführt.

RPM erkennt zwar immer noch, dass die Datei nicht den Erwartungen entspricht, hindert Sie jedoch nicht an der Installation oder Deinstallation.

Antwort2

Wenn Sie die Spezifikationsdatei ändern können, können Sie möglicherweise die Dateien entfernen, die im Dateiabschnitt in Konflikt stehen? Geben Sie in diesem Abschnitt einen Ordner an? Oder Datei für Datei?

verwandte Informationen