Коротка відповідь: вона зробить приблизно те, що ви хочете, і тоді нічого не вийде. Використання dd
ви працюєте на рівні нижче файлової системи, що означає, що будь-які обмеження, які застосовуються там, вже не мають значення (це не означає, що ядро не могло вам завадити цьому - але це не так). Деякий вміст файлової системи вже є в пам'яті, наприклад, ядро і сама dd
програма, а частина буде в кеші. Існує ймовірність того, що якщо система перебуває у багатокористувацькому режимі, деякі файли можуть бути записані назад під час роботи dd
, при умові, що вони фактично змінилися, і якщо ви перебуваєте під тиском пам’яті, деякі сторінки звідти також можуть бути замінені (вони повинні бути зашифровані і, таким чином, непридатні для використання після перезавантаження).
Більшість команд, які ви надали після цього, в тому числі reboot
- не були б у кеші, і тому вони не працюватимуть Тож якщо ви перебуваєте в режимі одиночного користувача, це буде дуже добре, якщо ви перебуваєте в режимі багатокористувача, воно видалить переважну більшість даних. В ідеалі ви повинні зробити це завантажено з іншого середовища (можливо, навіть зупинившись на initrd), щоб ви могли бути впевнені, звідки беруться всі записи.
Якщо ви хочете забезпечити безпечне стерти, це не зробить роботу, тому що все одно залишаться деякі сліди від оригінальних даних, якщо ви просто нулюєте їх. Зазвичай ви хочете до трьох випадкових записів, що означатиме копіювання /dev/urandom
замість /dev/zero
- набагато повільніше, але безпечніше. Деякі можуть запропонувати використовувати /dev/random
пристрій для "чистих" випадкових даних - ніяких псевдовипадкових - але для цього шанс когось вдасться зламати насіння PRNG і успішно замаскувати дані, по суті, незначний.
Якщо ви справді параноїк, вам потрібно кинути накопичувач у піч, щоб він знемагав / розряджався.