Как я могу уничтожить все диски, но / dev / sda и записать вывод в файл?

Вызов udevadm, вероятно, происходит из сценария /etc/init/udevtrigger.conf Upstart. Он выполняет udevadm settle, который просто спит, пока демона udevd не сообщит, что он завершил настройку узлов устройства для вашего оборудования. Таким образом, тот факт, что он спит, не указывает на проблему.

Основная цель запуска этой команды во время запуска заключается в том, что при ее завершении создается событие Upstart. Например, сценарий Upstart для подсистемы печати будет запущен после завершения скрипта udevtrigger, поскольку ему нужен доступ к узлам устройства сконфигурированных принтеров.

Другие инструменты, о которых вы говорите, действуют аналогично Способы: они спят до тех пор, пока не произойдет какое-то событие, а затем вернутся. Инструмент wait-for-root используется, чтобы подождать, пока устройство, содержащее корневую файловую систему, будет готово, и modprobe будет ждать, пока ядро ​​закончит загрузку данного модуля ядра.

1
задан 15 September 2016 в 19:52

1 ответ

Этот скрипт должен делать то, что вы хотите. Обратите внимание, что он должен выполняться как root!

#!/bin/bash
logpath="/home/ben/ProjectsInProgress/ShredLogs"
lsblk -l | grep -o '^sd[b-z] ' | while read f; do
    logfile="$logpath/$(hdparm -i "/dev/$f" | grep -oP "(?<=SerialNo=)\w+")"
    shred -fvz "$f" &> "$logfile"
done

Благодаря @terdon для обеспечения этой улучшенной версии (и, надеюсь, теперь исправленной).

Скажите, пожалуйста, m не очень мотивирован, чтобы проверить измельчение моих собственных дисков ...

2
ответ дан 23 May 2018 в 06:07

Другие вопросы по тегам:

Похожие вопросы: