私はdebootstrap、chroot、およびgrubのインストールを含む最小のDebianイメージを作成しています。
今すぐ作成したカスタムDebianパッケージをインストールする必要があります。これらのパッケージには、データベースの移行を実行するpostinstスクリプトがあります。しかし、もちろん私のchroot環境ではpostgresqlが実行されていません。
試してみましたが、対応systemd-nspawn
するフラグがない場合、-b
コンテナは起動せず、postgresqlは実行されません。
もちろん、最初の実際の起動中にpostinstがapt install ...
失敗して実行されると、apt install
postinstは正常に再実行される可能性がありますが、これは厄介です。
最小限のクリーンブータブル構成イメージを準備するためのより良い方法はありますか?
ベストアンサー1
カスタムパッケージをインストールする前にchrootでPostgreSQLを起動しないのはなぜですか?
デフォルトでは、systemdサービスはchrootでは実行されませんが、PostgreSQLを手動で起動できます。たとえば、次のようになります。
su postgres -c 'pg_ctl start -D /usr/local/pgsql/data -l serverlog'
(次から取得したコマンドPostgreSQL 11ドキュメント)
起動に失敗した場合は、サーバーのログファイルを確認して理由を確認してください。