กำลังเขียน / dev / สุ่มไปยังไฟล์หรือไม่


10

หากคุณดำเนินการต่อไปนี้จะเกิดอะไรขึ้น

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

มันจะถูกเขียนจนกว่าไดรฟ์จะหมดพื้นที่หรือระบบจะเห็นปัญหานี้และหยุดมัน (เช่นเดียวกับวง symlink ที่ไม่สิ้นสุด)?


4
ฉันแค่อยากจะเพิ่มสิ่งที่ต่อกันแบบสุ่มลงในอุปกรณ์ก็คุ้มค่ากับความสนุกในช่วงวัยรุ่น framebuffer และการ์ดเสียงทำให้เกิดเสียงรบกวนและดิสก์ไดรฟ์ทำให้ฉันต้องฟอร์แมตใหม่ในระดับต่ำ ... ช่วงเวลาที่ดี
Bob Roberts

OT: 'ปฏิบัติการ / dev / dsp? ฟังดูเหมือนสนุก '
sendmoreinfo

@ BobRoberts ฉันมีการผจญภัยที่คล้ายกันโดยมีผลลัพธ์ที่คล้ายกัน ฉันยังเคยใช้กับลินุกซ์เวิร์คสเตชั่นของเพื่อนร่วมงานและปรับเสียง DTMF ให้กับลำโพงภายในจากนั้นก็เล่นเสียงที่ไม่ว่าง อาดีเวลา
Tim Kennedy

@ TimKennedy คุณจะทำอย่างไร มี / dev / ice สำหรับแจ็คออดิโอ 30 มม. หรือไม่?
tkbx

@ tkbx ฉันออกเดทตัวเองแล้ว แต่ย้อนกลับไปในวันที่คุณสามารถ cat ไฟล์เป็น / dev / audio และถ้ามันเป็นไฟล์เสียง (.wav) มันจะเล่น
Tim Kennedy

คำตอบ:


22

มันเขียนจนกระทั่งดิสก์เต็ม (โดยปกติจะมีพื้นที่บางส่วนที่สงวนไว้สำหรับผู้ใช้รูท) แต่เนื่องจากกลุ่มข้อมูลสุ่มมี จำกัด จึงอาจใช้เวลาสักครู่

ddหากคุณจำเป็นต้องมีจำนวนหนึ่งของข้อมูลแบบสุ่มใช้ สำหรับ 1MB:

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

ความเป็นไปได้อื่น ๆ ที่กล่าวถึงในคำตอบของคำถามที่เกี่ยวข้อง

อย่างไรก็ตามในเกือบทุกกรณีจะดีกว่าที่จะใช้/dev/urandomแทน มันไม่ได้ปิดกั้นหากเคอร์เนลคิดว่ามันได้รับจากเอนโทรปี เพื่อความเข้าใจที่ดีขึ้นคุณยังสามารถอ่านตำนานเกี่ยวกับ /

การติดตั้งhavegedความเร็วสูงสุดและยังให้เอนโทรปีมากขึ้นเพื่อ/dev/random/dev/urandom

แก้ไข : ddต้องการfullblockตัวเลือกเป็น / dev / random (ตรงข้าม/dev/urandom) สามารถส่งคืนบล็อกที่ไม่สมบูรณ์หากพูลเอนโทรปีว่างเปล่า

หากคุณddไม่สนับสนุนหน่วยเขียนออก:

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

7
ข้อมูลแบบสุ่มคุณภาพสูง 100 MiB นั้นค่อนข้างมาก ... คุณควรใช้เวลาสักสองสามไบต์ในการสร้างเครื่องกำเนิดตัวเลขแบบหลอกเทียมคุณภาพสูงเช่น Mersenne twister หากแอปพลิเคชั่นมีความสำคัญ (ในแง่ของการเข้ารหัส) คุณต้องไปอ่านเรื่องนี้และอาจจ้างผู้เชี่ยวชาญ
vonbrand

4
@ vonbrand ไม่การอ่าน 100MB จาก/dev/urandomนั้นก็ดีไม่มีเหตุผลที่จะไม่ทำ และอย่าใช้ Twers Mersenne เพื่อทำ crypto และไม่ได้ใช้/dev/randomบน Linux
Gilles 'ดังนั้นหยุดความชั่วร้าย'

3
@jofel: ไม่มีการส่งออกของ/dev/urandom เป็นที่ดีสำหรับการใช้การเข้ารหัสลับ /dev/randomอย่าใช้
Thomas Pornin

@Gilles บางทีฉันอาจจะสูญเสียมัน ... ฉันเห็นด้วยกับทุกสิ่งที่คุณพูด ans ไม่สามารถดูที่ฉันพูดอะไรที่แตกต่างกัน
vonbrand

@Gilles & vonbrand: ขอบคุณสำหรับความคิดเห็นของคุณฉันได้ปรับปรุงคำตอบของฉัน (ตอนนี้มีเพียง 1MB ในตัวอย่าง / dev / urandom แนะนำ)
jofel
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.