कैसे बनाएं / देव / अशक्त?


65

मैंने अपना / dev / null हटा दिया। मैं इसे कैसे पुनर्स्थापित कर सकता हूं?


6
मैंने एक बार पाया कि / dev / null को एक सामान्य फ़ाइल से बदल दिया गया था, जिसे केवल रूट ही लिख सकता था। मैंने एक पल के लिए सोचा कि मुझे सब कुछ फिर से स्थापित करना होगा लेकिन जैसा कि नीचे उल्लेख किया गया है, यदि आप जानते हैं कि यह रिकवरी काफी फायदेमंद है।
स्टुअर्ट वुडवर्ड

1
मैंने स्क्रिप्ट में एक rm कमांड चलाने के दौरान अपने पाइप को गलत तरीके से $ और & आसपास निकालकर / dev / null निकालने में कामयाब रहा। आउच!
झिलमिलाहट

जवाबों:


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

आगे की मदद के लिए मैनपेज बनाने /dev/nullया इस्तेमाल करने के लिए इन कमांड का उपयोग करें null(4)


5
पूर्णता के लिए, मैं ध्यान दूंगा कि यह सभी लिनक्स-आधारित प्रणालियों पर लागू होता है; अन्य प्रणालियों में अलग-अलग संख्याएँ हो सकती हैं।
रैंडम 832

2
इसके अलावा यह केवल डिवाइस फ़ाइल को ही सेट करता है, यह इसकी अनुमतियों को पुनर्स्थापित नहीं करेगा। आपको chmod go+wइसे मैन्युअल रूप से करना होगा।
अत्तिला ओ।

7
जानवर की संख्या!
wefwefa3

7
mknod -m 0666 /dev/null c 1 3- एक ही बात लेकिन कम
fnkr

1
mknod -m 0666 /dev/null c 1 3CentOS 7 पर / dev / null को पुनर्स्थापित करने के लिए पूरी तरह से काम किया, बस दूसरे को बताने के लिए।
बोजी

32

कई पारंपरिक यूनियनों के तहत, आप उपकरणों को MAKEDEVस्क्रिप्ट के साथ उनकी डिफ़ॉल्ट अनुमतियों के साथ फिर से बना सकते हैं । यह स्क्रिप्ट में पारंपरिक रूप से है /dev, लेकिन में है /sbinUbuntu पर। इसे एक तर्क दें जो इंगित करता है कि आप क्या उपकरण बनाना चाहते हैं; उबंटू पर std(आप भी लिख सकते हैं MAKEDEV null, जो nullकई अन्य उपकरणों को बनाता है)।

Udv चलाने वाले आधुनिक लिनक्स सिस्टम के तहत , आप 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 मुझे पता है कि इसने पूर्व-सिस्टम udv के साथ काम किया। मैंने हाल ही में कोशिश नहीं की है, लेकिन जहां तक ​​मुझे पता है कि यह अभी भी काम करना चाहिए। यदि आप जोड़ते हैं --verbose, तो क्या यह सूची है /sys/devices/virtual/mem/null ?
गाइल्स

हां, यह सूचीबद्ध करता है। मैंने अपने देव मशीन पर फिर से / dev / null को ओवरराइट करने की कोशिश की है, लेकिन अजीब तरह से मैं इसे यहाँ करने में असमर्थ हूं, इसलिए मैं अब और अधिक गहराई से विश्लेषण नहीं कर सकता ...
Bozzy
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.