Saya pernah menemukan bahwa / dev / null diganti dengan file normal yang hanya bisa di-root oleh root. Saya berpikir sejenak bahwa saya harus menginstal ulang semuanya tetapi seperti yang disebutkan di bawah ini, pemulihannya adalah trival jika Anda tahu caranya.
Stuart Woodward
1
Saya berhasil menghapus / dev / null dengan membuat pipa saya salah membalik $ dan & sekitar saat menjalankan perintah rm dalam sebuah skrip. Aduh!
flickerfly
Jawaban:
81
mknod /dev/null c 1 3
chmod 666 /dev/null
Gunakan perintah ini untuk membuat /dev/nullatau menggunakan null(4)halaman manual untuk bantuan lebih lanjut.
Untuk kelengkapan, saya perhatikan bahwa ini berlaku untuk semua sistem berbasis linux; sistem lain mungkin memiliki nomor yang berbeda.
Random832
2
Ini juga hanya mengatur file perangkat itu sendiri, itu tidak akan mengembalikan izinnya. Anda harus melakukannya chmod go+wsecara manual.
Attila O.
7
Jumlah binatang itu!
wefwefa3
7
mknod -m 0666 /dev/null c 1 3- Hal yang sama tetapi lebih pendek
fnkr
1
mknod -m 0666 /dev/null c 1 3bekerja dengan sempurna untuk mengembalikan / dev / null pada CentOS 7, hanya untuk memberi tahu yang lain.
Bozzy
32
Di bawah banyak kesatuan tradisional, Anda dapat membuat ulang perangkat dengan izin default dengan MAKEDEVskrip . Skrip ini secara tradisional ada /devtetapi ada di /sbindalam Ubuntu. Berikan argumen yang menunjukkan perangkat apa yang ingin Anda buat; di Ubuntu itu std(Anda dapat menulis MAKEDEV nulljuga, yang menciptakan nullserta sejumlah perangkat lain).
Di bawah sistem Linux modern yang menjalankan udev , Anda dapat memberitahu udev untuk membuat ulang semua atau beberapa perangkat berdasarkan driver yang tersedia dan perangkat keras yang terhubung, melalui udevadm trigger:
Apakah jawaban ini masih terkini? Saya menggunakan CentOS 7 dan saya baru saja menimpa / dev / null secara tidak sengaja, udevadm trigger --sysname-match=nulltriknya tidak berfungsi untuk saya, sementara mknod -m 0666 /dev/null c 1 3bekerja dengan sempurna.
Bozzy
@ Bozzy Saya tahu itu bekerja dengan udev pra-systemd. Saya belum mencoba baru-baru ini, tetapi sejauh yang saya tahu ini harus tetap bekerja. Jika Anda menambahkan --verbose, apakah itu daftar /sys/devices/virtual/mem/null ?
Gilles 'SO- stop being evil'
Ya, itu daftar itu. Saya sudah mencoba menimpa lagi / dev / null pada mesin dev saya, tapi anehnya saya tidak dapat melakukannya di sini, jadi saya tidak dapat melakukan analisis yang lebih mendalam sekarang ...
Jawaban:
Gunakan perintah ini untuk membuat
/dev/null
atau menggunakannull(4)
halaman manual untuk bantuan lebih lanjut.sumber
chmod go+w
secara manual.mknod -m 0666 /dev/null c 1 3
- Hal yang sama tetapi lebih pendekmknod -m 0666 /dev/null c 1 3
bekerja dengan sempurna untuk mengembalikan / dev / null pada CentOS 7, hanya untuk memberi tahu yang lain.Di bawah banyak kesatuan tradisional, Anda dapat membuat ulang perangkat dengan izin default dengan
MAKEDEV
skrip . Skrip ini secara tradisional ada/dev
tetapi ada di/sbin
dalam Ubuntu. Berikan argumen yang menunjukkan perangkat apa yang ingin Anda buat; di Ubuntu itustd
(Anda dapat menulisMAKEDEV null
juga, yang menciptakannull
serta sejumlah perangkat lain).Di bawah sistem Linux modern yang menjalankan udev , Anda dapat memberitahu udev untuk membuat ulang semua atau beberapa perangkat berdasarkan driver yang tersedia dan perangkat keras yang terhubung, melalui
udevadm trigger
:sumber
udevadm trigger --sysname-match=null
triknya tidak berfungsi untuk saya, sementaramknod -m 0666 /dev/null c 1 3
bekerja dengan sempurna.--verbose
, apakah itu daftar/sys/devices/virtual/mem/null
?