chroot に Debian パッケージをインストールする

chroot に Debian パッケージをインストールする

私はdebootstrap、chroot、およびgrubのインストールを含む最小のDebianイメージを作成しています。

今すぐ作成したカスタムDebianパッケージをインストールする必要があります。これらのパッケージには、データベースの移行を実行するpostinstスクリプトがあります。しかし、もちろん私のchroot環境ではpostgresqlが実行されていません。

試してみましたが、対応systemd-nspawnするフラグがない場合、-bコンテナは起動せず、postgresqlは実行されません。

もちろん、最初の実際の起動中にpostinstがapt install ...失敗して実行されると、apt installpostinstは正常に再実行される可能性がありますが、これは厄介です。

最小限のクリーンブータブル構成イメージを準備するためのより良い方法はありますか?

ベストアンサー1

カスタムパッケージをインストールする前にchrootでPostgreSQLを起動しないのはなぜですか?

デフォルトでは、systemdサービスはchrootでは実行されませんが、PostgreSQLを手動で起動できます。たとえば、次のようになります。

 su postgres -c 'pg_ctl start -D /usr/local/pgsql/data -l serverlog'

(次から取得したコマンドPostgreSQL 11ドキュメント)

起動に失敗した場合は、サーバーのログファイルを確認して理由を確認してください。

おすすめ記事