Запис / dev / випадковий файл?


10

Якби ти перебіг наступного, що було б?

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

Чи було б це написано, поки на диску не закінчиться місце, або система побачить проблему з цим і зупинить його (як, наприклад, з нескінченним циклом посилання)?


4
Я просто хотів додати, що об'єднання випадкових випадків у пристрої вартувало кількох годин задоволення в молодості. Каркасна рамка та звукова карта призвели до шуму, а дисковий накопичувач вимагав від мене переформатування низького рівня ... гарні часи.
Боб Робертс

OT: 'виконуваний файл / dev / dsp? звучить як весело '
sendmoreinfo

@BobRoberts У мене схожі пригоди, з подібними результатами. Я також звикав до лінзових робочих станцій колег і передавав тональні DTMF тони на внутрішній динамік, потім відтворював зайнятий тон, тож звучало так, що їх ПК намагався щось виправити. Ах, добрі часи.
Тім Кеннеді

@TimKennedy, як це зробити? Чи є / dev / ice для 30-мм аудіороз'єму?
tkbx

@tkbx добре, я зустрічаюся, але ще в той день, коли ви могли б покатати файл на / dev / audio, і якби це був звуковий файл (.wav), він би грав.
Тім Кеннеді

Відповіді:


22

Він пише доти, доки диск не заповниться (зазвичай все ще залишається простір, відведений для кореневого користувача). Але оскільки обсяг випадкових даних обмежений, це може зайняти деякий час.

Якщо вам потрібна певна кількість випадкових даних, використовуйте dd. Для 1 Мб:

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

Інші можливості згадуються у відповідях на пов'язане питання .

Однак майже у всіх випадках краще використовувати /dev/urandomзамість цього. Він не блокується, якщо ядро ​​думає, що воно виходить з ентропії. Для кращого розуміння ви також можете прочитати міфи про / dev / urandom .

Встановлення теджевих прискорюється, /dev/randomа також забезпечує більше ентропії /dev/urandom.

EDIT : ddпотрібна fullblockопція, оскільки / dev / random (навпаки /dev/urandom) може повернути неповні блоки, якщо пул ентропії порожній.

Якщо ваш ddне підтримує блоки, випишіть їх:

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

7
100 Мбайт високоякісних випадкових даних трохи більше ... ви повинні отримати кілька байт, щоб запустити якийсь високоякісний псевдогенератор випадкових чисел, наприклад, твістер Мерсен. Якщо додаток є критичним (в криптографічному сенсі), ви повинні перейти і прочитати питання, і, можливо, найняти експерта.
vonbrand

4
@vonbrand Ні, читання 100MB від /dev/urandomнормально, немає причин не робити цього. І не використовуйте твістер Mersenne, щоб робити криптовалюту. І не використовуйте /dev/randomв Linux .
Жил "ТАК - перестань бути злим"

3
@jofel: Ні, вихід /dev/urandom є нормально для криптографічного використання. Не використовуйте /dev/random.
Томас Порнін

@Gilles, можливо, я програю ... Я погоджуюся з усім, що ти кажеш, і Анс не бачить, де я сказав щось інше.
vonbrand

@Gilles & vonbrand: Дякую за ваші коментарі, я покращив свою відповідь (зараз лише 1 Мб у прикладі, / dev / urandom рекомендується).
jofel
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.