誤って削除されたデバイスノード/dev/sda1

誤って削除されたデバイスノード/dev/sda1

私はシステムをきれいにしていたが、明らかに少し興奮していた。私は最終的に以下を実行しましたsudo rm -rf /dev/sda1。で実行され、インストールされてlsblkいるdf -hことがわかりますが、特別なデバイスとしては存在しません。サーバーを再起動できません。/dev/sda1//dev/

# lsblk
sda       8:0    0    50G  0 disk
├─sda1    8:1    0  49.9G  0 part /

この問題をどのように解決しますか?

答え1

まず、慌てないでください。

実際にドライブ全体を消去するわけではありません。すべてのデータはそのまま残り、システムが実行され続けていることが証明されます。

ユーザーがすべきことは、ほとんどのUnicesと同様に、Linuxがパーティションを直接識別してアドレスを指定するために使用するデバイスファイルを削除することです。通常、これを行う必要がある唯一の時間は、パーティションがマウントまたは変更されたときです。

udevシステムがリモートで近代的であれば、起動時にオートコンプリート機能を使用するか、同様のオートコンプリート機能を使用する可能性が高く、すべてがうまく/dev/機能し続けます。しかし、自信を持ってJaromandaのアドバイスを受け入れ、ノードの再生成を実行することをお勧めします。sudo mknod /dev/sda1 b 8 1

次に、次のコマンドを使用して権限が正しく設定されていることを確認します。

sudo chown root.disk /dev/sda1
sudo chmod 660 /dev/sda1

編集する要求に応じていくつかの追加の説明があります。

このmknodコマンドはコメントに示されているものと正確に一致します。K装備木礼e.この特別なケースでは第二メジャー番号が8でマイナー番号が1のブロックデバイスは、文字通り「ディスクとして表示される最初のSCSIデバイスの最初のパーティション」と解釈されます。

(デバイスノードの詳細な説明は、このチュートリアル有益ですが、この質問の範囲を少し超えています)

関連情報