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

Исключить или изменить пакет, используемый как зависимость в пакете rpm под CentOS

У меня есть пакет RPM, который зависит от многих других пакетов, поэтому при его установке будет установлено все, что мне нужно - вполне нормальный подход. Но один из пакетов зависит от пользовательской сборки nginx (общий nginx + некоторые дополнительные модули) из репозитория третьей части, который больше не поддерживается. Плохо то, что сопровождающий назвал этот пользовательский пакет nginx каким-то «пользовательским» именем, а не просто «nginx», а «my-nginx»).

Поскольку я не использую ни один из модулей nginx, мне лучше использовать пакет nginx от nginx.org, но, конечно, я не могу установить nginx, поскольку он конфликтует с my-nginx. Я могу сделать это только с помощью "принудительной" установки.

Есть ли у меня способ использовать nginx как my-nginx, чтобы зависимость не нарушалась, а систему можно было обновлять без жалоб на сломанные пакеты?

Спасибо!

На самом деле это легко с rpmrebuild.

yum install epel-release
yum install rpmrebuild

Затем:

rpmrebuild --edit-spec --package /path/to/your/bad.rpm

Затем отредактируйте автоматически созданный файл спецификации, переименовав пакет / зависимости по желанию. После сохранения у вас будет новый .rpm файл на основе ваших правок.