システムサービス(Postgresqlなど)の初期化中にRAMディスクを作成するには?

システムサービス(Postgresqlなど)の初期化中にRAMディスクを作成するには?

システムサービスの初期化中にラムディスクを作成し、作成後および「基本」サービスプロセスが開始された後にいくつかのコマンドを実行する方法はありますか?

基本的に私が達成したいのは、Postgresデータベース(たとえばsudo systemctl start postgresql@13-my_db)を起動するときに最初にRAMディスクを作成し、セキュリティストアからTLS証明書と秘密鍵を読み取るスクリプトを実行し、正しい権限を使用してそのRAMディスクに保存することです。 。 PostgresはそのRAMディスクからファイルの読み取りを開始できます。

また、サービスが停止すると、システムによってRAMディスクが自動的に削除されるため、そのファイルは消えます。

可能ですか?私が見つけた唯一の方法は、TemporaryFileSystem関数を使用してRAMディスクを作成し、ExecStartPreそれを使用してファイルをインポートするスクリプトを実行することです。

これはうまくいきますが、残念ながらsystemdは呼び出し間でRAMディスクをアンマウントするように見えるExecStartPreため、ExecStartPostgresデータベースが起動するとRAMディスクは使用できなくなります。

関連情報