コンテナ内の /dev/(u)random の置き換え

コンテナ内の /dev/(u)random の置き換え

/dev/(u)ランダムデバイスはホストからコンテナにリンクできます。

できる(u)ランダム代わりに名前付きパイプに置き換えることができますか?(他のアプリケーション((u)ランダム)は名前付きパイプに入力を提供します)または(u)ランダムFIFO のようなデバイス以外に何か機能がありますか? また、新しいデバイスを作成せずにそのような機能をどのようにエミュレートしますか?

ユースケースは、アプリケーションを完全に制御しながら、(ほぼ)100%再現可能な実行を実現することです。(u)ランダムコンテナ内。安全な乱数を持つことは問題ではありません。

答え1

パイプは機能しません。複数のプロセスが同じパイプから読み取る場合、どのプロセスがどのバイトを受信するか予測できないからです。ただし、ソケットを使用できます。ソケットを使用すると、クライアントがソケットを開くたびに、サーバー側は個別の接続を取得します。サーバーはソケットの反対側のプロセスを照会するこれにより、PRNG シードをプロセス特性の関数にすることができるため、予測可能性が向上します。

関連情報