以下の設定があります。
- カーネルが起動する読み取り専用システムパーティション。 (Debian 提示)
- デーモンで起動できる追加のソフトウェアを含む読み取り/書き込みパーティション。
- r/w パーティションの単純なカスタム起動スクリプトがデーモンを起動するために使用されます。このスクリプトは、r / oパーティション内のsystemdの最後のサービスで始まります。
r / o systemdとは別に、最新のinitバリアント(systemd / init / initng / ...)を使用してr / wパーティションから何かを起動するにはどうすればよいですか?
答え1
マウントオーバーライドを使用すると、両方の起動スクリプトセットで操作を透過的に実行できますが、RWパーティションで指定されたサービスはROパーティションのサービスに影響を与えることに注意してください。
この説明では、具体的に説明するために、systemd
ROパーティションがルートパーティションでRWパーティションがマウントされており、/rw
ディレクトリ
systemd
と両方が含まれていると想定していますwork
。次のようにオーバーレイインストールを実行できます。
mount -t overlay -o lowerdir=/etc/systemd,upperdir=/rw/systemd,workdir=/rw/work overlay /etc/systemd
これは以下で指定できます/etc/fstab
。
# Previous fstab entries to ensure /rw is mounted
overlay /etc/systemd overlay lowerdir=/etc/systemd,upperdir=/rw/systemd,workdir=/rw/work 0 0
このfstab
エントリを使用すると、起動時に両方のディレクトリがマージされsystemd
(他のすべてのエントリと共に)起動スクリプトのセットとして表示されます。試行された書き込みは/etc/systemd
RWパーティションにリダイレクトされます。
この方法は特にありませんsystemd
。これは、ディレクトリの内容に対して機能するすべての初期化システムに一般化されます。