Как стереть свободное место на диске в Linux?

236326
Alex B

Когда файл удален, его содержимое все равно может остаться в файловой системе, если явно не перезаписано чем-то другим. Команда wipeможет безопасно удалять файлы, но не позволяет стереть свободное дисковое пространство, не используемое никакими файлами.

Что я должен использовать для достижения этой цели?

133
Единственным безопасным решением может быть сохранение ваших файлов в другом месте, стирание всего раздела, воссоздание файловой системы, а затем восстановление ваших файлов. Я запустил [photorec] (http://www.cgsecurity.org/wiki/PhotoRec) и был шокирован тем, сколько вещей можно извлечь даже после «очистки» свободного места. Компромиссное решение состоит в том, чтобы переместить левую границу раздела на 6% от его размера после того, как вычистили явно свободное пространство. user39559 14 лет назад 0

16 ответов на вопрос

100
fnord_ix

Предупреждение. Современное дисковое / SSD-оборудование и современные файловые системы могут сжимать данные в местах, где вы не можете их удалить, поэтому этот процесс может все же оставить данные на диске. Единственными безопасными способами удаления данных являются команда ATA Secure Erase (если она реализована правильно) или физическое уничтожение. Также см. Как я могу надежно стереть всю информацию на жестком диске?

Вы можете использовать набор инструментов, который называется secure-delete.

sudo apt-get install secure-delete 

Это имеет четыре инструмента:

srm- надежно удалить существующий файл
smem- надежно удалить следы файла из оперативной памяти
sfill- стереть все пространство, помеченное как пустое на вашем жестком диске
sswap- стереть все данные из пространства подкачки.

Из справочной страницы srm

srm предназначен для безопасного удаления данных на носителях, которые не могут быть восстановлены ворами, правоохранительными органами или другими угрозами. Алгоритм очистки основан на статье «Безопасное удаление данных из магнитной и твердотельной памяти», представленной на 6-м симпозиуме по безопасности Usenix Питером Гутманом, одним из ведущих гражданских криптографов.

Процесс безопасного удаления данных в srm выглядит следующим образом:

  • 1 проход с 0xff
  • 5 случайных проходов. /dev/urandomиспользуется для безопасного RNG, если доступно.
  • 27 проходов со специальными значениями, определенными Питером Гутманом.
  • 5 случайных проходов. /dev/urandomиспользуется для безопасного RNG, если доступно.
  • Переименуйте файл в случайное значение
  • Усекать файл

В качестве дополнительной меры безопасности файл открывается в режиме O_SYNC и после каждого прохода выполняется fsync()вызов. srmзаписывает 32k блоков с целью увеличения скорости, заполняя буферы дисковых кешей, чтобы заставить их сбрасывать и перезаписывать старые данные, которые принадлежали файлу.

Трудно найти текущую "официальную" домашнюю страницу безопасного удаления. Возможно, более старая версия утверждает, что сообщений об ошибках нет, но в то же время нет открытой системы отслеживания ошибок, где я мог бы сообщить об обнаруженной ошибке. На домашней странице безопасного удаления также указывается, что она может ** не ** стереть все неиспользуемые блоки данных, в зависимости от используемой вами файловой системы, что верно. user39559 14 лет назад 5
С современными жесткими дисками (размером более 20 ГБ) совершенно бесполезно делать несколько проходов и ждать целую вечность. Поэтому установка специализированных инструментов также стала бесполезной (что может объяснить, почему безопасное удаление больше не имеет домашней страницы). Просто сделайте это из соответствующего раздела: `cat / dev / zero> nosuchfile; рм носучфиле`. mivk 12 лет назад 10
@mivk: Почему бесполезно делать больше, чем один проход? И почему использовать / dev / zero вместо / dev / random? Это из-за проблем со скоростью? naught101 11 лет назад 1
Использование / dev / zero намного быстрее. Если вы пишете свободное место из / dev / random, ядро ​​должно генерировать все эти случайные данные на лету. Это интересный способ наблюдать, как средняя нагрузка поднимается до максимума ... dafydd 11 лет назад 5
Ответ на вопрос о необходимости нескольких вайпов можно найти здесь: [Почему запись нулей (или случайных данных) на жесткий диск в несколько раз лучше, чем одноразовое выполнение?) (Http://security.stackexchange.com/questions/10464 / почему-это-тетради нули или-случайные данные над-а-жесткий диск несколько раза-лучше-я) sleske 10 лет назад 2
Заполнение диска нулями дает дополнительное преимущество восстановления потерянного пространства с виртуального диска виртуальной машины, когда этот диск хранится на томе ZFS. В настоящее время у меня есть один, который имеет видимый размер 8,9 ГБ, но потребляет 968 МБ в соответствии с ZFS после использования этого метода. haventchecked 8 лет назад 1
Я нашел это сообщение 7 лет и 10 месяцев с тех пор, как вы его опубликовали. Должен любить эту базу данных. TNX. SDsolar 7 лет назад 1
67
David Spillett

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

cat /dev/zero > zero.file sync rm zero.file 

(запускается из каталога в файловой системе, которую вы хотите стереть)
(эта syncкоманда является мерой паранойи, которая обеспечивает запись всех данных на диск - интеллектуальный менеджер кэша может сработать, что он может отменить запись для любых ожидающих блоков, когда файл не связан )

Во время этой операции будет время, когда в файловой системе вообще не будет свободного места, которое может составлять десятки секунд, если результирующий файл имеет большой размер и фрагментирован, поэтому удаление занимает некоторое время. Чтобы уменьшить время, когда свободное пространство полностью равно нулю:

dd if=/dev/zero of=zero.small.file bs=1024 count=102400 cat /dev/zero > zero.file sync rm zero.small.file rm zero.file 

Этого должно быть достаточно, чтобы кто-то не мог прочитать содержимое старого файла без дорогостоящей криминалистической операции. Для более безопасного, но более медленного варианта замените /dev/zeroна /dev/urandom. Для большей паранойи выполните несколько шагов с помощью /dev/urandom, хотя, если вам нужно столько усилий, shredутилита из пакета coreutils - это путь:

dd if=/dev/zero of=zero.small.file bs=1024 count=102400 shred -z zero.small.file cat /dev/zero > zero.file sync rm zero.small.file shred -z zero.file sync rm zero.file 

Обратите внимание, что в приведенном выше примере маленький файл измельчается перед созданием большего, поэтому его можно удалить, как только завершится создание большего, вместо того, чтобы ждать, пока он будет уничтожен, оставляя файловую систему с нулевым свободным пространством на время, которое занимает. Процесс уничтожения занимает много времени над большим файлом, и если вы не пытаетесь что-то скрыть от АНБ, на самом деле IMO не требуется.

Все вышеперечисленное должно работать на любой файловой системе.

Ограничения на размер файла:

Как отмечает DanMoulding в комментарии ниже, это может иметь проблемы с ограничением размера файла в некоторых файловых системах.

Для FAT32 это определенно будет проблемой из-за ограничения в 2 ГБ: большинство томов больше, чем сегодня (8 ТБ - это ограничение размера тома IIRC). Вы можете обойти эту проблему, cat /dev/zeroпропуская большие выходные данные, splitчтобы сгенерировать несколько небольших файлов и соответственно настроить этапы уничтожения и удаления.

С ext2 / 3/4 это не так важно: при использовании стандартного / общего блока 4K ограничение размера файла составляет 2 ТБ, поэтому для этого потребуется большой объем (максимальный размер тома в этих условиях это 16TiB).

С (все еще экспериментальными) btrfs максимальный размер файла и тома составляют огромные 16EiB.

Под NTFS максимальная длина файла в некоторых случаях даже превышает максимальную длину тома.

Начальные точки для получения дополнительной информации:
http://en.wikipedia.org/wiki/Ext3#Size_limits
http://en.wikipedia.org/wiki/Btrfs
http://en.wikipedia.org/wiki/Ntfs#Scalability

Виртуальные устройства

Как недавно упоминалось в комментариях, существуют дополнительные соображения для виртуальных устройств:

  • Для редко выделяемых виртуальных дисков другие методы, такие как используемые, zerofreeбудут быстрее (хотя в отличие от этого, catи ddэто не стандартный инструмент, на который можно положиться в значительной степени в любой Unix-подобной ОС).

  • Имейте в виду, что обнуление блока на разреженном виртуальном устройстве может не стереть блок на базовом физическом устройстве, на самом деле я бы даже сказал, что это маловероятно - диспетчер виртуальных дисков просто сделает блок больше не используемым так что это может быть выделено на что-то еще позже.

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

  • Для перечисленных выше проблем на виртуальных устройствах: если вы не управляете хостами и не можете безопасно стереть их нераспределенное пространство после очистки дисков в виртуальной машине или перемещения виртуального устройства, вы ничего не можете с этим поделать после факт. Единственный выход - использовать полное шифрование диска с самого начала.так что ничто в незашифрованном виде не записано на физическом носителе. Конечно, в VM все еще может потребоваться очистка свободного пространства. Также обратите внимание, что FDE может сделать разреженные виртуальные устройства гораздо менее полезными, так как уровень виртуализации не может реально увидеть, какие блоки не используются. Если уровень файловой системы ОС отправляет команды обрезки на виртуальное устройство (как если бы это был SSD), и виртуальный контроллер интерпретирует их, то это может решить эту проблему, но я не знаю каких-либо обстоятельств, где это действительно происходит, и более широких обсуждение этого вопроса в другом месте (мы уже близки к тому, чтобы не обсуждать первоначальный вопрос, поэтому, если это вызвало у вас интерес, возможно, стоит поэкспериментировать и / или последующие вопросы).

Простое обнуление, по-видимому, также можно выполнить с помощью инструментов `secure-delete`: использование` sfill -llz` сводит всю процедуру к одному проходу, который записывает только 0. foraidt 14 лет назад 4
Это займет некоторое время. Это действительно самый быстрый способ? Я предполагаю, что запись ГБ данных всегда займет некоторое время ... endolith 13 лет назад 0
@endolith: если вы хотите очистить свободное пространство в активной файловой системе, вы не сможете обойтись без необходимости записи такого количества данных через служебную файловую систему. Инструменты безопасного удаления, предложенные fnord_ix, могут быть быстрее, потому что они оптимизированы для этого типа задач. David Spillett 13 лет назад 2
Почему «дд», а не «пв»? pbies 10 лет назад 0
@pmbiesiada: где `dd` используется выше, он будет работать только очень короткое время, поэтому индикатор прогресса` pv` малопригоден. Также `pv` не так универсально доступен, как` dd` и `cat`. Вы можете заменить экземпляры `cat` на` pv`, хотя он скажет вам только то, что он сделал, а не то, что он оставил, и ETA. `shred` имеет опцию для отображения% готового по мере того, как он прогрессирует, если вы хотите более внимательно следить за процессом, чем просто отключить его и ждать его завершения. David Spillett 10 лет назад 0
Есть ли какие-либо опасения, связанные с максимальным размером файла? Может ли zero.file достичь такого предела до того, как все свободное место на диске будет использовано? Dan Moulding 10 лет назад 0
@DanMoulding: это будет зависеть от используемой вами файловой системы. Для FAT32 это определенно было бы проблемой (ограничение файла 2 ГБ, ограничение размера тома 8 ТБ), причем ext2 / 3/4 меньше, поэтому: при использовании стандартного / общего блока 4 КБ ограничение размера файла составляет 2 ТБ, поэтому вам нужно иметь * Огромный * объем для этой проблемы (максимальный размер тома в этих условиях составляет 16 ТБ). Под NTFS максимальная длина файла в некоторых случаях даже превышает максимальную длину тома. См. Http://en.wikipedia.org/wiki/Ext3#Size_limits и http://en.wikipedia.org/wiki/Ntfs#Scalability среди других ссылок. David Spillett 10 лет назад 0
Я вставил бы `sync` перед командами` rm` в ваших примерах. Без синхронизации большая часть данных может быть удалена непосредственно из дискового кэша в ОЗУ, прежде чем будет фактически записана на жесткий диск. pabouk 8 лет назад 0
@pabouk: хорошее предложение, я обновил примеры соответственно. David Spillett 8 лет назад 0
[`zerofree`] (http://manpages.ubuntu.com/manpages/trusty/man8/zerofree.8.html) документация конкретно говорит, что это быстрее, чем этот метод, так что это не« самый быстрый способ ». endolith 8 лет назад 0
@endolith: из описания на справочной странице я бы ожидал, что вариант zerofree будет быстрее только для редко выделяемых виртуальных дисков, на самом деле он может быть медленнее на реальных или виртуальных дисках фиксированного размера, если он выполняет чтение перед записью подтвердить, что в блоке нет контента. Всплывающее окно для виртуального диска также не должно происходить, так как большинство редких драйверов дисков принимают все нули как «не выделяйте этот блок». Кроме того, `cat` и` dd` доступны практически во всех unix-a-подобных ОС, так как они считаются стандартными инструментами, где `zerofree`, вероятно, нет, если только они не были явно добавлены. David Spillett 8 лет назад 2
@endolith: сказав выше, `zerofree`, безусловно, будет работать, конечно," вся файловая система временно заполнена ", упомянутая в man-странице (почти, но не совсем смягченная покерным набором small.file в моих примерах) * Это * реальная проблема *, если * вы делаете это в текущей активной системе, и `zerofree` действительно будет быстрее в конкретном случае, для которого он оптимизирован: для редко выделяемых виртуальных блочных устройств. Хотя вы не можете полагаться на какие-либо операции очистки виртуального устройства в целях безопасности: единственный верный ответ в этом случае - полное шифрование устройства с самого начала. David Spillett 8 лет назад 1
Я все в пользу паранойи и вообще портативных решений. Но мне кажется, что (1) если у вас достаточно мало свободного места, вы получаете довольно мало при двухэтапном подходе (маленький и все остальное), и (2) если у вас много свободного пространства, это * ** вероятно *** безопасно удалить небольшой файл перед `` синхронизацией``. Команда `sync` * должна * блокироваться до тех пор, пока не будут записаны все данные, поэтому, если вы сделаете это в первую очередь, вам все равно придется подождать некоторое время, прежде чем вы снова начнете получать бесплатные блоки. … (Продолжение) Scott 5 лет назад 0
(Продолжение) ... Но, если второй `cat` (создающий большой` zero.file`) занимает много времени (и записывает * много * блоков), то есть хороший шанс, что все блоки, которые ` Запись dd в `zero.small.file` будет * фактически * записана на диск к моменту завершения` cat`. Конечно, нет никаких гарантий; если ты параноик, будь параноиком. … (Продолжение) Scott 5 лет назад 0
(Продолжение)… (3) Я спрашиваю, насколько двухстадийный подход действительно приносит вам пользу. Если свободное пространство фрагментировано, то запись файла займет много времени; но удаление фрагментированного файла, который приводит к результатам, не должно занять много времени. Ядру не нужно перечитывать блоки * data *; все, что нужно сделать, это прочитать *** косвенные *** блоки, и он может поместить прямые блоки в свободный список * в памяти. * Scott 5 лет назад 0
PS Для тех из нас, кто живет в США, АНБ на самом деле не должно вызывать беспокойства - это большой плохой призрак шпионских триллеров. Американцам нужно беспокоиться о ФБР, которое, вероятно, имеет такой же доступ к технологиям, как и АНБ. Или, в вашем случае, Скотланд-Ярд и / или MI5. Scott 5 лет назад 0
41
user39559

ПРЕДУПРЕЖДЕНИЕ

Я был в шоке от того, сколько файлов photorec мог извлечь с моего диска, даже после очистки.

Вопрос о том, будет ли больше безопасности при заполнении «свободного пространства» только один раз 0x00 или 38 раз различными каббалистическими стандартами, является скорее академической дискуссией. Автор оригинальной статьи о измельчении в 1996 году написал себе эпилог, в котором говорится, что это устарело и не нужно для современного оборудования. Не зарегистрировано случаев, когда данные физически заменяли нули и впоследствии восстанавливались.

Истинная хрупкая ссылка в этой процедуре - файловая система . Некоторые файловые системы резервируют пространство для специального использования, и оно не доступно как «свободное место». Но ваши данные могут быть там . Это включает в себя фотографии, личные текстовые электронные письма, что угодно. Я только что гуглил зарезервировано + пробел + ext4 и узнал, что 5% моего homeраздела зарезервировано. Я думаю, это то, где photorecнашли так много моих вещей. Вывод: метод измельчения не самый важный, даже многопроходный метод все еще оставляет данные на месте .

Вы можете попробовать # tune2fs -m 0 /dev/sdn0перед установкой. (Если это будет корневой раздел после перезагрузки, обязательно запустите -m 5или -m 1после размонтирования его).

Но, тем не менее, так или иначе, может остаться место.

Единственный действительно безопасный способ - стереть весь раздел, снова создать файловую систему, а затем восстановить файлы из резервной копии.


Быстрый способ (рекомендуется)

Запустите из каталога в файловой системе, которую вы хотите стереть:

dd if=/dev/zero of=zero.small.file bs=1024 count=102400 dd if=/dev/zero of=zero.file bs=1024 sync ; sleep 60 ; sync rm zero.small.file rm zero.file 

Примечания: цель маленького файла - сократить время, когда свободное место полностью равно нулю; Цель синхронизации - убедиться, что данные действительно записаны.

Это должно быть достаточно хорошо для большинства людей.

Медленный путь (параноик)

Не было зарегистрировано ни одного случая восстановления данных после вышеуказанной очистки. Это было бы дорого и требовательно к ресурсам, если вообще возможно.

Тем не менее, если у вас есть основания полагать, что секретные агентства потратят много ресурсов на восстановление ваших файлов, этого должно быть достаточно:

dd if=/dev/urandom of=random.small.file bs=1024 count=102400 dd if=/dev/urandom of=random.file bs=1024 sync ; sleep 60 ; sync rm random.small.file rm random.file 

Это занимает гораздо больше времени.

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

Очень медленный путь (сумасшедший параноик)

Даже автор оригинальной статьи 1996 года о измельчении написал эпилог, в котором говорится, что это устарело и не нужно для современного оборудования.

Но если у вас еще есть много свободного времени, и вы не возражаете тратить свой диск на перезапись, то это так:

dd if=/dev/zero of=zero.small.file bs=1024 count=102400 sync ; sleep 60 ; sync shred -z zero.small.file dd if=/dev/zero of=zero.file bs=1024 sync ; sleep 60 ; sync rm zero.small.file shred -z zero.file sync ; sleep 60 ; sync rm zero.file 

Примечание: это по сути эквивалентно использованию инструмента безопасного удаления.


Перед редактированием этот пост был переписан Дэвидом Спиллеттом. Команда "cat" выдает сообщение об ошибке, но я не могу писать комментарии к постам других людей.

Вы можете комментировать посты других людей с [50 репутацией] (http://superuser.com/faq#reputation). Gnoupi 14 лет назад 0
Ожидается, что команда `cat` выдаст ошибку" не осталось места "в моих примерах в конце выполнения. Вы можете скрыть это, перенаправив stderr в `/ dev / null`, если это проблема. Я обычно использую `pv` вместо` cat` или `dd` для такого рода вещей, чтобы получить полезную информацию о прогрессе. David Spillett 13 лет назад 1
`... вызывает подозрение, что это на самом деле зашифрованные данные. Вы можете умереть под пытками за то, что не раскрыли ключ расшифровки. Хех, это именно то, о чем я думал. Я думаю, это означает, что я параноик ... Navin 10 лет назад 4
`/: запись не удалась, файловая система переполнена` во FreeBSD Alex G 8 лет назад 0
Root всегда может использовать зарезервированное пространство. Таким образом, если вы выполните заполнение нулями от имени пользователя root, вы также сможете заполнить 5% зарезервированного пространства; мелодии не нужны. Все еще возможно, что могут быть данные в других частях файловой системы. Nate Eldredge 8 лет назад 2
25
osgx

По крайней мере, в Ubuntu есть нулевая утилита:

http://manpages.ubuntu.com/manpages/natty/man8/zerofree.8.html

 zerofree — zero free blocks from ext2/3 file-systems  zerofree finds the unallocated, non-zeroed blocks in an ext2 or ext3 filesystem (e.g. /dev/hda1) and fills them with zeroes. This is useful if the device on which this file-system resides is a disk image. In this case, depending on the type of disk image, a secondary utility may be able to reduce the size of the disk image after zerofree has been run.  The usual way to achieve the same result (zeroing the unallocated blocks) is to run dd (1) to create a file full of zeroes that takes up the entire free space on the drive, and then delete this file. This has many disadvantages, which zerofree alleviates:  · it is slow;  · it makes the disk image (temporarily) grow to its maximal extent;  · it (temporarily) uses all free space on the disk, so other concurrent write actions may fail.  filesystem has to be unmounted or mounted read-only for zerofree to work. It will exit with an error message if the filesystem is mounted writable. To remount the root file-system readonly, you can first switch to single user runlevel (telinit 1) then use mount -o remount,ro filesystem. 

Также проверьте эту ссылку о zerofree: Хранение изображений файловой системы редкими - это от ее автора - Рон Йорстон (9 августа 2012)

Важно, чтобы файловая система была размонтирована или смонтирована только для чтения, чтобы работа была нулевой. AntonioK 8 лет назад 2
Было бы неплохо включить некоторую информацию о том, как это сделать, в корневой файловой системе. Мне кажется, что это не сработает, потому что вам придется размонтировать файловую систему, одновременно запуская инструмент из указанной файловой системы. Ant6n 7 лет назад 0
Это также идет с CentOS davidgo 5 лет назад 0
3

Вот как это сделать с помощью графического интерфейса.

  1. Установить BleachBit
  2. Запустите от имени пользователя root, выбрав Приложения - Системные инструменты - BleachBit от имени администратора.
  3. В настройках укажите, какие пути вы хотите. Как правило, он угадает их хорошо. Вы хотите включить один доступный для записи путь для каждого раздела. Обычно это / home / username и / tmp, если только они не являются одним и тем же разделом, в этом случае просто выберите один.
  4. Установите флажок Система - Wipe Free Disk Space.
  5. Нажмите Удалить.

Преимущество BleachBit над dd (что в противном случае очень приятно) заключается в том, что, когда диск, наконец, заполнен, BleachBit создает небольшие файлы для очистки inode (которые содержат метаданные, такие как имена файлов и т. Д.).

[Inspect] (http://sourceforge.net/p/bleachbit/code/2863/tree/trunk/bleachbit/FileUtilities.py#l492) Python-код Bleachbit с открытым исходным кодом для стирания свободного пространства с диска для себя. shadowbq 11 лет назад 0
3
kenorb

Вы можете стереть свое свободное место с помощью безопасного пакета удаления.

В этом пакете вы можете найти sfillинструмент, который предназначен для безопасного удаления данных, которые находятся на доступном дисковом пространстве на носителях, и которые не могут быть восстановлены ворами, правоохранительными органами или другими угрозами.

Чтобы установить пакет безопасного удаления в Linux (Ubuntu), установите его с помощью следующей команды:

$ sudo apt-get install secure-delete 

Затем, чтобы стереть ваши данные без свободного места, попробуйте следующую команду:

sfill -f -v -ll /YOUR_MOUNTPOINT/OR_DIRECTORY 

Где / YOUR_MOUNTPOINT / OR_DIRECTORY - это точка монтирования ( df -h, mount) или каталог для удаления свободного места.

Прочтите руководство по адресу http://manpages.ubuntu.com/manpages/hardy/man1/sfill.1.html.

2
dmckee

Я использую, ddчтобы выделить один или несколько больших файлов, чтобы заполнить свободное пространство, а затем использую утилиту безопасного удаления.

Чтобы разместить файлы с помощью dd, попробуйте:

dd if=/dev/zero of=delete_me bs=1024 count=102400 

Это создаст файл с именем delete_meразмером 100 МБ. (Здесь bs«размер блока» установлен в 1k, и countэто количество блоков для выделения.)

Затем используйте вашу любимую утилиту безопасного удаления (которую я использовал shred) для созданных файлов.

Но ОБРАТИТЕ ВНИМАНИЕ: буферизация означает, что даже если вы делаете весь диск, вы можете получить не все!


Эта ссылка рекомендует scrubдля очистки свободного пространства. Не пробовал это.

О, если мне не изменяет память, я однажды попробовал `scrub ', и это повредило всю файловую систему. К счастью, у меня был хороший смысл сначала экспериментировать с тестовой файловой системой, а не с моими реальными данными. landroni 10 лет назад 0
2
dkaylor

Возможно, в вашей системе уже установлен пакет GNU coreutils . Это обеспечивает командный клочок .

Шред не очистит неиспользуемое дисковое пространство, не превратив его в файлы ... dmckee 15 лет назад 3
2
Roger Lawhorn

Wipe a drive at top speed.

Typical instructions for encrypting a drive nowadays will tell you to first WIPE the drive.

The command below will fill your drive with AES ciphertext.

Use a live CD if you need to wipe your main boot drive.

Open a terminal and elevate your privileges:

sudo bash 

Let us list all drives on the system to be safe:

cat /proc/partitions 

NOTE: Replace /dev/sd with the device you wish to wipe.

WARNING: This is not for amateurs! You could make your system unbootable!!!

sudo openssl enc -aes-256-ctr -pass pass:"$(dd if=/dev/urandom bs=128 count=1 2>/dev/null | base64)" -nosalt < /dev/zero > /dev/sd 

I am stunned at how fast this is.

1
FMaz008

Проще использовать скраб :

scrub -X dump 

Это создаст dumpпапку в текущем местоположении и будет создавать файл, пока диск не будет заполнен. Вы можете выбрать шаблон с помощью -pопции ( nnsa|dod|bsi|old|fastold|gutmann).

Установить скраб нелегко ( см. Раздел «Форумы Ubuntu» ), но как только установка будет завершена, в вашей руке будет действительно ПРОСТОЙ и эффективный инструмент.

Если мне не изменяет память, я однажды попробовал `scrub`, и это повредило всю файловую систему. К счастью, у меня был хороший смысл сначала экспериментировать с тестовой файловой системой, а не с моими реальными данными. landroni 10 лет назад 0
Не знаю, что вы делали или что происходит, но вычищайте, в основном, создайте новый файл, пока он не заполнит файловую систему. Он не воспроизводит существующие файлы и не удаляет ни один из них (по крайней мере, не команду, которую я дал) ... FMaz008 10 лет назад 0
В самом деле. Попробовал `scrub -X dump_dir`, и, похоже, он работал хорошо. Кстати, установка на Ubuntu 14.04 очень проста: `apt-get install scrub`. landroni 10 лет назад 1