在丢弃有故障的硬盘之前,我通常会执行以下操作:
# 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")
, IE。:dd if=<(cat /dev/zero | tr "\000" "\377") | dd of=${disk}1 bs=99M iflag=fullblock status=progress ;
最佳答案
/dev/zero 和/dev/null 只是链接到设备驱动程序的设备文件(使用 mknod 创建)
对于相同的实现,您必须创 build 备驱动程序来执行此操作。
关于centos - 如何在 CentOS 上创建/dev/one?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60405366/