लेखन / देव / फाइल करने के लिए यादृच्छिक?


10

यदि आप निम्नलिखित भागते हैं, तो क्या होगा?

cat /dev/random > ~/randomFile # don't run

क्या यह तब तक लिखा जाएगा जब तक कि ड्राइव अंतरिक्ष से बाहर नहीं निकल जाती है, या सिस्टम को इसके साथ कोई समस्या दिखाई देगी और इसे बंद कर देगा (जैसे अनंत सिम्पीनल लूप के साथ)?


4
मैं बस जोड़ना चाहता था कि उपकरणों में बेतरतीब ढंग से जोड़ना मेरी युवावस्था में कुछ घंटों के लिए मज़ेदार था। फ़्रेमबफ़र और साउंड कार्ड के परिणामस्वरूप शोर हुआ और डिस्क ड्राइव को मुझे निम्न स्तर के सुधार करने की आवश्यकता थी ... अच्छा समय।
बॉब रॉबर्ट्स

ओटी: 'निष्पादन योग्य / देव / डीएसपी? मज़ा जैसा लगता है '
sendmoreinfo

@ याकूब रॉबर्ट्स के समान परिणाम के साथ मेरे पास समान रोमांच है। मैं सहकर्मियों के लिनेक्स वर्कस्टेशन और कैट डीटीएमएफ टोन को आंतरिक स्पीकर में भी भेजता था, फिर एक व्यस्त स्वर बजाता था, इसलिए ऐसा लग रहा था जैसे उनका पीसी बाहर कुछ करने की कोशिश कर रहा था। आह, अच्छा समय।
टिम कैनेडी

@TimKennedy आप ऐसा कैसे करते हैं? 30 मिमी ऑडियो जैक के लिए एक / देव / बर्फ है?
tkbx

@tkbx अच्छी तरह से, मैं खुद को डेट कर रहा हूं, लेकिन दिन में वापस आप एक फ़ाइल को / dev / ऑडियो को कैट कर सकते हैं, और अगर यह एक साउंड फाइल (.wav) थी तो यह खेली जाएगी।
टिम कैनेडी

जवाबों:


22

यह तब तक लिखता है जब तक कि डिस्क भरा हुआ नहीं होता है (आमतौर पर रूट उपयोगकर्ता के लिए अभी भी कुछ स्थान आरक्षित है)। लेकिन जैसा कि यादृच्छिक डेटा का पूल सीमित है, इसमें कुछ समय लग सकता है।

यदि आपको एक निश्चित मात्रा में यादृच्छिक डेटा की आवश्यकता है, तो उपयोग करें dd। 1MB के लिए:

dd if=/dev/random iflag=fullblock of=$HOME/randomFile bs=1M count=1

संबंधित संभावनाओं के उत्तर में अन्य संभावनाओं का उल्लेख किया गया है

हालांकि, लगभग सभी मामलों में इसके /dev/urandomबजाय उपयोग करना बेहतर है । यदि कर्नेल को लगता है कि यह एन्ट्रापी से बाहर निकलता है तो यह ब्लॉक नहीं होता है। बेहतर समझ के लिए, आप मिथकों के बारे में भी पढ़ सकते हैं ।

स्थापित कर रहा है haveged तक की गति /dev/randomऔर भी अधिक एन्ट्रापी प्रदान करता है /dev/urandom

EDIT : एंट्रॉपी पूल खाली होने पर / dev / random (विपरीत में ) ddके fullblockविकल्प को /dev/urandomअपूर्ण ब्लॉक वापस कर सकता है।

यदि आपकी ddइकाइयां समर्थन नहीं करती हैं, तो उन्हें लिखें:

dd if=/dev/random iflag=fullblock of=$HOME/randomFile bs=1048576 count=1

7
उच्च गुणवत्ता वाले यादृच्छिक डेटा के 100 MiB थोड़ा अधिक है ... आपको कुछ उच्च-गुणवत्ता वाले छद्म यादृच्छिक संख्या जनरेटर को बीजने के लिए कुछ बाइट्स प्राप्त करना चाहिए, जैसे कि मेर्सन ट्विस्टर। यदि एप्लिकेशन महत्वपूर्ण है (एक क्रिप्टोग्राफिक अर्थ में) तो आपको जाना चाहिए और मामले पर पढ़ना चाहिए , और शायद एक विशेषज्ञ को नियुक्त करें।
वॉनब्रांड

4
@vonbrand नहीं, 100MB से पढ़ना /dev/urandomठीक है, ऐसा नहीं करने का कोई कारण नहीं है। और क्रिप्टो करने के लिए एक मेर्सन ट्विस्टर का उपयोग न करें। और लिनक्स पर उपयोग न करें/dev/random
गिल्स एसओ- बुराई को रोकना '

3
@jofel: नहीं, के उत्पादन में /dev/urandom है क्रिप्टोग्राफिक उपयोग के लिए ठीक। उपयोग न करें /dev/random
थॉमस पोर्निन

@ गिल्स, शायद मैं इसे खो रहा हूँ ... मैं आपकी हर बात से सहमत हूँ, ans यह नहीं देख सकता कि मैंने कहाँ कुछ अलग कहा है।
वॉनब्रांड

@ गिल्स एंड वॉनब्रांड: आपकी टिप्पणियों के लिए धन्यवाद, मैंने अपने उत्तर में सुधार किया (अब उदाहरण में केवल 1 एमबी, / देव / आर्गैज़्म अनुशंसित है)।
जोफेल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.