buildrootとinitramfsを使用して組み込みシステム設定を構築しました。これは、マウントおよび/etc/
ディレクトリ/var
用の別々のext3パーティションと、データを格納するためのカスタムディレクトリを作成したコンパクトフラッシュデバイスで実行されます。これが良いアイデアかどうかはわかりませんが、syslog出力にアクセスする必要があり、ファイルを/etc
静的IPアドレスに設定する必要があるため、ファイルを変更することもできます。/etc/network/interfaces
IPを設定するためにファイルを編集したら、手動で編集する必要がなくなるため、デバイスが現場にいる間に/etc
このインストールを読み取り専用に設定するのが良いアイデアか、読み取り専用に設定するのが良いかどうか疑問に思います。私のシステムの他のアプリでも可能です。プログラムは/etc
のすべてのファイルに書き込む必要がありますか?かなり小さなシステムを実行しており、実際にはdropbearとbusyboxのみを実行しています(デバイスを制御するカスタムコントローラアプリと共に)。さまざまなフォーラムやウェブサイトを見て、そのアイデアはあまり議論の余地がないようですが、私の知識はやや制限的です。読み取り専用でマウントできることを知っていますが、問題が静かに中断される可能性があると思いますが、それは悪い考えですか?
ベストアンサー1
読み取り専用は、/etc
組み込みデバイスでますます一般的になっています。ほとんど変更されていないファイルは、デスクトップと/etc
サーバーのインストールでも一般化されており、ファイルは別のファイルシステムにあり、シンボルにリンクされています/etc/mtab
(したがってソフトウェアがインストールされている場合、またはコンピュータの構成が変更された場合はファイルを変更する必要がありますが、インストールするときはUSBドライブなどネットワークに接続されたノートブック)。/etc/resolv.conf
/etc
/etc
新しい標準は、tmpfsファイルシステム/run
と/etc
同様のシンボリックリンクをマウントすることです。
/etc/mtab -> /run/mtab
/etc/resolv.conf -> /etc/resolvconf/run/resolv.conf
/dev/shm
既存または組み込みシステムでは、tmpfsが別の場所にインストールされている可能性が/lib/init/rw
あります/var/run
。
読み取り専用にするときの問題は、変更できる/etc
ファイルセットがロックされることです。
この問題を回避する別の方法は、ルートファイルシステムをinitramfsにすることです。これは、カーネルイメージの横に保存され、ブートローダによってロードされるアーカイブです。 RAMで解凍され、ファイルシステムルートのルートになります。 initramfsを維持したい場合は、あまりにも大きくてはいけません(貴重なRAMを使用するため)。ただし、BusyBoxバイナリと一部の設定ファイルは、おそらくRAMを使用するために許可される方法です。
別のアプローチは、読み取り専用ルートファイルシステムと共同設置ファイルシステムを読み書きします。