現在、組み込みLinuxデバイスのネットワーク設定を更新しようとしています。これは通常、/opt/etc/network/interfaces ファイルの内容を変更することによって行われます。 /opt/によってマウントされたファイルシステムはデフォルトでROに設定されていますが、コマンドを使用してファイルの内容を更新すると、一時的にRWに変更されます。
mount -o remount,rw /opt
/proc/mountsの内容を確認して、ファイルシステムがRWに更新されていることを確認してください。
RW文字を見ることができるので、ファイルシステムを読み書きできると思います。
ただし、ファイルを修正しようとすると読み取り専用エラーが発生します。
これは私を混乱させる。ファイルシステムを読み込んで/proc/mountsに書き込んだが、それでもファイルシステムエラーが発生します。私はファイルシステムの専門家ではありませんが、現在の状況について3つの理論があります。
- ストレージデバイスにある種のメモリロック(スイッチなど)が有効になっています。
- ファイルは実際にネストされたファイルシステムにあるため、実際には/ optでホストされていません。
- 私は愚かで明確なものを見逃していました。
答え1
あなたの質問にファイルが/opt/etc/network/interfaces
実際に/opt
ファイルシステムにあることを証明するものはありません。このパスのディレクトリの1つがマウントポイントになる可能性があります。または、/opt/etc/network/interfaces
それ自体、ディレクトリの1つ、/opt/etc
または/opt/etc/network
実際にターゲットが別のファイルシステムにあるシンボリックリンクである可能性があります。
/opt/etc/network/interfaces
使用されている物理ファイルシステムを表示するには、次の手順を実行します。
df /opt/etc/network/interfaces
自分がシンボリックリンクの場合、/opt/etc/network/interfaces
シンボリックリンクの位置を報告します。で確認してくださいls -l /opt/etc/network/interfaces
。
Linuxは便利なユーティリティを提供しますnamei
パスに関連するすべてのシンボリックリンクを表示します。
namei /opt/etc/network/interfaces