Я хочу установить один пакет с yum и не использовать rpm, но с таким же поведением, как --replacefiles
в об / мин. У меня есть один пакет, файл которого конфликтует с другим, и мне нужно установить форсировку с помощью yum. Это мой пакет, поэтому я могу изменить файл спецификации.
Ты можешь использовать запускать скриптлеты для этого.
Для иллюстрации предположим, что файл /etc/contested
принадлежит RPM с именем generally
, и у вас есть еще один пакет (specifically
), который хочет принудительно перезаписать тот же файл.
В specifically.spec
, вы устанавливаете новую версию файла в %{_datadir}/%{name}/etc.contested
, и используйте этот скриптлет триггера, чтобы установить его в /etc
:
%triggerin -- generally
install -m 0644 %{_datadir}/%{name}/etc.contested %{_sysconfdir}/contested
Скриплет будет запускаться каждый раз, когда generally
устанавливается или обновляется, а также каждый раз specifically
установлен или обновлен.
RPM все равно заметит, что файл не такой, каким должен быть, но это не остановит вас от установки или удаления.
Если вы можете изменить файл спецификации, возможно, вы сможете удалить файлы, которые конфликтуют в разделе файлов? Вы указываете папку в этом разделе? или файл за файлом?