Openssl, похоже, не сработал для меня. Я получил «неизвестные варианты» и другие вопросы с предоставленными решениями. Так что я закончил с программой Фио.
fio -name="fill" -ioengine=libaio -direct=1 -bs=512m -rw=write -iodepth=4 -size=100% -filename=/dev/md0
Для выполнения 19TB на 24 жестких дисках требуется 3 часа. Так что примерно 1 800 МБ/с
smp-016:~ # fdisk -l /dev/md0
Disk /dev/md0: 18890.1 GB, 18890060464128 bytes
smp-016:~ # fio -name="fill" -ioengine=libaio -direct=1 -bs=512m -rw=write -iodepth=4 -size=100% -filename=/dev/md0
fill: (g=0): rw=write, bs=512M-512M/512M-512M/512M-512M, ioengine=libaio, iodepth=4
fio-2.2.10
Starting 1 process
Jobs: 1 (f=1): [W(1)] [2.7% done] [0KB/1536MB/0KB /s] [0/3/0 iops] [eta 03h:01m:11s]
я надеюсь, что это на самом деле случайные данные. На странице fio написано «По умолчанию: заполняйте буферы случайными данными». http://linux.die.net/man/1/fio
Я делаю это не в целях безопасности/шифрования, просто пытаясь убедиться, что мои последующие тесты чтения являются фактическими данными, а не только 0. Эта же команда fio может использоваться для предварительной подготовки SSD/NVMe. Как только использование/dev/zero может привести к сжатию диска «жульничество» сколько на самом деле написано. Хотя я бы добавил к нему флаг -loops = 2
, если это новый твердотельный накопитель для бенчмаркинга.
Если вы хотите, чтобы он был защищен, вы можете использовать -randrepeat = bool
, так как это будет переключать "Затенение генератора случайных чисел предсказуемым путь, так что результаты повторяются на всех этапах. По умолчанию: правда "., но я до сих пор не уверен, насколько это было бы безопасно.
Кроме того, некоторые жесткие диски корпоративного класса содержат диски SED (Self Encrypting Drives), что позволит Вам быстро и безопасно использовать ключ шифрования для удаления всех записанных данных.
Наконец, в прошлом я использовал DBAN (или Darik's Boot и Nuke), который имеет загрузочные возможности CD и USB и "является проектом с открытым исходным кодом, размещенным на SourceForge. Программа предназначена для безопасного удаления жесткого диска до тех пор, пока его данные не будут окончательно удалены и не станут недоступными для восстановления "
-121--30153-
Проблемы воспроизведения сводятся к поставщику libc. А именно, это кажется его жучком в uclibc; см: https://bugs.busybox.net/show_bug.cgi?id=4099
При определенных обстоятельствах вырезка печатает первый символ поля 1 и все 2 поля, когда говорят напечатать поле 2 - так, например,
printf "4123\t2\t3\t4\t5\n" | cut -f 2
распечатывает 42; не только 2. Я пробежал стрекот, и это показало, что стриж печатает всю линию.
Ошибка, кажется, связана с тем, как она хочет обрабатывать строки без разделителей; так что работа вокруг сейчас использует флаг «-s»; например:
printf "4123\t2\t3\t4\t5\n" | cut -f 2 -s
, который печатает '2', как и ожидалось.
Я полагаю, что большинство людей, столкнувшихся с этим, используют buildroot; и я бы рекомендовал изменить конфигурацию uclibc согласно этой ссылке. В основном это просто означает:
make uclibc-menuconfig
Select y for 'String and Stdio Support --> Provide a macro version of [getc|putc]'
заметьте, что поскольку это меняет реализацию libc; вероятно, разумно также восстановить в основном все.
-121--209703-
Вы можете создать что-то вроде /var/empty
и использовать его для всех пользователей системы, или просто указать что-то вроде /dev/null
в качестве их домашнего каталога. Я использую последний для системных пользователей, которые просто запускают один двоичный (часто сервис). Если программа хочет что-то сохранить, я указываю /srv/app
, где app
является именем программы, и создаю для него каталог.
Если для таких программ, как useradd
, требуется указать домашний каталог,укажите /var/empty
и создайте этот каталог как root: root 0755. В противном случае просто укажите что-то недопустимое, но наверняка существующее, поскольку это файл или каталог. Также рекомендуется указать /bin/false
в качестве оболочки входа, хотя ее легко переопределить.
Или просто укажите /
. Неважно, куда УР укажет, если вы хотите, чтобы они не писали вещи, быть в /
нормально, как быть в /var/пустой
например.
После того, как пользователь almendrico указал мне путь, я использовал:
sed 's/[\:]//g'
, чтобы удалить символ :
.
Не очень элегантно, но работает.