Как создать / dev / one в CentOS? - PullRequest
0 голосов
/ 26 февраля 2020

Я обычно делаю следующее на неисправных жестких дисках, перед тем как выбросить их:

# 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 ;

1 Ответ

0 голосов
/ 26 февраля 2020

/ dev / zero и / dev / null - это просто файлы устройств, связанные с драйвером устройства (созданный с помощью mknod)

Для идентичной реализации вам потребуется создать драйвер устройства для этого.

...