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

Почему некоторые RPM «не перемещаются»?

RPM можно перемещать, если вы можете установить его следующим образом:

rpm -ivh --prefix=/path/to/non/default/dir package-name.rpm

Без получения следующего сообщения об ошибке:

error: package package-name is not relocatable

это ссылка на сайт состояния:

RPM дает пользователям некоторую свободу выбора в выборе места для установки пакетов в их системах. Однако создатели пакетов должны сначала разработать свои пакеты, чтобы предоставить пользователям эту свободу. Другими словами, пакет RPM, который можно установить в другой каталог, называется перемещаемым. Обратите внимание, что не все пакеты RPM можно установить в другой каталог.

Однако это не объясняет Зачем конструктор пакетов не хотел бы предоставлять пользователям свободу решать, где установить пакет.

Итак, почему это хорошая идея сделать определенный пакет не перемещаемым?

Фактически, большинство пакетов RPM, которые вы найдете не перемещаются.

Рекомендации по упаковке Fedora сказать это:

Настоятельно не рекомендуется использовать средства RPM для создания перемещаемых пакетов. Трудно заставить работать должным образом, невозможно использовать из установщика или из yum, и, как правило, в этом нет необходимости, если соблюдаются другие инструкции по упаковке. Однако в том маловероятном случае, если у вас есть веская причина сделать пакет перемещаемым, вы ДОЛЖНЫ указать это намерение и обоснование в запросе на проверку пакета.

Это исходные пакеты для RHEL, поэтому вы вряд ли найдете перемещаемый пакет в официальном репозитории Fedora, RHEL / CentOS или EPEL.

Однако вы можете очень редко встретить сторонние RPM, которые можно перемещать. Но нет хорошего способа установить их или управлять ими после их установки, поскольку менеджеры зависимостей не могут справиться с ними, и в любом случае нет смысла пытаться переместить пакет.