¿Puede dd sin más opciones que un archivo de salida y un archivo de entrada /dev/urandom provocar que se sobrescriban otros archivos en la partición?

¿Puede dd sin más opciones que un archivo de salida y un archivo de entrada /dev/urandom provocar que se sobrescriban otros archivos en la partición?

Tengo un disco duro montado en USB con7GBde espacio libre que intenté llenar con datos pseudoaleatorios usando estos comandos:

$ cd /media/username/volume_name
$ sudo dd if=/dev/urandom of=random_data_file.txt

random_data_file.txtanteriormente no existía. Esperaba que el comando creara el archivo, le escribiera datos pseudoaleatorios y se detuviera cuando la partición que lo contenía se llenara. La barra de estado del administrador de archivos finalmente mostró 0 bytesespacio libre. Pero el ddcomando no se detuvo y ni el emulador de terminal ni el administrador de archivos presentaron ninguna notificación de que la unidad estaba llena. Después de terminar el comando con Ctrl+C, la salida del terminal indicaba40GBha sido escrito. Seleccioné el archivo en el administrador, cuya barra de estado también mostraba su tamaño como40GB, que es 33 GB más que la cantidad de espacio libre anterior.

  1. ¿Existe alguna posibilidad de que este comando haya sobrescrito o modificado algunos de mis otros archivos, la partición u otras particiones? ¿O esto significa que random_data_file.txtse han escrito y sobrescrito 40 GB/7 GB = 5,7 veces? Si es lo último, ¿por qué el administrador de archivos muestra su tamaño superior a 7 GB? Después de eliminar random_data_file.txtusando el administrador de archivos, su barra de estado vuelve a mostrar espacio libre como 7 GB.
  2. ¿Cuál es la forma correcta de usar el ddcomando para crear y escribir datos pseudoaleatorios en un archivo de salida hasta que la partición que lo contiene esté llena, sin sobrescribir nada (aparte del espacio libre en la misma partición), incluido ese archivo de salida?

Respuesta1

Suponiendo que el hardware de su disco sea bueno (y no una tarjeta SD fraudulenta que muestre espacio disponible falso) y que su sistema de archivos no esté corrupto con listas libres corruptas y archivos cuyos bloques todavía estén en la lista libre, entonces dd if=/dev/urandom of=random_data_file.txtno dañará el disco ni sobrescribirá nada (otros que random_datafile.txt).

Probablemente no necesitabas el sudo al frente, y si no estás seguro de que tu comando dd sea correcto, ciertamente no deberías ejecutarlo como sudo.

Una posible razón por la que escribió más datos de los esperados es que la mayoría de los sistemas de archivos reservan un poco de espacio libre (normalmente el 5%) para que el root pueda continuar escribiendo cuando los usuarios normales vean el disco lleno. (Nuevamente, no hagas esto con sudo...)

información relacionada