Ситуация: Я пытаюсь создать собственный rpm, чтобы разместить файл конфигурации в определенном месте. Установка завершается нормально, файлы конфигурации помещаются в соответствующие каталоги, но раздел% post не работает. Этот раздел повторяет, что пользователь делает ввод, и «читает» его. Это значение чтения должно быть помещено в эти файлы конфигурации с помощью sed.
Проблема: 'read' не работает в разделе% post, т.е. процесс установки не ждет, пока пользователь введет данные. По сути, установка завершается путем размещения файлов в каталогах. Короче говоря, раздел% post не является интерактивным для ввода пользователем.
См. Файл SPEC здесь: http://pastebin.com/5BgkJUpG . Это поможет понять идею.
Я написал те же строки раздела% post выше для раздела "postint" сборки пакета .deb, и там он отлично работал. Пользователь, устанавливающий пакет deb, смог ввести данные, и данное значение было помещено в файл конфигурации с помощью sed.
Я не верю, что RPM были предназначены для интерактивного запуска. Вы делаете несколько опасных предположений в том, что RPM не устанавливается автоматическим управлением конфигурацией или пользовательским интерфейсом. Ни один из сценариев не сулит ничего хорошего для RPM, ожидающего ввода от оболочки.
Может я могу предложить альтернативу? Это запрос имени хоста целевого хоста? I.E. мог бы твой sed
включают $(hostname)
вместо получения ввода от стандартного ввода?
я нашел эта ссылка кому-то, кто пытается то же самое. Их предложение как получить ввод в% pre?
Пользователь из «Unix и Linux» предоставил такой ответ:
Предупреждение Не пытайтесь писать интерактивные сценарии. Многие пользователи устанавливают RPM автоматически. В таких случаях или если пользователь запускает графический инструмент RPM, любая информация, выводимая вашим скриптом, будет потеряна. Пользовательский ввод будет недоступен.
Я думаю ты ищешь перемещаемая частота вращения.