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

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

Я хочу установить один пакет с помощью yum и не использовать rpm, но с тем же поведением, что и --replacefilesв rpm. У меня есть один пакет, у которого есть конфликты файлов с другими, и мне нужно принудительно установить с помощью yum. Этот пакет мой, поэтому я могу изменить spec-файл.

решение1

Вы можете использоватьтриггерные скриптлетыдля этого.

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

решение2

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

Связанный контент