今日、仕事中にクライアントがrm -rf /dev
2 つのファイルを削除してしまい、/dev/shm
サイトが機能しなくなりました。
以前私が学んだところによると、は仮想ではありませんが、は仮想のようなものな/dev
ので、同僚の技術者がサーバーを再起動することを提案していました。確かにサーバーを再起動すると、クライアントが rm -rf したファイルがそこにありました。/dev
/proc
それで、私の質問は、仮想ですか/dev
? のような種類の仮想ですか? これに関する詳細なドキュメントはありますか?サーバーを再起動せずにファイル/proc
を復元するにはどうすればよいですか?/dev
答え1
長い間、その答えは「ある程度」でした。
現在、Linuxデバイスツリーは、udev
数年前に devfs に代わるユーザー空間デバイス マネージャーです。udev は、構成ファイルで設定されたルールに応じて、システムに必要なデバイス ノードを /dev に追加します。
最新のLinuxシステムでは、/devは、devtmpfs
これらは仮想的なものと呼べるでしょう。
例:
devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=6109940k,nr_inodes=1527485,mode=755)
現在、/dev に実際のデバイス ノードが存在する唯一の理由は、udev が起動する前のブート環境のためです。通常、実際のファイル システムに必要なのは と のみで/dev/console
、/dev/null
udev を起動できる状態に到達するにはこれで十分です。その後、他のすべてが提供されます。