ライセンス ファイル (ディスク上に存在する任意のファイル) が存在しない場合に、ユーザーがシェルまたは GUI を起動するのを防ぐ適切な方法はありますか? ライセンス ファイルが見つからない場合、ユーザーにアクティベーション キーの入力を求められます。ユーザーがアクティベーション キーを入力しないと、システムが再起動されます。
初期化スクリプトを書こうとしましたが、stdout に書き込むことができず、その時点でユーザーからの入力を取得できたかどうかもわかりません。
答え1
システムでは、 init スクリプトではなく、サービスsystemd
を使用する必要があるでしょう。サンプル コードは、さまざまな RedHat (またはここでは Centos)パッケージsystemd
にあります。initial-setup*
$ 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.
$
これらが何をするのかを知るにはコードを詳しく調べる必要がありますが、これらのパッケージは通常のブートを中断してユーザーに何かを尋ねます。