Так что, если вы хотите стереть диск с пользовательскими данными, вы можете сделать yes "text here" > /dev/sdX
но мне было интересно, если это безопасный способ сделать это?
1 ответ
Не напрямую, я думаю, но возможно.
работает это:
sudo yes "ruslansendthistothedisk1gb" > /dev/sdb
я получил
bash: /dev/sdb: Permission denied
Тогда я решил сделать это с помощью dd
:
yes "ruslansendthistothedisk1gb" > file.txt
а также
sudo dd if=file.txt of=/dev/sdb
это сработало:
167424+0 records in
167424+0 records out
85721088 bytes (86 MB) copied, 27.073 s, 3.2 MB/s
Что касается безопасности, я думал только о том, что если вы отправите данные с размером, превышающим возможности устройства, не повредит ли это чему-либо еще.
Тогда я решил загрузить устройство файлом, который заведомо больше, чем мой диск /dev /sdb.
sudo fdisk -l /dev/sdb
как видно размер 1015808000 байт
Disk /dev/sdb: 1015 MB, 1015808000 bytes 32 heads, 61 sectors/track, 1016 cylinders, total 1984000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x6874646e
Disk /dev/sdb doesn't contain a valid partition table
размер файла:
ls -la file.txt
как видно, 1103699968
-rw-rw-r-- 1 shiva shiva 1103699968 Jun 21 15:00 file.txt
и скопируйте его на устройство:
sudo dd if=file.txt of=/dev/sdb
через несколько минут он сказал:
dd: writing to `/dev/sdb': No space left on devicel
и в короткие сроки
1984001+0 records in
1984000+0 records out
1015808000 bytes (1.0 GB) copied, 451.234 s, 2.3 MB/s
Как можно видеть, раздел исчез даже после копирования короткого фрагмента на устройство, я предполагаю, что достаточно отправить всего один случайный байт, чтобы уничтожить файловую систему, и он не покажет раздел, но все равно может быть выгружен dd
. Поэтому, если вы хотите стереть все ваше устройство без возможности найти какие-либо данные на нем, то лучше "перезаписать" его полностью, с полным размером устройства.