開始スクリプトをいじって、完全なパーティションsda2を読み取り専用としてマウントしました。/devフォルダを除いて完全なシステムROになりました。なぜだろうか..?
また、/ mnt/var/logのような1つのフォルダーだけをRWにし、すべてのフォルダーをROのままにしておきますが、複数の方法でマウントしようとしても、発生せず、ROも発生しません。
このことをSlackwareで実現できる方法はありますか?
/dev
は実際のファイルシステムではありません。これは、カーネルが提供する機能へのインターフェイスであり、ファイルシステムであるかのように公開されます。これにより、あらゆる種類のプログラムを簡単に使用できるようになります。そのため、/dev/sda2
マウントが読み取り専用であるにもかかわらず書き込み可能です。 (/proc
があり、それがある場合は、/sys
も同様の動作をします。理由は同じです。)
読み取り専用でマウントされたパーティションの書き込み可能なサブセットを指定する方法はありません。 /mnt/var/log
またはwhat-have-youを/dev
と同じように動作させたい場合は、カーネルが/dev
に対して行うのと同じように動作させる必要があります。パーティションを作成し、書き込み可能にしたいディレクトリに読み取り/書き込みでマウントします。
/ devには通常、ramfsまたはtmpfsがマウントされ、udevという名前のソフトウェアが、その構成とカーネルのメッセージに基づいてデバイスを作成/削除します。
読み取り専用のルートパーティションにrwディレクトリが必要な場合、簡単なコマンドは次のとおりです。
mount ramfs /here/i/want/write -t ramfs