Существует ли какая-то правильная методология, позволяющая не допустить загрузки пользователем оболочки или графического интерфейса, если файл лицензии (просто любой файл, присутствующий на диске) отсутствует? Если файл лицензии не найден, пользователю предлагается ввести ключ активации, и если он его не предоставит, это приведет к перезагрузке системы.
Я пробовал писать сценарии инициализации, которые, однако, оказались неспособны записывать данные в stdout, и я также не уверен, смогу ли я получить какой-либо ввод от пользователя в этот момент.
решение1
В systemd
системе вам, вероятно, следует использовать systemd
службу, а не скрипт инициализации. Пример кода можно найти в различных initial-setup*
пакетах RedHat (или здесь Centos):
$ rpm -qa | grep initial-setup
initial-setup-gui-0.3.9.40-1.el7.centos.x86_64
initial-setup-0.3.9.40-1.el7.centos.x86_64
$ rpm -qi initial-setup | tail -2
The initial-setup utility runs after installation. It guides the user through
a series of steps that allows for easier configuration of the machine.
$
Вам придется покопаться в коде, чтобы понять, что они делают, но эти пакеты прерывают обычную загрузку, чтобы задать пользователю вопросы.