/ dev / null을 만드는 방법?


65

/ dev / null을 삭제했습니다. 어떻게 복원 할 수 있습니까?


6
한 번은 / dev / null이 루트 만 쓸 수있는 일반 파일로 대체 된 것을 발견했습니다. 나는 잠시 동안 모든 것을 다시 설치해야한다고 생각했지만 아래에서 언급했듯이 트릭을 알고 있으면 복구가 쉽지 않습니다.
스튜어트 우드워드

1
스크립트에서 rm 명령을 실행할 때 $ 및 &를 잘못 뒤집어 파이프를 가져 와서 / dev / null을 제거했습니다. 아야!
flickerfly

답변:


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

이 명령을 /dev/null사용 null(4)하여 추가 도움말을 위해 맨 페이지 를 만들 거나 사용하십시오 .


5
완전성을 기하기 위해, 이것은 모든 리눅스 기반 시스템에 적용됩니다. 다른 시스템은 다른 숫자를 가질 수 있습니다.
Random832

2
또한 이것은 장치 파일 자체 만 설정하며 권한을 복원하지 않습니다. 당신은해야합니다 chmod go+w수동으로.
Attila 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을 완벽하게 복원하여 다른 사람들에게 알 렸습니다.
Bozzy

32

많은 전통적인 유니스에서 MAKEDEV스크립트를 사용하여 기본 권한으로 장치를 다시 만들 수 있습니다 . 이 스크립트에 전통적 /dev만에 /sbin우분투. 만들려는 장치를 나타내는 인수를 전달하십시오. 우분투에서는 std( 다른 많은 장치뿐만 아니라 MAKEDEV 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

@Bozzy 나는 그것이 사전 시스템 된 udev와 함께 작동한다는 것을 알고 있습니다. 나는 최근에 시도하지 않았지만 내가 아는 한 여전히 작동합니다. 추가 --verbose하면 목록에 표시 /sys/devices/virtual/mem/null 됩니까?
Gilles

그렇습니다. 내 dev 시스템에서 / dev / null을 다시 덮어 쓰려고했지만 이상하게도 여기서 할 수 없어서 더 심도 깊은 분석을 수행 할 수 없습니다.
Bozzy
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.