¿Escribir / dev / random para archivar?

10

Si ejecutaras lo siguiente, ¿qué pasaría?

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

¿Se escribiría hasta que la unidad se quede sin espacio, o el sistema vería un problema con esto y lo detendría (como con un bucle infinito de enlace simbólico)?

tkbx
fuente
44
Solo quería agregar que la concatenación aleatoria en dispositivos valía unas horas de diversión en mi juventud. El framebuffer y la tarjeta de sonido causaron ruido y la unidad de disco me obligó a hacer un reformateo de bajo nivel ... buenos momentos.
Bob Roberts
OT: 'ejecutable / dev / dsp? suena divertido '
sendmoreinfo 05 de
@BobRoberts I tiene aventuras similares, con resultados similares. También solía pasar a las estaciones de trabajo Linux de mis colegas y los tonos DTMF cat al parlante interno, luego tocaba un tono de ocupado, por lo que parecía que su PC estaba tratando de enviar FAX. Ah, buenos tiempos.
Tim Kennedy
@TimKennedy ¿cómo haces eso? ¿Hay un / dev / ice para el conector de audio de 30 mm?
tkbx
@tkbx bueno, estoy saliendo conmigo mismo, pero en el pasado podías conectar un archivo a / dev / audio, y si fuera un archivo de sonido (.wav) se reproduciría.
Tim Kennedy

Respuestas:

22

Escribe hasta que el disco esté lleno (por lo general, todavía queda algo de espacio reservado para el usuario raíz). Pero como el conjunto de datos aleatorios es limitado, esto podría llevar un tiempo.

Si necesita una cierta cantidad de datos aleatorios, use dd. Por 1 MB:

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

Se mencionan otras posibilidades en las respuestas a una pregunta relacionada .

Sin embargo, en casi todos los casos es mejor usarlo /dev/urandom. No se bloquea si el núcleo piensa que se sale de la entropía. Para una mejor comprensión, también puede leer mitos sobre / dev / urandom .

Instalar hasged acelera /dev/randomy también proporciona más entropía a /dev/urandom.

EDITAR : ddnecesita la fullblockopción ya que / dev / random (en opuesto a /dev/urandom) puede devolver bloques incompletos si el grupo de entropía está vacío.

Si su ddno admite unidades, escríbalas:

dd if=/dev/random iflag=fullblock of=$HOME/randomFile bs=1048576 count=1
jofel
fuente
77
100 MiB de datos aleatorios de alta calidad son un poco demasiado ... debe obtener algunos bytes para sembrar algún generador de números pseudoaleatorios de alta calidad, como el tornado Mersenne. Si la aplicación es crítica (en un sentido criptográfico) debe ir y leer sobre el asunto, y tal vez contratar a un experto.
vonbrand
44
@vonbrand No, leer 100MB /dev/urandomestá bien, no hay razón para no hacerlo. Y no use un tornado Mersenne para hacer criptografía. Y no lo uses /dev/randomen Linux .
Gilles 'SO- deja de ser malvado'
3
@jofel: No, la salida de /dev/urandom está bien para uso criptográfico. No utilice /dev/random.
Thomas Pornin
@Gilles, tal vez lo estoy perdiendo ... Estoy de acuerdo con todo lo que dices, y no puedo ver dónde dije algo diferente.
vonbrand
@Gilles & vonbrand: Gracias por sus comentarios, mejoré mi respuesta (ahora solo 1 MB en el ejemplo, / dev / urandom recomendado).
jofel