Kiedyś odkryłem, że / dev / null został zastąpiony normalnym plikiem, do którego tylko root mógł pisać. Przez chwilę myślałem, że będę musiał ponownie zainstalować wszystko, ale jak wspomniano poniżej, odzyskiwanie jest proste, jeśli znasz tę sztuczkę.
Stuart Woodward
1
Udało mi się usunąć / dev / null, błędnie odwracając moją rurkę $ i & podczas uruchamiania polecenia rm w skrypcie. Ojej!
flickerfly
Odpowiedzi:
81
mknod /dev/null c 1 3
chmod 666 /dev/null
Użyj tych poleceń, aby utworzyć stronę pomocy /dev/nulllub skorzystać null(4)z niej w celu uzyskania dalszej pomocy.
Dla kompletności chciałbym zauważyć, że dotyczy to wszystkich systemów opartych na systemie Linux; inne systemy mogą mieć różne numery.
Random832,
2
To tylko konfiguruje sam plik urządzenia, nie przywróci uprawnień. Musisz to chmod go+wzrobić ręcznie.
Attila O.
7
Numer bestii!
wefwefa3
7
mknod -m 0666 /dev/null c 1 3- to samo, ale krócej
fnkr
1
mknod -m 0666 /dev/null c 1 3działał idealnie, aby przywrócić / dev / null na CentOS 7, tylko po to, aby poinformować innych.
Bozzy
32
W wielu tradycyjnych jednorożcach możesz ponownie tworzyć urządzenia z domyślnymi uprawnieniami za pomocą MAKEDEVskryptu . Ten skrypt jest tradycyjnie dostępny /devw /sbinUbuntu. Przekaż mu argument wskazujący, jakie urządzenia chcesz utworzyć; na Ubuntu, który std(możesz także pisać MAKEDEV null, który tworzy, nulla także wiele innych urządzeń).
W nowoczesnych systemach Linux z systemem udev możesz nakazać udev odtworzenie wszystkich lub niektórych urządzeń w oparciu o dostępne sterowniki i podłączony sprzęt, poprzez udevadm trigger:
Czy ta odpowiedź jest wciąż aktualna? Korzystam z CentOS 7 i właśnie przez pomyłkę nadpisałem / dev / null, udevadm trigger --sysname-match=nullsztuczka nie działała dla mnie, a mknod -m 0666 /dev/null c 1 3działała idealnie.
Bozzy
@Bozzy Wiem, że to działało z pre-systemd udev. Nie próbowałem ostatnio, ale o ile wiem, to powinno nadal działać. Jeśli dodasz --verbose, czy to lista /sys/devices/virtual/mem/null ?
Gilles
Tak, to wymienia. Próbowałem ponownie nadpisać / dev / null na mojej maszynie deweloperskiej, ale o dziwo nie jestem w stanie tego tutaj zrobić, więc nie mogę teraz przeprowadzić bardziej szczegółowej analizy ...
Odpowiedzi:
Użyj tych poleceń, aby utworzyć stronę pomocy
/dev/null
lub skorzystaćnull(4)
z niej w celu uzyskania dalszej pomocy.źródło
chmod go+w
zrobić ręcznie.mknod -m 0666 /dev/null c 1 3
- to samo, ale krócejmknod -m 0666 /dev/null c 1 3
działał idealnie, aby przywrócić / dev / null na CentOS 7, tylko po to, aby poinformować innych.W wielu tradycyjnych jednorożcach możesz ponownie tworzyć urządzenia z domyślnymi uprawnieniami za pomocą
MAKEDEV
skryptu . Ten skrypt jest tradycyjnie dostępny/dev
w/sbin
Ubuntu. Przekaż mu argument wskazujący, jakie urządzenia chcesz utworzyć; na Ubuntu, którystd
(możesz także pisaćMAKEDEV null
, który tworzy,null
a także wiele innych urządzeń).W nowoczesnych systemach Linux z systemem udev możesz nakazać udev odtworzenie wszystkich lub niektórych urządzeń w oparciu o dostępne sterowniki i podłączony sprzęt, poprzez
udevadm trigger
:źródło
udevadm trigger --sysname-match=null
sztuczka nie działała dla mnie, amknod -m 0666 /dev/null c 1 3
działała idealnie.--verbose
, czy to lista/sys/devices/virtual/mem/null
?