Пакет Debian с проверкой системных требований?
Можно ли создать с помощью debconf пакет, который проверяет минимальные системные требования для запуска программного обеспечения? Является ли предварительно настроенный скрипт config debconf способом сделать это?
Спасибо
1 ответ
Вы можете отображать предупреждения во время установки пакета. Однако прерывать установку - плохая идея - вы оставите систему пакетов в нерабочем состоянии, и пока пользователь не удалит ваш пакет, установка каждого пакета будет завершена попыткой завершить установку вашего пакета. Это будет ужасно для пользователя.
Вы можете использовать postinst
скрипт для этого - предлагаю postinst
поскольку вам может потребоваться установить пакеты в качестве зависимостей для обнаружения оборудования и т. д., а политика пакетов определяет, что запрос должен выполняться в postinst
:
Если в пакете есть жизненно важная часть информации, которую нужно передать пользователю (например, "не запускайте меня таким, какой я есть, вы должны сначала отредактировать следующие файлы конфигурации, или вы рискуете, что ваша система испускает плохо отформатированные сообщения"), должен отобразить это в скрипте config или postinst и предложить пользователю нажать кнопку возврата, чтобы подтвердить сообщение. Сообщения об авторских правах не считаются жизненно важными (они принадлежат /usr/share/doc/package/copyright); также нет инструкций по использованию программы (они должны быть в онлайновой документации, где их могут видеть все пользователи).
Любые необходимые подсказки почти всегда должны быть ограничены скриптом config или postinst. Если это делается в postinst, его следует защищать условно, чтобы не возникало ненужного запроса в случае сбоя установки пакета и вызова postinst с помощью abort-upgrade, abort-remove или abort-deconfigure.
С debconf
, db_input
команда с приоритетом high
или же critical
может отображать предупреждение.
Возможно, было бы лучше написать скрипт-обертку для вашего исполняемого файла программного обеспечения, который проверяет требования и показывает более заметное сообщение с возможностью удаления пакета.