2

Я создаю пакет RPM (назовем его Foo), который содержит ключ gpg, который будет использоваться для подписи других RPM. Во время сценария postinstall для Foo я выполняю rpm --import [keyfile], чтобы импортировать ключ в систему RPM. Это отлично работает.

В попытке очистить себя, я хотел бы отменить этот импорт, когда Foo удален. Я вижу на других форумах, что способ отменить импорт - это сделать "rpm -e gpg-pubkey- [keyid]". Однако, когда я пытаюсь сделать это в сценарии Foo postuninstall, удаление RPM зависает, потому что команда rpm для удаления ключа не может захватить блокировку транзакции (так как она уже используется для удаления Foo).

Итак ... есть ли способ для меня, чтобы полностью удалить этот ключ gpg, когда оригинальный пакет Foo RPM удаляется?

1 ответ1

0

Да, блокировка транзакции помешает rpm -e.

Вы можете переименовать блокировку (она находится в /var /lib /rpm) в% preun, затем стереть gpg-pubkey и затем переименовать блокировку на место. Переименование имеет то преимущество, что является ПОЦЕЛУЕМ и целесообразным взломом и будет "работать".

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .