/ dev / nullを作成する方法は?


65

/ dev / nullを削除しました。どうすれば復元できますか?


6
/ dev / nullが、rootだけが書き込める通常のファイルに置き換えられていることがわかりました。しばらくの間、すべてを再インストールする必要があると思いましたが、以下で説明するように、トリックを知っていれば、回復は3つになります。
スチュアートウッドワード

1
スクリプトでrmコマンドを実行するときに、パイプを間違って$および&を反転させることで、/ dev / nullを削除できました。痛い!
フリッカーフライ

回答:


81
mknod /dev/null c 1 3
chmod 666 /dev/null

これらのコマンドを/dev/null使用してnull(4)、さらにヘルプを表示するマンページを作成または使用します。


5
完全を期すために、これはすべてのLinuxベースのシステムに適用されることに注意してください。他のシステムには異なる番号が付いている場合があります。
Random832

2
また、これはデバイスファイル自体を設定するだけで、そのアクセス許可は復元しません。あなたはする必要がありますchmod go+w手動で。
アッティラO.

7
獣の数!
-wefwefa3

7
mknod -m 0666 /dev/null c 1 3-同じことですが短い
-fnkr

1
mknod -m 0666 /dev/null c 1 3CentOS 7で/ dev / nullを復元するために完全に機能し、他の人に知らせました。
ボジー

32

従来の多くの大学では、MAKEDEVスクリプトを使用してデフォルトの権限でデバイスを再作成できます。このスクリプトは従来、Ubuntu /devに含ま/sbinれています。作成するデバイスを示す引数を渡します。UbuntuでstdMAKEDEV null同様に作成できnull、他の多くのデバイスと同様に作成できます)。

udevを実行している最新のLinuxシステムでは、利用可能なドライバーと接続されたハードウェアに基づいて、すべてまたは一部のデバイスを再作成するようにudevに指示できますudevadm trigger

udevadm trigger --sysname-match=null

この答えはまだ最新ですか?私はCentOS 7を使用していますが、誤って/ dev / nullを上書きしてしまいました。完璧に機能しているudevadm trigger --sysname-match=null間、このトリックは機能しませんでしたmknod -m 0666 /dev/null c 1 3
ボジー

@Bozzy pre-systemd udevで動作したことは知っています。私は最近試していませんが、私が知る限り、これはまだ動作するはずです。追加--verboseした場合、リストに表示され/sys/devices/virtual/mem/null ますか?
ジル「SO-悪であるのをやめなさい」

はい、それをリストします。開発マシンで/ dev / nullを再度上書きしようとしましたが、奇妙なことに、ここでは実行できません。そのため、これ以上詳細な分析を行うことはできません...
Bozzy
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.