Heute hat ein Kunde bei der Arbeit rm -rf /dev
zwei Dateien gelöscht, /dev/shm
wodurch seine Site nicht mehr funktionierte.
Soweit ich weiß, /dev
ist es nicht virtuell, aber ein Technikerkollege hatte vorgeschlagen, den Server neu zu starten, weil /dev
es virtuell ist /proc
. Natürlich habe ich den Server neu gestartet und die Dateien, die der Client per rm -rf aufgerufen hat, waren da.
Meine Frage ist also: Ist es /dev
virtuell? Ist es so etwas wie virtuell /proc
? Gibt es mehr Dokumentation dazu? Wie kann ich die /dev
Dateien wiederherstellen, ohne den Server neu zu starten?
Antwort1
Die Antwort lautete seit langem „irgendwie“.
Derzeit wird der Linux-Gerätebaum verwaltet vonudev
, ein Geräte-Manager im Userspace, der devfs vor einigen Jahren ersetzt hat. udev füllt /dev mit allen Geräteknoten, die das System benötigt, abhängig von den in seinen Konfigurationsdateien konfigurierten Regeln.
Auf den neuesten Linux-Systemen befindet sich /dev in einer temporären RAM-Disk, die bereitgestellt wird vondevtmpfs
Man könnte sie als virtuell bezeichnen.
Beispiel:
devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=6109940k,nr_inodes=1527485,mode=755)
Der einzige Grund für tatsächliche Geräteknoten in /dev ist heutzutage die Boot-Umgebung, bevor udev gestartet wurde. Normalerweise werden nur /dev/console
und /dev/null
im tatsächlichen Dateisystem benötigt, was ausreicht, um den Punkt zu erreichen, an dem udev gestartet werden kann. Es stellt dann alles andere bereit.