Я обычно делаю следующее на неисправных жестких дисках, перед тем как выбросить их:
# lsblk /dev/sdb
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 2.7T 0 disk
└─sdb1 8:17 0 2.7T 0 part
# part=b
# for disk in /dev/sd[$part] ; do echo ${disk}; echo "zero" ; dd if=/dev/zero | pv | dd of=${disk}1 bs=99M iflag=fullblock ; echo "urandom" ; dd if=/dev/urandom | pv | dd of=${disk}1 bs=99M iflag=fullblock ; echo "one" ; dd if=<(yes $'\xFF' | tr -d '\n') | dd of=${disk}1 bs=99M iflag=fullblock status=progress ; done
, которая будет записывать 0
, случайные 0
/ 1
и 1
на каждый байт диска. Этого должно быть достаточно, чтобы стереть данные, если те, кто пытается их восстановить, не являются АНБ или Моссадом.
Однако, ввод /dev/zero
и /dev/urandom
, намного быстрее чем <(yes $'\xFF' | tr -d '\n')
.
Есть ли способ создать устройство в CentOS, которое будет работать для 1
, эквивалентно тому, что делается для 0
с /dev/zero
?
Редактировать:
Более быстрый способ получить поток единиц - if=<(cat /dev/zero | tr "\000" "\377")
, то есть:
dd if=<(cat /dev/zero | tr "\000" "\377") | dd of=${disk}1 bs=99M iflag=fullblock status=progress ;