web-dev-qa-db-ja.com

読み取り専用ファイルシステムで `/ etc / resolv.conf`を更新する

私は現在、busyboxベースの組み込みLinuxシステムを持っています。ファイルシステムは、読み取り専用でマウントされたjffs2ファイルシステムです。私が遭遇した問題の1つは、/etc/resolv.confをDHCPで更新できないことです。

/etc/resolv.confとは異なるファイル、たとえば/tmp/resolv.confを使用することは可能ですか(/tmpはtmpfsとしてマウントされます)。

それとも、JFFS2を読み取り専用としてマウントすることに過度に偏執的ですか?フラッシュを使い果たしたくないので、ルートファイルシステムは読み取り専用です。

5
Kotte

シンボリックリンクを使用できます。念のためこれを試しました。/tmp内のものは永続的ではないため、dhcpcdを実行する前に起動時にファイルを作成する必要があります。

touch /tmp/dhcpcd.resolv.conf
ln -s /tmp/dhcpcd.resolv.conf /etc/resolv.conf

説明のためにlnビットを含めましたが、しないでください起動時に毎回シンボリックリンクを作成する必要があることに注意してください。 ROシステムに一度入れて、(再び)リンク先の/ tmpファイルが作成されていることを確認してから、何かにアクセスしようとします。

シンボリックリンクは、リンク先のファイルとアクセス許可を共有します。シンボリックリンクが存在するファイルシステムがROであっても、リンク先のファイルがROでない限り、書き込みは機能します。

8
goldilocks