Назад | Перейти на главную страницу

yum - установить пакет с принудительной заменой файлов

Я хочу установить один пакет с 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 все равно заметит, что файл не такой, каким должен быть, но это не остановит вас от установки или удаления.

Если вы можете изменить файл спецификации, возможно, вы сможете удалить файлы, которые конфликтуют в разделе файлов? Вы указываете папку в этом разделе? или файл за файлом?